@slicemachine/adapter-sveltekit 0.3.78-alpha.dependabot-npm-and-yarn-nuxt-3-16-0.1 → 0.3.78-alpha.lh-svelte5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs","sources":["../../src/plugin.ts"],"sourcesContent":["import path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nimport { defineSliceMachinePlugin } from \"@slicemachine/plugin-kit\";\nimport {\n\tdeleteCustomTypeDirectory,\n\tdeleteCustomTypeFile,\n\tdeleteSliceDirectory,\n\tdeleteSliceFile,\n\treadCustomTypeFile,\n\treadCustomTypeLibrary,\n\treadCustomTypeModel,\n\treadProjectEnvironment,\n\treadSliceFile,\n\treadSliceLibrary,\n\treadSliceModel,\n\treadSliceTemplateLibrary,\n\trenameSlice,\n\tupsertGlobalTypeScriptTypes,\n\twriteCustomTypeFile,\n\twriteCustomTypeModel,\n\twriteProjectEnvironment,\n\twriteSliceFile,\n\twriteSliceModel,\n} from \"@slicemachine/plugin-kit/fs\";\n\nimport { rejectIfNecessary } from \"./lib/rejectIfNecessary\";\nimport { upsertSliceLibraryIndexFile } from \"./lib/upsertSliceLibraryIndexFile\";\n\nimport { name as pkgName } from \"../package.json\";\nimport { PluginOptions } from \"./types\";\nimport {\n\tDEFAULT_ENVIRONMENT_VARIABLE_FILE_PATH,\n\tENVIRONMENT_VARIABLE_PATHS,\n\tPRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME,\n} from \"./constants\";\n\nimport { documentationRead } from \"./hooks/documentation-read\";\nimport { projectInit } from \"./hooks/project-init\";\nimport { sliceCreate } from \"./hooks/slice-create\";\nimport { snippetRead } from \"./hooks/snippet-read\";\n\nimport * as Hero from \"./sliceTemplates/Hero\";\nimport * as CallToAction from \"./sliceTemplates/CallToAction\";\nimport * as AlternateGrid from \"./sliceTemplates/AlternateGrid\";\nimport * as CustomerLogos from \"./sliceTemplates/CustomerLogos\";\n\nexport const plugin = defineSliceMachinePlugin<PluginOptions>({\n\tmeta: {\n\t\tname: pkgName,\n\t},\n\tdefaultOptions: {\n\t\tformat: true,\n\t\tgeneratedTypesFilePath: \"./src/prismicio-types.d.ts\",\n\t},\n\tsetup({ hook }) {\n\t\t////////////////////////////////////////////////////////////////\n\t\t// project:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"project:init\", projectInit);\n\t\thook(\"project:environment:update\", async (data, context) => {\n\t\t\tawait writeProjectEnvironment({\n\t\t\t\tvariableName: PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME,\n\t\t\t\tenvironment: data.environment,\n\t\t\t\tfilename:\n\t\t\t\t\tcontext.options.environmentVariableFilePath ||\n\t\t\t\t\tDEFAULT_ENVIRONMENT_VARIABLE_FILE_PATH,\n\t\t\t\thelpers: context.helpers,\n\t\t\t});\n\t\t});\n\t\thook(\"project:environment:read\", async (_data, context) => {\n\t\t\tconst projectEnvironment = await readProjectEnvironment({\n\t\t\t\tvariableName: PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME,\n\t\t\t\tfilenames: [\n\t\t\t\t\t...ENVIRONMENT_VARIABLE_PATHS,\n\t\t\t\t\tcontext.options.environmentVariableFilePath,\n\t\t\t\t].filter((filename): filename is NonNullable<typeof filename> =>\n\t\t\t\t\tBoolean(filename),\n\t\t\t\t),\n\t\t\t\thelpers: context.helpers,\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tenvironment: projectEnvironment.environment,\n\t\t\t};\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// slice:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"slice:create\", sliceCreate);\n\t\thook(\"slice:update\", async (data, context) => {\n\t\t\tawait writeSliceModel({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tmodel: data.model,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:rename\", async (data, context) => {\n\t\t\tawait renameSlice({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\trejectIfNecessary(\n\t\t\t\tawait Promise.allSettled([\n\t\t\t\t\tupsertSliceLibraryIndexFile({\n\t\t\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t\tupsertGlobalTypeScriptTypes({\n\t\t\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\t\t\tformat: context.options.format,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t]),\n\t\t\t);\n\t\t});\n\t\thook(\"slice:delete\", async (data, context) => {\n\t\t\tawait deleteSliceDirectory({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tmodel: data.model,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\trejectIfNecessary(\n\t\t\t\tawait Promise.allSettled([\n\t\t\t\t\tupsertSliceLibraryIndexFile({\n\t\t\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t\tupsertGlobalTypeScriptTypes({\n\t\t\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\t\t\tformat: context.options.format,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t]),\n\t\t\t);\n\t\t});\n\t\thook(\"slice:read\", async (data, context) => {\n\t\t\treturn await readSliceModel({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:asset:update\", async (data, context) => {\n\t\t\tawait writeSliceFile({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\tfilename: data.asset.id,\n\t\t\t\tcontents: data.asset.data,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:asset:delete\", async (data, context) => {\n\t\t\tawait deleteSliceFile({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:asset:read\", async (data, context) => {\n\t\t\tconst file = await readSliceFile({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tdata: file,\n\t\t\t};\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// slice-library:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"slice-library:read\", async (data, context) => {\n\t\t\treturn await readSliceLibrary({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// slice-template-library:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"slice-template-library:read\", async (data, context) => {\n\t\t\treturn await readSliceTemplateLibrary({\n\t\t\t\t...data,\n\t\t\t\t...context,\n\t\t\t\tdirName: path.dirname(fileURLToPath(new URL(import.meta.url))),\n\t\t\t\ttemplates: [Hero, CustomerLogos, AlternateGrid, CallToAction],\n\t\t\t\tcomponentFileNames: {\n\t\t\t\t\tjs: \"javascript.svelte\",\n\t\t\t\t\tts: \"typescript.svelte\",\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// custom-type:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"custom-type:create\", async (data, context) => {\n\t\t\tawait writeCustomTypeModel({\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:update\", async (data, context) => {\n\t\t\tawait writeCustomTypeModel({\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:rename\", async (data, context) => {\n\t\t\tawait writeCustomTypeModel({\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:delete\", async (data, context) => {\n\t\t\tawait deleteCustomTypeDirectory({\n\t\t\t\tcustomTypeID: data.model.id,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:read\", async (data, context) => {\n\t\t\treturn await readCustomTypeModel({\n\t\t\t\tcustomTypeID: data.id,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:asset:update\", async (data, context) => {\n\t\t\tawait writeCustomTypeFile({\n\t\t\t\tcustomTypeID: data.customTypeID,\n\t\t\t\tfilename: data.asset.id,\n\t\t\t\tcontents: data.asset.data,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:asset:delete\", async (data, context) => {\n\t\t\tawait deleteCustomTypeFile({\n\t\t\t\tcustomTypeID: data.customTypeID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:asset:read\", async (data, context) => {\n\t\t\tconst file = await readCustomTypeFile({\n\t\t\t\tcustomTypeID: data.customTypeID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tdata: file,\n\t\t\t};\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// custom-type-library:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"custom-type-library:read\", async (_data, context) => {\n\t\t\treturn await readCustomTypeLibrary({\n\t\t\t\thelpers: context.helpers,\n\t\t\t});\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// snippet:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"snippet:read\", snippetRead);\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// documentation:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"documentation:read\", documentationRead);\n\t},\n});\n"],"names":["defineSliceMachinePlugin","pkgName","projectInit","writeProjectEnvironment","PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME","DEFAULT_ENVIRONMENT_VARIABLE_FILE_PATH","readProjectEnvironment","ENVIRONMENT_VARIABLE_PATHS","sliceCreate","writeSliceModel","upsertGlobalTypeScriptTypes","renameSlice","rejectIfNecessary","upsertSliceLibraryIndexFile","deleteSliceDirectory","readSliceModel","writeSliceFile","deleteSliceFile","readSliceFile","readSliceLibrary","readSliceTemplateLibrary","fileURLToPath","Hero","CustomerLogos","AlternateGrid","CallToAction","writeCustomTypeModel","deleteCustomTypeDirectory","readCustomTypeModel","writeCustomTypeFile","deleteCustomTypeFile","readCustomTypeFile","readCustomTypeLibrary","snippetRead","documentationRead"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.cjs","sources":["../../src/plugin.ts"],"sourcesContent":["import path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nimport { defineSliceMachinePlugin } from \"@slicemachine/plugin-kit\";\nimport {\n\tdeleteCustomTypeDirectory,\n\tdeleteCustomTypeFile,\n\tdeleteSliceDirectory,\n\tdeleteSliceFile,\n\treadCustomTypeFile,\n\treadCustomTypeLibrary,\n\treadCustomTypeModel,\n\treadProjectEnvironment,\n\treadSliceFile,\n\treadSliceLibrary,\n\treadSliceModel,\n\treadSliceTemplateLibrary,\n\trenameSlice,\n\tupsertGlobalTypeScriptTypes,\n\twriteCustomTypeFile,\n\twriteCustomTypeModel,\n\twriteProjectEnvironment,\n\twriteSliceFile,\n\twriteSliceModel,\n} from \"@slicemachine/plugin-kit/fs\";\n\nimport { rejectIfNecessary } from \"./lib/rejectIfNecessary\";\nimport { upsertSliceLibraryIndexFile } from \"./lib/upsertSliceLibraryIndexFile\";\n\nimport { name as pkgName } from \"../package.json\";\nimport { PluginOptions } from \"./types\";\nimport {\n\tDEFAULT_ENVIRONMENT_VARIABLE_FILE_PATH,\n\tENVIRONMENT_VARIABLE_PATHS,\n\tPRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME,\n} from \"./constants\";\n\nimport { documentationRead } from \"./hooks/documentation-read\";\nimport { projectInit } from \"./hooks/project-init\";\nimport { sliceCreate } from \"./hooks/slice-create\";\nimport { snippetRead } from \"./hooks/snippet-read\";\n\nimport * as Hero from \"./sliceTemplates/Hero\";\nimport * as CallToAction from \"./sliceTemplates/CallToAction\";\nimport * as AlternateGrid from \"./sliceTemplates/AlternateGrid\";\nimport * as CustomerLogos from \"./sliceTemplates/CustomerLogos\";\nimport { checkIsSvelte5 } from \"./lib/checkIsSvelte5\";\n\nexport const plugin = defineSliceMachinePlugin<PluginOptions>({\n\tmeta: {\n\t\tname: pkgName,\n\t},\n\tdefaultOptions: {\n\t\tformat: true,\n\t\tgeneratedTypesFilePath: \"./src/prismicio-types.d.ts\",\n\t},\n\tsetup({ hook }) {\n\t\t////////////////////////////////////////////////////////////////\n\t\t// project:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"project:init\", projectInit);\n\t\thook(\"project:environment:update\", async (data, context) => {\n\t\t\tawait writeProjectEnvironment({\n\t\t\t\tvariableName: PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME,\n\t\t\t\tenvironment: data.environment,\n\t\t\t\tfilename:\n\t\t\t\t\tcontext.options.environmentVariableFilePath ||\n\t\t\t\t\tDEFAULT_ENVIRONMENT_VARIABLE_FILE_PATH,\n\t\t\t\thelpers: context.helpers,\n\t\t\t});\n\t\t});\n\t\thook(\"project:environment:read\", async (_data, context) => {\n\t\t\tconst projectEnvironment = await readProjectEnvironment({\n\t\t\t\tvariableName: PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME,\n\t\t\t\tfilenames: [\n\t\t\t\t\t...ENVIRONMENT_VARIABLE_PATHS,\n\t\t\t\t\tcontext.options.environmentVariableFilePath,\n\t\t\t\t].filter((filename): filename is NonNullable<typeof filename> =>\n\t\t\t\t\tBoolean(filename),\n\t\t\t\t),\n\t\t\t\thelpers: context.helpers,\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tenvironment: projectEnvironment.environment,\n\t\t\t};\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// slice:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"slice:create\", sliceCreate);\n\t\thook(\"slice:update\", async (data, context) => {\n\t\t\tawait writeSliceModel({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tmodel: data.model,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:rename\", async (data, context) => {\n\t\t\tawait renameSlice({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\trejectIfNecessary(\n\t\t\t\tawait Promise.allSettled([\n\t\t\t\t\tupsertSliceLibraryIndexFile({\n\t\t\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t\tupsertGlobalTypeScriptTypes({\n\t\t\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\t\t\tformat: context.options.format,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t]),\n\t\t\t);\n\t\t});\n\t\thook(\"slice:delete\", async (data, context) => {\n\t\t\tawait deleteSliceDirectory({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tmodel: data.model,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\trejectIfNecessary(\n\t\t\t\tawait Promise.allSettled([\n\t\t\t\t\tupsertSliceLibraryIndexFile({\n\t\t\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t\tupsertGlobalTypeScriptTypes({\n\t\t\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\t\t\tformat: context.options.format,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t]),\n\t\t\t);\n\t\t});\n\t\thook(\"slice:read\", async (data, context) => {\n\t\t\treturn await readSliceModel({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:asset:update\", async (data, context) => {\n\t\t\tawait writeSliceFile({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\tfilename: data.asset.id,\n\t\t\t\tcontents: data.asset.data,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:asset:delete\", async (data, context) => {\n\t\t\tawait deleteSliceFile({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:asset:read\", async (data, context) => {\n\t\t\tconst file = await readSliceFile({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tdata: file,\n\t\t\t};\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// slice-library:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"slice-library:read\", async (data, context) => {\n\t\t\treturn await readSliceLibrary({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// slice-template-library:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"slice-template-library:read\", async (data, context) => {\n\t\t\tconst isSvelte5 = await checkIsSvelte5({ helpers: context.helpers });\n\n\t\t\treturn await readSliceTemplateLibrary({\n\t\t\t\t...data,\n\t\t\t\t...context,\n\t\t\t\tdirName: path.dirname(fileURLToPath(new URL(import.meta.url))),\n\t\t\t\ttemplates: [Hero, CustomerLogos, AlternateGrid, CallToAction],\n\t\t\t\tcomponentFileNames: {\n\t\t\t\t\tjs: isSvelte5 ? \"javascript.5.svelte\" : \"javascript.svelte\",\n\t\t\t\t\tts: isSvelte5 ? \"typescript.5.svelte\" : \"typescript.svelte\",\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// custom-type:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"custom-type:create\", async (data, context) => {\n\t\t\tawait writeCustomTypeModel({\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:update\", async (data, context) => {\n\t\t\tawait writeCustomTypeModel({\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:rename\", async (data, context) => {\n\t\t\tawait writeCustomTypeModel({\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:delete\", async (data, context) => {\n\t\t\tawait deleteCustomTypeDirectory({\n\t\t\t\tcustomTypeID: data.model.id,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:read\", async (data, context) => {\n\t\t\treturn await readCustomTypeModel({\n\t\t\t\tcustomTypeID: data.id,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:asset:update\", async (data, context) => {\n\t\t\tawait writeCustomTypeFile({\n\t\t\t\tcustomTypeID: data.customTypeID,\n\t\t\t\tfilename: data.asset.id,\n\t\t\t\tcontents: data.asset.data,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:asset:delete\", async (data, context) => {\n\t\t\tawait deleteCustomTypeFile({\n\t\t\t\tcustomTypeID: data.customTypeID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:asset:read\", async (data, context) => {\n\t\t\tconst file = await readCustomTypeFile({\n\t\t\t\tcustomTypeID: data.customTypeID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tdata: file,\n\t\t\t};\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// custom-type-library:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"custom-type-library:read\", async (_data, context) => {\n\t\t\treturn await readCustomTypeLibrary({\n\t\t\t\thelpers: context.helpers,\n\t\t\t});\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// snippet:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"snippet:read\", snippetRead);\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// documentation:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"documentation:read\", documentationRead);\n\t},\n});\n"],"names":["defineSliceMachinePlugin","pkgName","projectInit","writeProjectEnvironment","PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME","DEFAULT_ENVIRONMENT_VARIABLE_FILE_PATH","readProjectEnvironment","ENVIRONMENT_VARIABLE_PATHS","sliceCreate","writeSliceModel","upsertGlobalTypeScriptTypes","renameSlice","rejectIfNecessary","upsertSliceLibraryIndexFile","deleteSliceDirectory","readSliceModel","writeSliceFile","deleteSliceFile","readSliceFile","readSliceLibrary","checkIsSvelte5","readSliceTemplateLibrary","fileURLToPath","Hero","CustomerLogos","AlternateGrid","CallToAction","writeCustomTypeModel","deleteCustomTypeDirectory","readCustomTypeModel","writeCustomTypeFile","deleteCustomTypeFile","readCustomTypeFile","readCustomTypeLibrary","snippetRead","documentationRead"],"mappings":"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"}
package/dist/plugin.js CHANGED
@@ -14,6 +14,7 @@ import * as index from "./sliceTemplates/Hero/index.js";
14
14
  import * as index$3 from "./sliceTemplates/CallToAction/index.js";
