mirror of
https://github.com/misode/misode.github.io.git
synced 2026-05-01 01:59:33 +00:00
Fix #319 keep unknown files when importing and downloading a project
This commit is contained in:
14
package-lock.json
generated
14
package-lock.json
generated
@@ -30,7 +30,7 @@
|
||||
"brace": "^0.11.1",
|
||||
"buffer": "^6.0.3",
|
||||
"comment-json": "^4.1.1",
|
||||
"deepslate": "^0.22.1",
|
||||
"deepslate": "^0.22.2",
|
||||
"deepslate-1.18": "npm:deepslate@0.9.0-beta.9",
|
||||
"deepslate-1.18.2": "npm:deepslate@0.9.0",
|
||||
"deepslate-1.20.4": "npm:deepslate@0.20.1",
|
||||
@@ -1629,9 +1629,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/deepslate": {
|
||||
"version": "0.22.1",
|
||||
"resolved": "https://registry.npmjs.org/deepslate/-/deepslate-0.22.1.tgz",
|
||||
"integrity": "sha512-3Zn4lIjyZfyHCIT1k37Eu3FAL+yI5G0a3DmA+7s+0tK13B2yS/sM1WdXVX/wUlUFo+KG74OYoeDP+mFgyZ7dpQ==",
|
||||
"version": "0.22.2",
|
||||
"resolved": "https://registry.npmjs.org/deepslate/-/deepslate-0.22.2.tgz",
|
||||
"integrity": "sha512-CVtKWBvOIHcONjx9TzggkR1dz5NGxRbN4AZUeg1Wzuo728rEI3BTgiwGl04bATa9pYvDJnniviiwMKqMcLInWw==",
|
||||
"dependencies": {
|
||||
"gl-matrix": "^3.3.0",
|
||||
"md5": "^2.3.0",
|
||||
@@ -5465,9 +5465,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"deepslate": {
|
||||
"version": "0.22.1",
|
||||
"resolved": "https://registry.npmjs.org/deepslate/-/deepslate-0.22.1.tgz",
|
||||
"integrity": "sha512-3Zn4lIjyZfyHCIT1k37Eu3FAL+yI5G0a3DmA+7s+0tK13B2yS/sM1WdXVX/wUlUFo+KG74OYoeDP+mFgyZ7dpQ==",
|
||||
"version": "0.22.2",
|
||||
"resolved": "https://registry.npmjs.org/deepslate/-/deepslate-0.22.2.tgz",
|
||||
"integrity": "sha512-CVtKWBvOIHcONjx9TzggkR1dz5NGxRbN4AZUeg1Wzuo728rEI3BTgiwGl04bATa9pYvDJnniviiwMKqMcLInWw==",
|
||||
"requires": {
|
||||
"gl-matrix": "^3.3.0",
|
||||
"md5": "^2.3.0",
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
"deepslate-1.18": "npm:deepslate@0.9.0-beta.9",
|
||||
"deepslate-1.18.2": "npm:deepslate@0.9.0",
|
||||
"deepslate-1.20.4": "npm:deepslate@0.20.1",
|
||||
"deepslate": "^0.22.1",
|
||||
"deepslate": "^0.22.2",
|
||||
"highlight.js": "^11.5.1",
|
||||
"howler": "^2.2.3",
|
||||
"js-yaml": "^3.14.1",
|
||||
|
||||
@@ -50,10 +50,15 @@ export function ProjectCreation({ onClose }: Props) {
|
||||
try {
|
||||
const data = await parseSource(entry[1], 'json')
|
||||
project.files!.push({ ...file, data })
|
||||
return
|
||||
} catch (e) {
|
||||
console.error(`Failed parsing ${file.type} ${file.id}: ${message(e)}`)
|
||||
console.warn(`Failed parsing ${file.type} ${file.id}: ${message(e)}`)
|
||||
}
|
||||
}
|
||||
if (project.unknownFiles === undefined) {
|
||||
project.unknownFiles = []
|
||||
}
|
||||
project.unknownFiles.push({ path: entry[0], data: entry[1] })
|
||||
}))
|
||||
projectUpdater.current(project)
|
||||
onClose()
|
||||
|
||||
@@ -77,6 +77,9 @@ export function ProjectPanel({ onRename, onCreate, onDeleteProject }: Props) {
|
||||
if (path === 'pack.mcmeta') hasPack = true
|
||||
return [[path, stringifySource(file.data)]] as [string, string][]
|
||||
})
|
||||
project.unknownFiles?.forEach(({ path, data }) => {
|
||||
entries.push([path, data])
|
||||
})
|
||||
if (!hasPack) {
|
||||
const pack_format = config.versions.find(v => v.id === version)!.pack_format
|
||||
entries.push(['pack.mcmeta', stringifySource({ pack: { pack_format, description: '' } })])
|
||||
|
||||
@@ -13,6 +13,7 @@ export type Project = {
|
||||
namespace?: string,
|
||||
version?: VersionId,
|
||||
files: ProjectFile[],
|
||||
unknownFiles?: UnknownFile[],
|
||||
}
|
||||
export const DRAFT_PROJECT: Project = {
|
||||
name: 'Drafts',
|
||||
@@ -26,6 +27,11 @@ export type ProjectFile = {
|
||||
data: any,
|
||||
}
|
||||
|
||||
export type UnknownFile = {
|
||||
path: string,
|
||||
data: string,
|
||||
}
|
||||
|
||||
export const FilePatterns = [
|
||||
'worldgen/[a-z_]+',
|
||||
'tags/worldgen/[a-z_]+',
|
||||
|
||||
Reference in New Issue
Block a user