15
15
  import * as index$2 from "./sliceTemplates/AlternateGrid/index.js";
16
16
  import * as index$1 from "./sliceTemplates/CustomerLogos/index.js";
17
+ import { checkIsSvelte5 } from "./lib/checkIsSvelte5.js";
17
18
  const plugin = defineSliceMachinePlugin({
18
19
  meta: {
19
20
  name
@@ -137,14 +138,15 @@ const plugin = defineSliceMachinePlugin({
137
138
  });
138
139
  });
139
140
  hook("slice-template-library:read", async (data, context) => {
141
+ const isSvelte5 = await checkIsSvelte5({ helpers: context.helpers });
140
142
  return await readSliceTemplateLibrary({
141
143
  ...data,
142
144
  ...context,
143
145
  dirName: path__default.dirname(fileURLToPath(new URL(import.meta.url))),
144
146
  templates: [index, index$1, index$2, index$3],
145
147
  componentFileNames: {
146
- js: "javascript.svelte",
147
- ts: "typescript.svelte"
148
+ js: isSvelte5 ? "javascript.5.svelte" : "javascript.svelte",
149
+ ts: isSvelte5 ? "typescript.5.svelte" : "typescript.svelte"
148
150
  }
149
151
  });
150
152
  });
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["../../src/plugin.ts"],"sourcesContent":["import path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nimport { defineSliceMachinePlugin } from \"@slicemachine/plugin-kit\";\nimport {\n\tdeleteCustomTypeDirectory,\n\tdeleteCustomTypeFile,\n\tdeleteSliceDirectory,\n\tdeleteSliceFile,\n\treadCustomTypeFile,\n\treadCustomTypeLibrary,\n\treadCustomTypeModel,\n\treadProjectEnvironment,\n\treadSliceFile,\n\treadSliceLibrary,\n\treadSliceModel,\n\treadSliceTemplateLibrary,\n\trenameSlice,\n\tupsertGlobalTypeScriptTypes,\n\twriteCustomTypeFile,\n\twriteCustomTypeModel,\n\twriteProjectEnvironment,\n\twriteSliceFile,\n\twriteSliceModel,\n} from \"@slicemachine/plugin-kit/fs\";\n\nimport { rejectIfNecessary } from \"./lib/rejectIfNecessary\";\nimport { upsertSliceLibraryIndexFile } from \"./lib/upsertSliceLibraryIndexFile\";\n\nimport { name as pkgName } from \"../package.json\";\nimport { PluginOptions } from \"./types\";\nimport {\n\tDEFAULT_ENVIRONMENT_VARIABLE_FILE_PATH,\n\tENVIRONMENT_VARIABLE_PATHS,\n\tPRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME,\n} from \"./constants\";\n\nimport { documentationRead } from \"./hooks/documentation-read\";\nimport { projectInit } from \"./hooks/project-init\";\nimport { sliceCreate } from \"./hooks/slice-create\";\nimport { snippetRead } from \"./hooks/snippet-read\";\n\nimport * as Hero from \"./sliceTemplates/Hero\";\nimport * as CallToAction from \"./sliceTemplates/CallToAction\";\nimport * as AlternateGrid from \"./sliceTemplates/AlternateGrid\";\nimport * as CustomerLogos from \"./sliceTemplates/CustomerLogos\";\n\nexport const plugin = defineSliceMachinePlugin<PluginOptions>({\n\tmeta: {\n\t\tname: pkgName,\n\t},\n\tdefaultOptions: {\n\t\tformat: true,\n\t\tgeneratedTypesFilePath: \"./src/prismicio-types.d.ts\",\n\t},\n\tsetup({ hook }) {\n\t\t////////////////////////////////////////////////////////////////\n\t\t// project:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"project:init\", projectInit);\n\t\thook(\"project:environment:update\", async (data, context) => {\n\t\t\tawait writeProjectEnvironment({\n\t\t\t\tvariableName: PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME,\n\t\t\t\tenvironment: data.environment,\n\t\t\t\tfilename:\n\t\t\t\t\tcontext.options.environmentVariableFilePath ||\n\t\t\t\t\tDEFAULT_ENVIRONMENT_VARIABLE_FILE_PATH,\n\t\t\t\thelpers: context.helpers,\n\t\t\t});\n\t\t});\n\t\thook(\"project:environment:read\", async (_data, context) => {\n\t\t\tconst projectEnvironment = await readProjectEnvironment({\n\t\t\t\tvariableName: PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME,\n\t\t\t\tfilenames: [\n\t\t\t\t\t...ENVIRONMENT_VARIABLE_PATHS,\n\t\t\t\t\tcontext.options.environmentVariableFilePath,\n\t\t\t\t].filter((filename): filename is NonNullable<typeof filename> =>\n\t\t\t\t\tBoolean(filename),\n\t\t\t\t),\n\t\t\t\thelpers: context.helpers,\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tenvironment: projectEnvironment.environment,\n\t\t\t};\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// slice:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"slice:create\", sliceCreate);\n\t\thook(\"slice:update\", async (data, context) => {\n\t\t\tawait writeSliceModel({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tmodel: data.model,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:rename\", async (data, context) => {\n\t\t\tawait renameSlice({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\trejectIfNecessary(\n\t\t\t\tawait Promise.allSettled([\n\t\t\t\t\tupsertSliceLibraryIndexFile({\n\t\t\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t\tupsertGlobalTypeScriptTypes({\n\t\t\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\t\t\tformat: context.options.format,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t]),\n\t\t\t);\n\t\t});\n\t\thook(\"slice:delete\", async (data, context) => {\n\t\t\tawait deleteSliceDirectory({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tmodel: data.model,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\trejectIfNecessary(\n\t\t\t\tawait Promise.allSettled([\n\t\t\t\t\tupsertSliceLibraryIndexFile({\n\t\t\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t\tupsertGlobalTypeScriptTypes({\n\t\t\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\t\t\tformat: context.options.format,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t]),\n\t\t\t);\n\t\t});\n\t\thook(\"slice:read\", async (data, context) => {\n\t\t\treturn await readSliceModel({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:asset:update\", async (data, context) => {\n\t\t\tawait writeSliceFile({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\tfilename: data.asset.id,\n\t\t\t\tcontents: data.asset.data,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:asset:delete\", async (data, context) => {\n\t\t\tawait deleteSliceFile({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:asset:read\", async (data, context) => {\n\t\t\tconst file = await readSliceFile({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tdata: file,\n\t\t\t};\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// slice-library:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"slice-library:read\", async (data, context) => {\n\t\t\treturn await readSliceLibrary({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// slice-template-library:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"slice-template-library:read\", async (data, context) => {\n\t\t\treturn await readSliceTemplateLibrary({\n\t\t\t\t...data,\n\t\t\t\t...context,\n\t\t\t\tdirName: path.dirname(fileURLToPath(new URL(import.meta.url))),\n\t\t\t\ttemplates: [Hero, CustomerLogos, AlternateGrid, CallToAction],\n\t\t\t\tcomponentFileNames: {\n\t\t\t\t\tjs: \"javascript.svelte\",\n\t\t\t\t\tts: \"typescript.svelte\",\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// custom-type:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"custom-type:create\", async (data, context) => {\n\t\t\tawait writeCustomTypeModel({\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:update\", async (data, context) => {\n\t\t\tawait writeCustomTypeModel({\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:rename\", async (data, context) => {\n\t\t\tawait writeCustomTypeModel({\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:delete\", async (data, context) => {\n\t\t\tawait deleteCustomTypeDirectory({\n\t\t\t\tcustomTypeID: data.model.id,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:read\", async (data, context) => {\n\t\t\treturn await readCustomTypeModel({\n\t\t\t\tcustomTypeID: data.id,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:asset:update\", async (data, context) => {\n\t\t\tawait writeCustomTypeFile({\n\t\t\t\tcustomTypeID: data.customTypeID,\n\t\t\t\tfilename: data.asset.id,\n\t\t\t\tcontents: data.asset.data,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:asset:delete\", async (data, context) => {\n\t\t\tawait deleteCustomTypeFile({\n\t\t\t\tcustomTypeID: data.customTypeID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:asset:read\", async (data, context) => {\n\t\t\tconst file = await readCustomTypeFile({\n\t\t\t\tcustomTypeID: data.customTypeID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tdata: file,\n\t\t\t};\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// custom-type-library:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"custom-type-library:read\", async (_data, context) => {\n\t\t\treturn await readCustomTypeLibrary({\n\t\t\t\thelpers: context.helpers,\n\t\t\t});\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// snippet:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"snippet:read\", snippetRead);\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// documentation:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"documentation:read\", documentationRead);\n\t},\n});\n"],"names":["path","Hero","CustomerLogos","AlternateGrid","CallToAction"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sources":["../../src/plugin.ts"],"sourcesContent":["import path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nimport { defineSliceMachinePlugin } from \"@slicemachine/plugin-kit\";\nimport {\n\tdeleteCustomTypeDirectory,\n\tdeleteCustomTypeFile,\n\tdeleteSliceDirectory,\n\tdeleteSliceFile,\n\treadCustomTypeFile,\n\treadCustomTypeLibrary,\n\treadCustomTypeModel,\n\treadProjectEnvironment,\n\treadSliceFile,\n\treadSliceLibrary,\n\treadSliceModel,\n\treadSliceTemplateLibrary,\n\trenameSlice,\n\tupsertGlobalTypeScriptTypes,\n\twriteCustomTypeFile,\n\twriteCustomTypeModel,\n\twriteProjectEnvironment,\n\twriteSliceFile,\n\twriteSliceModel,\n} from \"@slicemachine/plugin-kit/fs\";\n\nimport { rejectIfNecessary } from \"./lib/rejectIfNecessary\";\nimport { upsertSliceLibraryIndexFile } from \"./lib/upsertSliceLibraryIndexFile\";\n\nimport { name as pkgName } from \"../package.json\";\nimport { PluginOptions } from \"./types\";\nimport {\n\tDEFAULT_ENVIRONMENT_VARIABLE_FILE_PATH,\n\tENVIRONMENT_VARIABLE_PATHS,\n\tPRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME,\n} from \"./constants\";\n\nimport { documentationRead } from \"./hooks/documentation-read\";\nimport { projectInit } from \"./hooks/project-init\";\nimport { sliceCreate } from \"./hooks/slice-create\";\nimport { snippetRead } from \"./hooks/snippet-read\";\n\nimport * as Hero from \"./sliceTemplates/Hero\";\nimport * as CallToAction from \"./sliceTemplates/CallToAction\";\nimport * as AlternateGrid from \"./sliceTemplates/AlternateGrid\";\nimport * as CustomerLogos from \"./sliceTemplates/CustomerLogos\";\nimport { checkIsSvelte5 } from \"./lib/checkIsSvelte5\";\n\nexport const plugin = defineSliceMachinePlugin<PluginOptions>({\n\tmeta: {\n\t\tname: pkgName,\n\t},\n\tdefaultOptions: {\n\t\tformat: true,\n\t\tgeneratedTypesFilePath: \"./src/prismicio-types.d.ts\",\n\t},\n\tsetup({ hook }) {\n\t\t////////////////////////////////////////////////////////////////\n\t\t// project:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"project:init\", projectInit);\n\t\thook(\"project:environment:update\", async (data, context) => {\n\t\t\tawait writeProjectEnvironment({\n\t\t\t\tvariableName: PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME,\n\t\t\t\tenvironment: data.environment,\n\t\t\t\tfilename:\n\t\t\t\t\tcontext.options.environmentVariableFilePath ||\n\t\t\t\t\tDEFAULT_ENVIRONMENT_VARIABLE_FILE_PATH,\n\t\t\t\thelpers: context.helpers,\n\t\t\t});\n\t\t});\n\t\thook(\"project:environment:read\", async (_data, context) => {\n\t\t\tconst projectEnvironment = await readProjectEnvironment({\n\t\t\t\tvariableName: PRISMIC_ENVIRONMENT_ENVIRONMENT_VARIABLE_NAME,\n\t\t\t\tfilenames: [\n\t\t\t\t\t...ENVIRONMENT_VARIABLE_PATHS,\n\t\t\t\t\tcontext.options.environmentVariableFilePath,\n\t\t\t\t].filter((filename): filename is NonNullable<typeof filename> =>\n\t\t\t\t\tBoolean(filename),\n\t\t\t\t),\n\t\t\t\thelpers: context.helpers,\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tenvironment: projectEnvironment.environment,\n\t\t\t};\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// slice:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"slice:create\", sliceCreate);\n\t\thook(\"slice:update\", async (data, context) => {\n\t\t\tawait writeSliceModel({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tmodel: data.model,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:rename\", async (data, context) => {\n\t\t\tawait renameSlice({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\trejectIfNecessary(\n\t\t\t\tawait Promise.allSettled([\n\t\t\t\t\tupsertSliceLibraryIndexFile({\n\t\t\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t\tupsertGlobalTypeScriptTypes({\n\t\t\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\t\t\tformat: context.options.format,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t]),\n\t\t\t);\n\t\t});\n\t\thook(\"slice:delete\", async (data, context) => {\n\t\t\tawait deleteSliceDirectory({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tmodel: data.model,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\trejectIfNecessary(\n\t\t\t\tawait Promise.allSettled([\n\t\t\t\t\tupsertSliceLibraryIndexFile({\n\t\t\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t\tupsertGlobalTypeScriptTypes({\n\t\t\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\t\t\tformat: context.options.format,\n\t\t\t\t\t\t...context,\n\t\t\t\t\t}),\n\t\t\t\t]),\n\t\t\t);\n\t\t});\n\t\thook(\"slice:read\", async (data, context) => {\n\t\t\treturn await readSliceModel({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:asset:update\", async (data, context) => {\n\t\t\tawait writeSliceFile({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\tfilename: data.asset.id,\n\t\t\t\tcontents: data.asset.data,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:asset:delete\", async (data, context) => {\n\t\t\tawait deleteSliceFile({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"slice:asset:read\", async (data, context) => {\n\t\t\tconst file = await readSliceFile({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\tsliceID: data.sliceID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tdata: file,\n\t\t\t};\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// slice-library:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"slice-library:read\", async (data, context) => {\n\t\t\treturn await readSliceLibrary({\n\t\t\t\tlibraryID: data.libraryID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// slice-template-library:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"slice-template-library:read\", async (data, context) => {\n\t\t\tconst isSvelte5 = await checkIsSvelte5({ helpers: context.helpers });\n\n\t\t\treturn await readSliceTemplateLibrary({\n\t\t\t\t...data,\n\t\t\t\t...context,\n\t\t\t\tdirName: path.dirname(fileURLToPath(new URL(import.meta.url))),\n\t\t\t\ttemplates: [Hero, CustomerLogos, AlternateGrid, CallToAction],\n\t\t\t\tcomponentFileNames: {\n\t\t\t\t\tjs: isSvelte5 ? \"javascript.5.svelte\" : \"javascript.svelte\",\n\t\t\t\t\tts: isSvelte5 ? \"typescript.5.svelte\" : \"typescript.svelte\",\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// custom-type:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"custom-type:create\", async (data, context) => {\n\t\t\tawait writeCustomTypeModel({\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:update\", async (data, context) => {\n\t\t\tawait writeCustomTypeModel({\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:rename\", async (data, context) => {\n\t\t\tawait writeCustomTypeModel({\n\t\t\t\tmodel: data.model,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:delete\", async (data, context) => {\n\t\t\tawait deleteCustomTypeDirectory({\n\t\t\t\tcustomTypeID: data.model.id,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\tawait upsertGlobalTypeScriptTypes({\n\t\t\t\tfilename: context.options.generatedTypesFilePath,\n\t\t\t\tformat: context.options.format,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:read\", async (data, context) => {\n\t\t\treturn await readCustomTypeModel({\n\t\t\t\tcustomTypeID: data.id,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:asset:update\", async (data, context) => {\n\t\t\tawait writeCustomTypeFile({\n\t\t\t\tcustomTypeID: data.customTypeID,\n\t\t\t\tfilename: data.asset.id,\n\t\t\t\tcontents: data.asset.data,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:asset:delete\", async (data, context) => {\n\t\t\tawait deleteCustomTypeFile({\n\t\t\t\tcustomTypeID: data.customTypeID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\t\t});\n\t\thook(\"custom-type:asset:read\", async (data, context) => {\n\t\t\tconst file = await readCustomTypeFile({\n\t\t\t\tcustomTypeID: data.customTypeID,\n\t\t\t\tfilename: data.assetID,\n\t\t\t\t...context,\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tdata: file,\n\t\t\t};\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// custom-type-library:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"custom-type-library:read\", async (_data, context) => {\n\t\t\treturn await readCustomTypeLibrary({\n\t\t\t\thelpers: context.helpers,\n\t\t\t});\n\t\t});\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// snippet:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"snippet:read\", snippetRead);\n\n\t\t////////////////////////////////////////////////////////////////\n\t\t// documentation:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"documentation:read\", documentationRead);\n\t},\n});\n"],"names":["path","Hero","CustomerLogos","AlternateGrid","CallToAction"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slicemachine/adapter-sveltekit",
3
- "version": "0.3.78-alpha.dependabot-npm-and-yarn-nuxt-3-16-0.1",
3
+ "version": "0.3.78-alpha.lh-svelte5.1",
4
4
  "description": "Slice Machine adapter for SvelteKit.",
5
5
  "keywords": [
6
6
  "typescript",
@@ -64,7 +64,7 @@
64
64
  "dependencies": {
65
65
  "@prismicio/simulator": "^0.1.4",
66
66
  "@prismicio/types-internal": "3.8.0",
67
- "@slicemachine/plugin-kit": "0.4.77-alpha.dependabot-npm-and-yarn-nuxt-3-16-0.1",
67
+ "@slicemachine/plugin-kit": "0.4.77-alpha.lh-svelte5.1",
68
68
  "common-tags": "^1.8.2",
69
69
  "fp-ts": "^2.13.1",
70
70
  "io-ts": "^2.2.20",
@@ -72,7 +72,8 @@
72
72
  "monocle-ts": "^2.3.13",
73
73
  "newtype-ts": "^0.3.5",
74
74
  "pascal-case": "^3.1.2",
75
- "prettier-plugin-svelte": "^3.0.3"
75
+ "prettier-plugin-svelte": "^3.0.3",
76
+ "semver": "^7.3.8"
76
77
  },
77
78
  "devDependencies": {
78
79
  "@prismicio/mock": "0.7.1",
@@ -81,6 +82,7 @@
81
82
  "@sveltejs/package": "2.2.1",
82
83
  "@sveltejs/vite-plugin-svelte": "3.0.1",
83
84
  "@types/common-tags": "1.8.1",
85
+ "@types/semver": "^7.3.13",
84
86
  "@typescript-eslint/eslint-plugin": "5.55.0",
85
87
  "@typescript-eslint/parser": "5.55.0",
86
88
  "@vitest/coverage-v8": "0.32.0",
@@ -3,6 +3,7 @@ import { source } from "common-tags";
3
3
  import type { DocumentationReadHook } from "@slicemachine/plugin-kit";
4
4
 
5
5
  import { getJSFileExtension } from "../lib/getJSFileExtension";
6
+ import { checkIsSvelte5 } from "../lib/checkIsSvelte5";
6
7
 
7
8
  import type { PluginOptions } from "../types";
8
9
 
@@ -22,6 +23,7 @@ export const documentationRead: DocumentationReadHook<PluginOptions> = async (
22
23
  const { model } = data.data;
23
24
 
24
25
  const pageDataExtension = await getJSFileExtension({ helpers, options });
26
+ const isSvelte5 = await checkIsSvelte5({ helpers });
25
27
 
26
28
  const routePath = `src/routes/${model.repeatable ? "[uid]" : model.id}`;
27
29
  const dataFilePath = `${routePath}/+page.server.${pageDataExtension}`;
@@ -72,17 +74,35 @@ export const documentationRead: DocumentationReadHook<PluginOptions> = async (
72
74
  `;
73
75
  }
74
76
 
75
- let componentFileContent = source`
76
- <script>
77
- import { SliceZone } from "@prismicio/svelte";
77
+ let componentFileContent;
78
78
 
79
- import { components } from "$lib/slices";
79
+ if (isSvelte5) {
80
+ // Svelte 5 syntax with runes
81
+ componentFileContent = source`
82
+ <script>
83
+ import { SliceZone } from "@prismicio/svelte";
80
84
 
81
- export let data;
82
- </script>
85
+ import { components } from "$lib/slices";
83
86
 
84
- <SliceZone slices={data.page.data.slices} {components} />
85
- `;
87
+ let { data } = $props();
88
+ </script>
89
+
90
+ <SliceZone slices={data.page.data.slices} components={components} />
91
+ `;
92
+ } else {
93
+ // Traditional Svelte 3/4 syntax
94
+ componentFileContent = source`
95
+ <script>
96
+ import { SliceZone } from "@prismicio/svelte";
97
+
98
+ import { components } from "$lib/slices";
99
+
100
+ export let data;
101
+ </script>
102
+
103
+ <SliceZone slices={data.page.data.slices} {components} />
104
+ `;
105
+ }
86
106
 
87
107
  if (options.format) {
88
108
  dataFileContent = await helpers.format(
@@ -173,6 +173,8 @@ const createSliceSimulatorPage = async ({
173
173
  return;
174
174
  }
175
175
 
176
+ // Due to limitations in Svelte 4 on how slots can be typed, we cannot provide a Svelte 5-flavor
177
+ // version of this snippet, so we have to rely on the legacy Svelte 4 syntax.
176
178
  const contents = source`
177
179
  <script>
178
180
  import { SliceSimulator } from '@slicemachine/adapter-sveltekit/simulator';
@@ -11,6 +11,7 @@ import {
11
11
  import { source } from "common-tags";
12
12
 
13
13
  import { checkIsTypeScriptProject } from "../lib/checkIsTypeScriptProject";
14
+ import { checkIsSvelte5 } from "../lib/checkIsSvelte5";
14
15
  import { pascalCase } from "../lib/pascalCase";
15
16
  import { rejectIfNecessary } from "../lib/rejectIfNecessary";
16
17
  import { upsertSliceLibraryIndexFile } from "../lib/upsertSliceLibraryIndexFile";
@@ -35,6 +36,7 @@ const createComponentFile = async ({
35
36
  helpers,
36
37
  options,
37
38
  });
39
+ const isSvelte5 = await checkIsSvelte5({ helpers });
38
40
 
39
41
  const placeholder = `
40
42
  Placeholder component for {slice.slice_type} (variation: {slice.variation}) slices.
@@ -68,29 +70,60 @@ const createComponentFile = async ({
68
70
 
69
71
  if (data.componentContents) {
70
72
  contents = data.componentContents;
71
- } else if (isTypeScriptProject) {
72
- contents = source`
73
- <script lang="ts">
74
- import type { Content } from '@prismicio/client';
75
-
76
- export let slice: Content.${pascalName}Slice;
77
- </script>
78
-
79
- <section data-slice-type={slice.slice_type} data-slice-variation={slice.variation}>
80
- ${placeholder}
81
- </section>
82
- `;
73
+ } else if (isSvelte5) {
74
+ if (isTypeScriptProject) {
75
+ contents = source`
76
+ <script lang="ts">
77
+ import type { Content } from '@prismicio/client';
78
+
79
+ interface Props {
80
+ slice: Content.${pascalName}Slice;
81
+ }
82
+
83
+ let { slice }: Props = $props();
84
+ </script>
85
+
86
+ <section data-slice-type={slice.slice_type} data-slice-variation={slice.variation}>
87
+ ${placeholder}
88
+ </section>
89
+ `;
90
+ } else {
91
+ contents = source`
92
+ <script>
93
+ /** @type {{ slice: import("@prismicio/client").Content.${pascalName}Slice }} */
94
+ let { slice } = $props();
95
+ </script>
96
+
97
+ <section data-slice-type={slice.slice_type} data-slice-variation={slice.variation}>
98
+ ${placeholder}
99
+ </section>
100
+ `;
101
+ }
83
102
  } else {
84
- contents = source`
85
- <script>
86
- /** @type {import("@prismicio/client").Content.${pascalName}Slice} */
87
- export let slice;
88
- </script>
89
-
90
- <section data-slice-type={slice.slice_type} data-slice-variation={slice.variation}>
91
- ${placeholder}
92
- </section>
93
- `;
103
+ if (isTypeScriptProject) {
104
+ contents = source`
105
+ <script lang="ts">
106
+ import type { Content } from '@prismicio/client';
107
+
108
+ export let slice: Content.${pascalName}Slice;
109
+ </script>
110
+
111
+ <section data-slice-type={slice.slice_type} data-slice-variation={slice.variation}>
112
+ ${placeholder}
113
+ </section>
114
+ `;
115
+ } else {
116
+ contents = source`
117
+ <script>
118
+ /** @type {import("@prismicio/client").Content.${pascalName}Slice} */
119
+ export let slice;
120
+ </script>
121
+
122
+ <section data-slice-type={slice.slice_type} data-slice-variation={slice.variation}>
123
+ ${placeholder}
124
+ </section>
125
+ `;
126
+ }
94
127
  }
95
128
 
96
129
  await writeSliceFile({
@@ -0,0 +1,49 @@
1
+ import { SliceMachineContext } from "@slicemachine/plugin-kit";
2
+ import { readProjectFile } from "@slicemachine/plugin-kit/fs";
3
+ import semver from "semver";
4
+
5
+ import { PluginOptions } from "../types";
6
+
7
+ export const checkIsSvelte5 = (args: CheckIsSvelteNArgs): Promise<boolean> => {
8
+ return checkIsSvelteN(5, args);
9
+ };
10
+
11
+ type CheckIsSvelteNArgs = {
12
+ helpers: SliceMachineContext<PluginOptions>["helpers"];
13
+ };
14
+
15
+ const checkIsSvelteN = async (
16
+ version: number,
17
+ args: CheckIsSvelteNArgs,
18
+ ): Promise<boolean> => {
19
+ try {
20
+ const packageJsonContent = await readProjectFile({
21
+ filename: "package.json",
22
+ encoding: "utf8",
23
+ helpers: args.helpers,
24
+ });
25
+
26
+ const packageJson = JSON.parse(packageJsonContent);
27
+ const allDependencies: Record<string, string> = {
28
+ ...packageJson.dependencies,
29
+ ...packageJson.devDependencies,
30
+ };
31
+ const svelteVersion = allDependencies.svelte;
32
+
33
+ // Assume version doesn't match when no version is found or on special cases.
34
+ if (
35
+ !svelteVersion ||
36
+ ["latest", "next", "beta", "alpha", "dev", "*"].includes(svelteVersion)
37
+ ) {
38
+ return false;
39
+ }
40
+
41
+ // Try to get the minimum version.
42
+ const minVersion = semver.minVersion(svelteVersion) ?? svelteVersion;
43
+
44
+ // Check if the version is a match.
45
+ return semver.major(minVersion) === version;
46
+ } catch (error) {
47
+ return false;
48
+ }
49
+ };
package/src/plugin.ts CHANGED
@@ -44,6 +44,7 @@ import * as Hero from "./sliceTemplates/Hero";
44
44
  import * as CallToAction from "./sliceTemplates/CallToAction";
45
45
  import * as AlternateGrid from "./sliceTemplates/AlternateGrid";
46
46
  import * as CustomerLogos from "./sliceTemplates/CustomerLogos";
47
+ import { checkIsSvelte5 } from "./lib/checkIsSvelte5";
47
48
 
48
49
  export const plugin = defineSliceMachinePlugin<PluginOptions>({
49
50
  meta: {
@@ -200,14 +201,16 @@ export const plugin = defineSliceMachinePlugin<PluginOptions>({
200
201
  ////////////////////////////////////////////////////////////////
201
202
 
202
203
  hook("slice-template-library:read", async (data, context) => {
204
+ const isSvelte5 = await checkIsSvelte5({ helpers: context.helpers });
205
+
203
206
  return await readSliceTemplateLibrary({
204
207
  ...data,
205
208
  ...context,
206
209
  dirName: path.dirname(fileURLToPath(new URL(import.meta.url))),
207
210
  templates: [Hero, CustomerLogos, AlternateGrid, CallToAction],
208
211
  componentFileNames: {
209
- js: "javascript.svelte",
210
- ts: "typescript.svelte",
212
+ js: isSvelte5 ? "javascript.5.svelte" : "javascript.svelte",
213
+ ts: isSvelte5 ? "typescript.5.svelte" : "typescript.svelte",
211
214
  },
212
215
  });
213
216
  });