@slicemachine/adapter-next 0.0.1 → 0.0.2
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.
- package/dist/SliceSimulator.cjs +93 -0
- package/dist/SliceSimulator.cjs.map +1 -0
- package/dist/SliceSimulator.d.ts +29 -0
- package/dist/SliceSimulator.js +74 -0
- package/dist/SliceSimulator.js.map +1 -0
- package/dist/hooks/customType-asset-delete.cjs +28 -0
- package/dist/hooks/customType-asset-delete.cjs.map +1 -0
- package/dist/hooks/customType-asset-delete.d.ts +3 -0
- package/dist/hooks/customType-asset-delete.js +9 -0
- package/dist/hooks/customType-asset-delete.js.map +1 -0
- package/dist/hooks/customType-asset-read.cjs +31 -0
- package/dist/hooks/customType-asset-read.cjs.map +1 -0
- package/dist/hooks/customType-asset-read.d.ts +3 -0
- package/dist/hooks/customType-asset-read.js +12 -0
- package/dist/hooks/customType-asset-read.js.map +1 -0
- package/dist/hooks/customType-asset-update.cjs +31 -0
- package/dist/hooks/customType-asset-update.cjs.map +1 -0
- package/dist/hooks/customType-asset-update.d.ts +3 -0
- package/dist/hooks/customType-asset-update.js +11 -0
- package/dist/hooks/customType-asset-update.js.map +1 -0
- package/dist/hooks/customType-create.cjs +41 -0
- package/dist/hooks/customType-create.cjs.map +1 -0
- package/dist/hooks/customType-create.d.ts +3 -0
- package/dist/hooks/customType-create.js +21 -0
- package/dist/hooks/customType-create.js.map +1 -0
- package/dist/hooks/customType-delete.cjs +30 -0
- package/dist/hooks/customType-delete.cjs.map +1 -0
- package/dist/hooks/customType-delete.d.ts +3 -0
- package/dist/hooks/customType-delete.js +11 -0
- package/dist/hooks/customType-delete.js.map +1 -0
- package/dist/hooks/customType-read.cjs +12 -0
- package/dist/hooks/customType-read.cjs.map +1 -0
- package/dist/hooks/customType-read.d.ts +3 -0
- package/dist/hooks/customType-read.js +12 -0
- package/dist/hooks/customType-read.js.map +1 -0
- package/dist/hooks/customType-update.cjs +6 -0
- package/dist/hooks/customType-update.cjs.map +1 -0
- package/dist/hooks/customType-update.d.ts +1 -0
- package/dist/hooks/customType-update.js +6 -0
- package/dist/hooks/customType-update.js.map +1 -0
- package/dist/hooks/customTypeLibrary-read.cjs +46 -0
- package/dist/hooks/customTypeLibrary-read.cjs.map +1 -0
- package/dist/hooks/customTypeLibrary-read.d.ts +3 -0
- package/dist/hooks/customTypeLibrary-read.js +26 -0
- package/dist/hooks/customTypeLibrary-read.js.map +1 -0
- package/dist/hooks/slice-asset-delete.cjs +29 -0
- package/dist/hooks/slice-asset-delete.cjs.map +1 -0
- package/dist/hooks/slice-asset-delete.d.ts +3 -0
- package/dist/hooks/slice-asset-delete.js +10 -0
- package/dist/hooks/slice-asset-delete.js.map +1 -0
- package/dist/hooks/slice-asset-read.cjs +32 -0
- package/dist/hooks/slice-asset-read.cjs.map +1 -0
- package/dist/hooks/slice-asset-read.d.ts +3 -0
- package/dist/hooks/slice-asset-read.js +13 -0
- package/dist/hooks/slice-asset-read.js.map +1 -0
- package/dist/hooks/slice-asset-update.cjs +32 -0
- package/dist/hooks/slice-asset-update.cjs.map +1 -0
- package/dist/hooks/slice-asset-update.d.ts +3 -0
- package/dist/hooks/slice-asset-update.js +12 -0
- package/dist/hooks/slice-asset-update.js.map +1 -0
- package/dist/hooks/slice-create.cjs +119 -0
- package/dist/hooks/slice-create.cjs.map +1 -0
- package/dist/hooks/slice-create.d.ts +3 -0
- package/dist/hooks/slice-create.js +99 -0
- package/dist/hooks/slice-create.js.map +1 -0
- package/dist/hooks/slice-delete.cjs +49 -0
- package/dist/hooks/slice-delete.cjs.map +1 -0
- package/dist/hooks/slice-delete.d.ts +3 -0
- package/dist/hooks/slice-delete.js +30 -0
- package/dist/hooks/slice-delete.js.map +1 -0
- package/dist/hooks/slice-read.cjs +13 -0
- package/dist/hooks/slice-read.cjs.map +1 -0
- package/dist/hooks/slice-read.d.ts +3 -0
- package/dist/hooks/slice-read.js +13 -0
- package/dist/hooks/slice-read.js.map +1 -0
- package/dist/hooks/slice-update.cjs +41 -0
- package/dist/hooks/slice-update.cjs.map +1 -0
- package/dist/hooks/slice-update.d.ts +3 -0
- package/dist/hooks/slice-update.js +21 -0
- package/dist/hooks/slice-update.js.map +1 -0
- package/dist/hooks/sliceLibrary-read.cjs +52 -0
- package/dist/hooks/sliceLibrary-read.cjs.map +1 -0
- package/dist/hooks/sliceLibrary-read.d.ts +3 -0
- package/dist/hooks/sliceLibrary-read.js +31 -0
- package/dist/hooks/sliceLibrary-read.js.map +1 -0
- package/dist/hooks/sliceSimulator-setup-read.cjs +217 -0
- package/dist/hooks/sliceSimulator-setup-read.cjs.map +1 -0
- package/dist/hooks/sliceSimulator-setup-read.d.ts +3 -0
- package/dist/hooks/sliceSimulator-setup-read.js +198 -0
- package/dist/hooks/sliceSimulator-setup-read.js.map +1 -0
- package/dist/hooks/snippet-read.cjs +96 -0
- package/dist/hooks/snippet-read.cjs.map +1 -0
- package/dist/hooks/snippet-read.d.ts +3 -0
- package/dist/hooks/snippet-read.js +77 -0
- package/dist/hooks/snippet-read.js.map +1 -0
- package/dist/index.cjs +6 -698
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +5 -45
- package/dist/index.js +6 -669
- package/dist/index.js.map +1 -1
- package/dist/lib/buildSliceLibraryIndexFileContents.cjs +23 -0
- package/dist/lib/buildSliceLibraryIndexFileContents.cjs.map +1 -0
- package/dist/lib/buildSliceLibraryIndexFileContents.d.ts +10 -0
- package/dist/lib/buildSliceLibraryIndexFileContents.js +23 -0
- package/dist/lib/buildSliceLibraryIndexFileContents.js.map +1 -0
- package/dist/lib/getJSOrTSXFileExtension.cjs +13 -0
- package/dist/lib/getJSOrTSXFileExtension.cjs.map +1 -0
- package/dist/lib/getJSOrTSXFileExtension.d.ts +2 -0
- package/dist/lib/getJSOrTSXFileExtension.js +13 -0
- package/dist/lib/getJSOrTSXFileExtension.js.map +1 -0
- package/dist/lib/pascalCase.cjs +8 -0
- package/dist/lib/pascalCase.cjs.map +1 -0
- package/dist/lib/pascalCase.d.ts +8 -0
- package/dist/lib/pascalCase.js +8 -0
- package/dist/lib/pascalCase.js.map +1 -0
- package/dist/lib/readJSONFile.cjs +28 -0
- package/dist/lib/readJSONFile.cjs.map +1 -0
- package/dist/lib/readJSONFile.d.ts +1 -0
- package/dist/lib/readJSONFile.js +9 -0
- package/dist/lib/readJSONFile.js.map +1 -0
- package/dist/lib/rejectIfNecessary.cjs +10 -0
- package/dist/lib/rejectIfNecessary.cjs.map +1 -0
- package/dist/lib/rejectIfNecessary.d.ts +1 -0
- package/dist/lib/rejectIfNecessary.js +10 -0
- package/dist/lib/rejectIfNecessary.js.map +1 -0
- package/dist/lib/upsertGlobalContentTypes.cjs +53 -0
- package/dist/lib/upsertGlobalContentTypes.cjs.map +1 -0
- package/dist/lib/upsertGlobalContentTypes.d.ts +12 -0
- package/dist/lib/upsertGlobalContentTypes.js +33 -0
- package/dist/lib/upsertGlobalContentTypes.js.map +1 -0
- package/dist/package.cjs +5 -0
- package/dist/package.cjs.map +1 -0
- package/dist/package.js +5 -0
- package/dist/package.js.map +1 -0
- package/dist/plugin.cjs +52 -0
- package/dist/plugin.cjs.map +1 -0
- package/dist/plugin.d.ts +2 -0
- package/dist/plugin.js +52 -0
- package/dist/plugin.js.map +1 -0
- package/dist/types.d.ts +9 -0
- package/package.json +26 -23
- package/src/hooks/customType-asset-delete.ts +16 -0
- package/src/hooks/customType-asset-read.ts +20 -0
- package/src/hooks/customType-asset-update.ts +18 -0
- package/src/hooks/customType-create.ts +5 -20
- package/src/hooks/customType-delete.ts +6 -2
- package/src/hooks/customType-read.ts +5 -1
- package/src/hooks/{customType-library-read.ts → customTypeLibrary-read.ts} +3 -0
- package/src/hooks/slice-asset-delete.ts +19 -0
- package/src/hooks/slice-asset-read.ts +23 -0
- package/src/hooks/slice-asset-update.ts +21 -0
- package/src/hooks/slice-create.ts +14 -21
- package/src/hooks/slice-delete.ts +9 -1
- package/src/hooks/slice-read.ts +5 -1
- package/src/hooks/slice-update.ts +4 -19
- package/src/hooks/{slice-library-read.ts → sliceLibrary-read.ts} +3 -0
- package/src/lib/rejectIfNecessary.ts +16 -0
- package/src/lib/upsertGlobalContentTypes.ts +59 -0
- package/src/plugin.ts +20 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sliceSimulator-setup-read.js","sources":["../../src/hooks/sliceSimulator-setup-read.ts"],"sourcesContent":["import type {\n\tSliceMachineContext,\n\tSliceSimulatorSetupReadHook,\n\tSliceSimulatorSetupStep,\n} from \"@slicemachine/plugin-kit\";\nimport { SliceSimulatorSetupStepValidationMessageType } from \"@slicemachine/plugin-kit\";\nimport { stripIndent } from \"common-tags\";\nimport { createRequire } from \"node:module\";\nimport * as http from \"node:http\";\n\nimport { getJSOrTSXFileExtension } from \"../lib/getJSOrTSXFileExtension\";\n\nimport type { PluginOptions } from \"../types\";\n\nconst REQUIRED_DEPENDENCIES = [\n\t\"@prismicio/react\",\n\t\"@prismicio/slice-simulator-react\",\n\t\"@prismicio/client@latest\",\n\t\"@prismicio/helpers\",\n];\n\ntype Args = SliceMachineContext<PluginOptions>;\n\nconst createStep1 = async ({\n\tproject,\n}: Args): Promise<SliceSimulatorSetupStep> => {\n\tconst require = createRequire(project.root);\n\n\treturn {\n\t\ttitle: \"Install packages\",\n\t\tbody: stripIndent`\n\t\t\tThe simulator requires extra dependencies. Run the following command to install them.\n\n\t\t\t~~~sh\n\t\t\tnpm install --save @prismicio/react @prismicio/slice-simulator-react @prismicio/client@latest @prismicio/helpers\n\t\t\t~~~\n\t\t`,\n\t\tvalidate: async () => {\n\t\t\tconst missingDependencies: string[] = [];\n\n\t\t\tfor (const dependency of REQUIRED_DEPENDENCIES) {\n\t\t\t\ttry {\n\t\t\t\t\t// `require.resolve()` is preferred\n\t\t\t\t\t// over `import()` because we don't\n\t\t\t\t\t// want to load the module. Loading a\n\t\t\t\t\t// module could introduce side-effects.\n\t\t\t\t\trequire.resolve(dependency);\n\t\t\t\t} catch {\n\t\t\t\t\tmissingDependencies.push(dependency);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (missingDependencies.length >= REQUIRED_DEPENDENCIES.length) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: SliceSimulatorSetupStepValidationMessageType.Error,\n\t\t\t\t\ttitle: \"Missing all dependencies\",\n\t\t\t\t\tmessage: stripIndent`\n\t\t\t\t\t\tInstall the required dependencies to continue.\n\t\t\t\t\t`,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (missingDependencies.length > 0) {\n\t\t\t\tconst formattedMissingDependencies = missingDependencies\n\t\t\t\t\t.map((missingDependency) => `\\`${missingDependency}\\``)\n\t\t\t\t\t.join(\", \");\n\n\t\t\t\treturn {\n\t\t\t\t\ttype: SliceSimulatorSetupStepValidationMessageType.Warning,\n\t\t\t\t\ttitle: \"Missing some dependencies\",\n\t\t\t\t\tmessage: stripIndent`\n\t\t\t\t\t\tThe following dependencies are missing: ${formattedMissingDependencies}\n\t\t\t\t\t`,\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t};\n};\n\nconst createStep2 = async ({\n\thelpers,\n\toptions,\n}: Args): Promise<SliceSimulatorSetupStep> => {\n\tconst fileName = `slice-simulator.${getJSOrTSXFileExtension}`;\n\tconst filePath = helpers.joinPathFromRoot(\"pages\", fileName);\n\n\tlet fileContents: string;\n\n\tif (options.typescript) {\n\t\tfileContents = stripIndent`\n\t\t\timport { GetStaticProps } from \"next/types\";\n\t\t\timport { SliceSimulator } from \"@prismicio/slice-simulator-react\";\n\t\t\timport { SliceZone } from \"@prismicio/react\";\n\n\t\t\timport state from \"../.slicemachine/libraries-state.json\";\n\t\t\timport { components } from \"../slices\";\n\n\t\t\tconst SliceSimulatorPage = () => {\n\t\t\t\treturn (\n\t\t\t\t\t<SliceSimulator\n\t\t\t\t\t\tsliceZone={(props) => <SliceZone {...props} components={components} />}\n\t\t\t\t\t\tstate={state}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t};\n\n\t\t\texport default SliceSimulatorPage;\n\n\t\t\texport const getStaticProps: GetStaticProps = () => {\n\t\t\t\treturn {\n\t\t\t\t\t// Exclude this page from production builds.\n\t\t\t\t\tnotFound: process.env.NODE_ENV === \"production\",\n\t\t\t\t};\n\t\t\t};\n\t\t`;\n\t} else {\n\t\tfileContents = stripIndent`\n\t\t\timport { SliceSimulator } from \"@prismicio/slice-simulator-react\";\n\t\t\timport { SliceZone } from \"@prismicio/react\";\n\n\t\t\timport state from \"../.slicemachine/libraries-state.json\";\n\t\t\timport { components } from \"../slices\";\n\n\t\t\tconst SliceSimulatorPage = () => {\n\t\t\t\treturn (\n\t\t\t\t\t<SliceSimulator\n\t\t\t\t\t\tsliceZone={(props) => <SliceZone {...props} components={components} />}\n\t\t\t\t\t\tstate={state}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t};\n\n\t\t\texport default SliceSimulatorPage;\n\n\t\t\texport const getStaticProps= () => {\n\t\t\t\treturn {\n\t\t\t\t\t// Exclude this page from production builds.\n\t\t\t\t\tnotFound: process.env.NODE_ENV === \"production\",\n\t\t\t\t};\n\t\t\t};\n\t\t`;\n\t}\n\n\tfileContents = await helpers.format(fileContents, filePath);\n\n\treturn {\n\t\ttitle: \"Create a page for the simulator\",\n\t\tbody: stripIndent`\n\t\t\tIn your \\`pages\\` directory, create a file called \\`${fileName}\\` and add the following code. This route will be used to simulate and develop your components.\n\n\t\t\t~~~tsx\n\t\t\t${fileContents}\n\t\t\t~~~\n\t\t`,\n\t};\n};\n\nconst createStep3 = async ({\n\thelpers,\n}: Args): Promise<SliceSimulatorSetupStep> => {\n\tconst filePath = helpers.joinPathFromRoot(\"sm.json\");\n\tconst fileContents = await helpers.format(\n\t\t`\n\t\t\t{\n\t\t\t\t\"localSliceSimulatorURL\": \"http://localhost:3000/slice-simulator\"\n\t\t\t}\n\t\t`,\n\t\tfilePath,\n\t);\n\n\treturn {\n\t\ttitle: \"Update `sm.json`\",\n\t\tbody: stripIndent`\n\t\t\tUpdate your \\`sm.json\\` file with a \\`localSliceSimulatorURL\\` property pointing to your \\`slice-simulator\\` page.\n\n\t\t\t~~~json\n\t\t\t${fileContents}\n\t\t\t~~~\n\t\t`,\n\t\tvalidate: async () => {\n\t\t\tconst project = await helpers.getProject();\n\n\t\t\tif (!(\"localSliceSimulatorURL\" in project.config)) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: SliceSimulatorSetupStepValidationMessageType.Error,\n\t\t\t\t\ttitle: \"Missing `localSliceSimulatorURL` property\",\n\t\t\t\t\tmessage: stripIndent`\n\t\t\t\t\t\tA \\`localSliceSimulatorURL\\` property was not found in your \\`sm.json\\` file.\n\t\t\t\t\t`,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Test if the URL is valid.\n\t\t\ttry {\n\t\t\t\tif (project.config.localSliceSimulatorURL) {\n\t\t\t\t\tnew URL(project.config.localSliceSimulatorURL);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(\"Undefined Slice Simulator URL\");\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\treturn {\n\t\t\t\t\ttype: SliceSimulatorSetupStepValidationMessageType.Warning,\n\t\t\t\t\ttitle: \"An invalid URL was provided\",\n\t\t\t\t\tmessage: stripIndent`\n\t\t\t\t\t\tThe \\`localSliceSimulatorURL\\` property should be of the shape \\`http://localhost:PORT/PATH\\`. See the codeblock for an example.\n\t\t\t\t\t`,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// Check if the URL is accessible.\n\t\t\tconst ok = await new Promise<boolean>((resolve) => {\n\t\t\t\tif (project.config.localSliceSimulatorURL) {\n\t\t\t\t\thttp.get(project.config.localSliceSimulatorURL, (res) => {\n\t\t\t\t\t\tif (res.statusCode) {\n\t\t\t\t\t\t\tresolve(res.statusCode >= 200 && res.statusCode < 300);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tresolve(false);\n\t\t\t});\n\n\t\t\tif (!ok) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: SliceSimulatorSetupStepValidationMessageType.Warning,\n\t\t\t\t\ttitle: \"Unable to connect to simulator page\",\n\t\t\t\t\tmessage: stripIndent`\n\t\t\t\t\t\tCheck that the \\`localSliceSimulatorURL\\` property in \\`sm.json\\` is correct and try again. See the [troubleshooting page](https://prismic.io/docs/technologies/setup-slice-simulator-nextjs) for more details.\n\t\t\t\t\t`,\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t};\n};\n\nexport const sliceSimulatorSetupRead: SliceSimulatorSetupReadHook<\n\tPluginOptions\n> = async (_data, context) => {\n\treturn Promise.all([\n\t\tcreateStep1(context),\n\t\tcreateStep2(context),\n\t\tcreateStep3(context),\n\t]);\n};\n"],"names":["require"],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const prismicT = require("@prismicio/types");
|
|
4
|
+
const commonTags = require("common-tags");
|
|
5
|
+
function _interopNamespace(e) {
|
|
6
|
+
if (e && e.__esModule)
|
|
7
|
+
return e;
|
|
8
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
9
|
+
if (e) {
|
|
10
|
+
for (const k in e) {
|
|
11
|
+
if (k !== "default") {
|
|
12
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
13
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: () => e[k]
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
n.default = e;
|
|
21
|
+
return Object.freeze(n);
|
|
22
|
+
}
|
|
23
|
+
const prismicT__namespace = /* @__PURE__ */ _interopNamespace(prismicT);
|
|
24
|
+
const prettierOptions = { parser: "typescript" };
|
|
25
|
+
const dotPath = (segments) => {
|
|
26
|
+
return segments.join(".");
|
|
27
|
+
};
|
|
28
|
+
const snippetRead = async (data, { helpers }) => {
|
|
29
|
+
const { fieldPath } = data;
|
|
30
|
+
const label = "React";
|
|
31
|
+
switch (data.model.type) {
|
|
32
|
+
case prismicT__namespace.CustomTypeModelFieldType.Link: {
|
|
33
|
+
return {
|
|
34
|
+
label,
|
|
35
|
+
language: "tsx",
|
|
36
|
+
code: await helpers.format(commonTags.stripIndent`
|
|
37
|
+
<PrismicLink field={${dotPath(fieldPath)}}>Link</PrismicLink>
|
|
38
|
+
`, void 0, { prettier: prettierOptions })
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
case prismicT__namespace.CustomTypeModelFieldType.Image: {
|
|
42
|
+
return [
|
|
43
|
+
{
|
|
44
|
+
label: `${label} (next/image)`,
|
|
45
|
+
language: "tsx",
|
|
46
|
+
code: await helpers.format(commonTags.stripIndent`
|
|
47
|
+
<PrismicNextImage field={${dotPath(fieldPath)}} />
|
|
48
|
+
`, void 0, { prettier: prettierOptions })
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
label,
|
|
52
|
+
language: "tsx",
|
|
53
|
+
code: await helpers.format(commonTags.stripIndent`
|
|
54
|
+
<PrismicImage field={${dotPath(fieldPath)}} />
|
|
55
|
+
`, void 0, { prettier: prettierOptions })
|
|
56
|
+
}
|
|
57
|
+
];
|
|
58
|
+
}
|
|
59
|
+
case prismicT__namespace.CustomTypeModelFieldType.Group: {
|
|
60
|
+
const code = await helpers.format(commonTags.stripIndent`
|
|
61
|
+
<>{${dotPath(fieldPath)}.map(item => (
|
|
62
|
+
<>{/* Render content for item */}</>
|
|
63
|
+
))}</>
|
|
64
|
+
`, void 0, { prettier: prettierOptions });
|
|
65
|
+
return {
|
|
66
|
+
label,
|
|
67
|
+
language: "tsx",
|
|
68
|
+
code
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
case prismicT__namespace.CustomTypeModelFieldType.Slices: {
|
|
72
|
+
const code = await helpers.format(commonTags.stripIndent`
|
|
73
|
+
<SliceZone
|
|
74
|
+
slices={${dotPath(fieldPath)}}
|
|
75
|
+
components={components}
|
|
76
|
+
/>
|
|
77
|
+
`, void 0, { prettier: prettierOptions });
|
|
78
|
+
return {
|
|
79
|
+
label,
|
|
80
|
+
language: "tsx",
|
|
81
|
+
code
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
default: {
|
|
85
|
+
return {
|
|
86
|
+
label,
|
|
87
|
+
language: "tsx",
|
|
88
|
+
code: await helpers.format(commonTags.stripIndent`
|
|
89
|
+
<>{${dotPath(fieldPath)}}</>
|
|
90
|
+
`, void 0, { prettier: prettierOptions })
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
exports.snippetRead = snippetRead;
|
|
96
|
+
//# sourceMappingURL=snippet-read.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snippet-read.cjs","sources":["../../src/hooks/snippet-read.ts"],"sourcesContent":["import type { SnippetReadHook } from \"@slicemachine/plugin-kit\";\nimport * as prismicT from \"@prismicio/types\";\nimport { stripIndent } from \"common-tags\";\nimport type { Config as PrettierConfig } from \"prettier\";\n\nimport type { PluginOptions } from \"../types\";\n\nconst prettierOptions: PrettierConfig = { parser: \"typescript\" };\n\nconst dotPath = (segments: string[]): string => {\n\treturn segments.join(\".\");\n};\n\nexport const snippetRead: SnippetReadHook<PluginOptions> = async (\n\tdata,\n\t{ helpers },\n) => {\n\tconst { fieldPath } = data;\n\n\tconst label = \"React\";\n\n\tswitch (data.model.type) {\n\t\tcase prismicT.CustomTypeModelFieldType.Link: {\n\t\t\treturn {\n\t\t\t\tlabel,\n\t\t\t\tlanguage: \"tsx\",\n\t\t\t\tcode: await helpers.format(\n\t\t\t\t\tstripIndent`\n\t\t\t\t\t\t<PrismicLink field={${dotPath(fieldPath)}}>Link</PrismicLink>\n\t\t\t\t\t`,\n\t\t\t\t\tundefined,\n\t\t\t\t\t{ prettier: prettierOptions },\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\n\t\tcase prismicT.CustomTypeModelFieldType.Image: {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tlabel: `${label} (next/image)`,\n\t\t\t\t\tlanguage: \"tsx\",\n\t\t\t\t\tcode: await helpers.format(\n\t\t\t\t\t\tstripIndent`\n\t\t\t\t\t\t\t<PrismicNextImage field={${dotPath(fieldPath)}} />\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t{ prettier: prettierOptions },\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel,\n\t\t\t\t\tlanguage: \"tsx\",\n\t\t\t\t\tcode: await helpers.format(\n\t\t\t\t\t\tstripIndent`\n\t\t\t\t\t\t\t<PrismicImage field={${dotPath(fieldPath)}} />\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t{ prettier: prettierOptions },\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\tcase prismicT.CustomTypeModelFieldType.Group: {\n\t\t\tconst code = await helpers.format(\n\t\t\t\tstripIndent`\n\t\t\t\t\t<>{${dotPath(fieldPath)}.map(item => (\n\t\t\t\t\t <>{/* Render content for item */}</>\n\t\t\t\t\t))}</>\n\t\t\t\t`,\n\t\t\t\tundefined,\n\t\t\t\t{ prettier: prettierOptions },\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlabel,\n\t\t\t\tlanguage: \"tsx\",\n\t\t\t\tcode,\n\t\t\t};\n\t\t}\n\n\t\tcase prismicT.CustomTypeModelFieldType.Slices: {\n\t\t\tconst code = await helpers.format(\n\t\t\t\tstripIndent`\n\t\t\t\t\t<SliceZone\n\t\t\t\t\t slices={${dotPath(fieldPath)}}\n\t\t\t\t\t components={components}\n\t\t\t\t\t/>\n\t\t\t\t`,\n\t\t\t\tundefined,\n\t\t\t\t{ prettier: prettierOptions },\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlabel,\n\t\t\t\tlanguage: \"tsx\",\n\t\t\t\tcode,\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn {\n\t\t\t\tlabel,\n\t\t\t\tlanguage: \"tsx\",\n\t\t\t\tcode: await helpers.format(\n\t\t\t\t\tstripIndent`\n\t\t\t\t\t\t<>{${dotPath(fieldPath)}}</>\n\t\t\t\t\t`,\n\t\t\t\t\tundefined,\n\t\t\t\t\t{ prettier: prettierOptions },\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t}\n};\n"],"names":["prismicT","stripIndent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM,kBAAkC,EAAE,QAAQ;AAElD,MAAM,UAAU,CAAC,aAA8B;AACvC,SAAA,SAAS,KAAK,GAAG;AACzB;AAEO,MAAM,cAA8C,OAC1D,MACA,EAAE,cACC;AACG,QAAA,EAAE,UAAc,IAAA;AAEtB,QAAM,QAAQ;AAEN,UAAA,KAAK,MAAM,MAAM;AAAA,IACxB,KAAKA,oBAAS,yBAAyB,MAAM;AACrC,aAAA;AAAA,QACN;AAAA,QACA,UAAU;AAAA,QACV,MAAM,MAAM,QAAQ,OACnBC;4BACuB,QAAQ,SAAS;AAAA,QAExC,QACA,EAAE,UAAU,gBAAA,CAAiB;AAAA,MAAA;AAAA,IAG/B;AAAA,IAED,KAAKD,oBAAS,yBAAyB,OAAO;AACtC,aAAA;AAAA,QACN;AAAA,UACC,OAAO,GAAG;AAAA,UACV,UAAU;AAAA,UACV,MAAM,MAAM,QAAQ,OACnBC;kCAC4B,QAAQ,SAAS;AAAA,SAE7C,QACA,EAAE,UAAU,gBAAA,CAAiB;AAAA,QAE9B;AAAA,QACD;AAAA,UACC;AAAA,UACA,UAAU;AAAA,UACV,MAAM,MAAM,QAAQ,OACnBA;8BACwB,QAAQ,SAAS;AAAA,SAEzC,QACA,EAAE,UAAU,gBAAA,CAAiB;AAAA,QAE9B;AAAA,MAAA;AAAA,IAEF;AAAA,IAED,KAAKD,oBAAS,yBAAyB,OAAO;AACvC,YAAA,OAAO,MAAM,QAAQ,OAC1BC,WAAAA;AAAAA,UACM,QAAQ,SAAS;AAAA;AAAA;AAAA,OAIvB,QACA,EAAE,UAAU,gBAAiB,CAAA;AAGvB,aAAA;AAAA,QACN;AAAA,QACA,UAAU;AAAA,QACV;AAAA,MAAA;AAAA,IAED;AAAA,IAED,KAAKD,oBAAS,yBAAyB,QAAQ;AACxC,YAAA,OAAO,MAAM,QAAQ,OAC1BC,WAAAA;AAAAA;AAAAA,iBAEa,QAAQ,SAAS;AAAA;AAAA;AAAA,OAI9B,QACA,EAAE,UAAU,gBAAiB,CAAA;AAGvB,aAAA;AAAA,QACN;AAAA,QACA,UAAU;AAAA,QACV;AAAA,MAAA;AAAA,IAED;AAAA,IAED,SAAS;AACD,aAAA;AAAA,QACN;AAAA,QACA,UAAU;AAAA,QACV,MAAM,MAAM,QAAQ,OACnBA;WACM,QAAQ,SAAS;AAAA,QAEvB,QACA,EAAE,UAAU,gBAAA,CAAiB;AAAA,MAAA;AAAA,IAG/B;AAAA,EACD;AACF;;"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as prismicT from "@prismicio/types";
|
|
2
|
+
import { stripIndent } from "common-tags";
|
|
3
|
+
const prettierOptions = { parser: "typescript" };
|
|
4
|
+
const dotPath = (segments) => {
|
|
5
|
+
return segments.join(".");
|
|
6
|
+
};
|
|
7
|
+
const snippetRead = async (data, { helpers }) => {
|
|
8
|
+
const { fieldPath } = data;
|
|
9
|
+
const label = "React";
|
|
10
|
+
switch (data.model.type) {
|
|
11
|
+
case prismicT.CustomTypeModelFieldType.Link: {
|
|
12
|
+
return {
|
|
13
|
+
label,
|
|
14
|
+
language: "tsx",
|
|
15
|
+
code: await helpers.format(stripIndent`
|
|
16
|
+
<PrismicLink field={${dotPath(fieldPath)}}>Link</PrismicLink>
|
|
17
|
+
`, void 0, { prettier: prettierOptions })
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
case prismicT.CustomTypeModelFieldType.Image: {
|
|
21
|
+
return [
|
|
22
|
+
{
|
|
23
|
+
label: `${label} (next/image)`,
|
|
24
|
+
language: "tsx",
|
|
25
|
+
code: await helpers.format(stripIndent`
|
|
26
|
+
<PrismicNextImage field={${dotPath(fieldPath)}} />
|
|
27
|
+
`, void 0, { prettier: prettierOptions })
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
label,
|
|
31
|
+
language: "tsx",
|
|
32
|
+
code: await helpers.format(stripIndent`
|
|
33
|
+
<PrismicImage field={${dotPath(fieldPath)}} />
|
|
34
|
+
`, void 0, { prettier: prettierOptions })
|
|
35
|
+
}
|
|
36
|
+
];
|
|
37
|
+
}
|
|
38
|
+
case prismicT.CustomTypeModelFieldType.Group: {
|
|
39
|
+
const code = await helpers.format(stripIndent`
|
|
40
|
+
<>{${dotPath(fieldPath)}.map(item => (
|
|
41
|
+
<>{/* Render content for item */}</>
|
|
42
|
+
))}</>
|
|
43
|
+
`, void 0, { prettier: prettierOptions });
|
|
44
|
+
return {
|
|
45
|
+
label,
|
|
46
|
+
language: "tsx",
|
|
47
|
+
code
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
case prismicT.CustomTypeModelFieldType.Slices: {
|
|
51
|
+
const code = await helpers.format(stripIndent`
|
|
52
|
+
<SliceZone
|
|
53
|
+
slices={${dotPath(fieldPath)}}
|
|
54
|
+
components={components}
|
|
55
|
+
/>
|
|
56
|
+
`, void 0, { prettier: prettierOptions });
|
|
57
|
+
return {
|
|
58
|
+
label,
|
|
59
|
+
language: "tsx",
|
|
60
|
+
code
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
default: {
|
|
64
|
+
return {
|
|
65
|
+
label,
|
|
66
|
+
language: "tsx",
|
|
67
|
+
code: await helpers.format(stripIndent`
|
|
68
|
+
<>{${dotPath(fieldPath)}}</>
|
|
69
|
+
`, void 0, { prettier: prettierOptions })
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
export {
|
|
75
|
+
snippetRead
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=snippet-read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snippet-read.js","sources":["../../src/hooks/snippet-read.ts"],"sourcesContent":["import type { SnippetReadHook } from \"@slicemachine/plugin-kit\";\nimport * as prismicT from \"@prismicio/types\";\nimport { stripIndent } from \"common-tags\";\nimport type { Config as PrettierConfig } from \"prettier\";\n\nimport type { PluginOptions } from \"../types\";\n\nconst prettierOptions: PrettierConfig = { parser: \"typescript\" };\n\nconst dotPath = (segments: string[]): string => {\n\treturn segments.join(\".\");\n};\n\nexport const snippetRead: SnippetReadHook<PluginOptions> = async (\n\tdata,\n\t{ helpers },\n) => {\n\tconst { fieldPath } = data;\n\n\tconst label = \"React\";\n\n\tswitch (data.model.type) {\n\t\tcase prismicT.CustomTypeModelFieldType.Link: {\n\t\t\treturn {\n\t\t\t\tlabel,\n\t\t\t\tlanguage: \"tsx\",\n\t\t\t\tcode: await helpers.format(\n\t\t\t\t\tstripIndent`\n\t\t\t\t\t\t<PrismicLink field={${dotPath(fieldPath)}}>Link</PrismicLink>\n\t\t\t\t\t`,\n\t\t\t\t\tundefined,\n\t\t\t\t\t{ prettier: prettierOptions },\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\n\t\tcase prismicT.CustomTypeModelFieldType.Image: {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tlabel: `${label} (next/image)`,\n\t\t\t\t\tlanguage: \"tsx\",\n\t\t\t\t\tcode: await helpers.format(\n\t\t\t\t\t\tstripIndent`\n\t\t\t\t\t\t\t<PrismicNextImage field={${dotPath(fieldPath)}} />\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t{ prettier: prettierOptions },\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel,\n\t\t\t\t\tlanguage: \"tsx\",\n\t\t\t\t\tcode: await helpers.format(\n\t\t\t\t\t\tstripIndent`\n\t\t\t\t\t\t\t<PrismicImage field={${dotPath(fieldPath)}} />\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t{ prettier: prettierOptions },\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\tcase prismicT.CustomTypeModelFieldType.Group: {\n\t\t\tconst code = await helpers.format(\n\t\t\t\tstripIndent`\n\t\t\t\t\t<>{${dotPath(fieldPath)}.map(item => (\n\t\t\t\t\t <>{/* Render content for item */}</>\n\t\t\t\t\t))}</>\n\t\t\t\t`,\n\t\t\t\tundefined,\n\t\t\t\t{ prettier: prettierOptions },\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlabel,\n\t\t\t\tlanguage: \"tsx\",\n\t\t\t\tcode,\n\t\t\t};\n\t\t}\n\n\t\tcase prismicT.CustomTypeModelFieldType.Slices: {\n\t\t\tconst code = await helpers.format(\n\t\t\t\tstripIndent`\n\t\t\t\t\t<SliceZone\n\t\t\t\t\t slices={${dotPath(fieldPath)}}\n\t\t\t\t\t components={components}\n\t\t\t\t\t/>\n\t\t\t\t`,\n\t\t\t\tundefined,\n\t\t\t\t{ prettier: prettierOptions },\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlabel,\n\t\t\t\tlanguage: \"tsx\",\n\t\t\t\tcode,\n\t\t\t};\n\t\t}\n\n\t\tdefault: {\n\t\t\treturn {\n\t\t\t\tlabel,\n\t\t\t\tlanguage: \"tsx\",\n\t\t\t\tcode: await helpers.format(\n\t\t\t\t\tstripIndent`\n\t\t\t\t\t\t<>{${dotPath(fieldPath)}}</>\n\t\t\t\t\t`,\n\t\t\t\t\tundefined,\n\t\t\t\t\t{ prettier: prettierOptions },\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t}\n};\n"],"names":[],"mappings":";;AAOA,MAAM,kBAAkC,EAAE,QAAQ;AAElD,MAAM,UAAU,CAAC,aAA8B;AACvC,SAAA,SAAS,KAAK,GAAG;AACzB;AAEO,MAAM,cAA8C,OAC1D,MACA,EAAE,cACC;AACG,QAAA,EAAE,UAAc,IAAA;AAEtB,QAAM,QAAQ;AAEN,UAAA,KAAK,MAAM,MAAM;AAAA,IACxB,KAAK,SAAS,yBAAyB,MAAM;AACrC,aAAA;AAAA,QACN;AAAA,QACA,UAAU;AAAA,QACV,MAAM,MAAM,QAAQ,OACnB;AAAA,4BACuB,QAAQ,SAAS;AAAA,QAExC,QACA,EAAE,UAAU,gBAAA,CAAiB;AAAA,MAAA;AAAA,IAG/B;AAAA,IAED,KAAK,SAAS,yBAAyB,OAAO;AACtC,aAAA;AAAA,QACN;AAAA,UACC,OAAO,GAAG;AAAA,UACV,UAAU;AAAA,UACV,MAAM,MAAM,QAAQ,OACnB;AAAA,kCAC4B,QAAQ,SAAS;AAAA,SAE7C,QACA,EAAE,UAAU,gBAAA,CAAiB;AAAA,QAE9B;AAAA,QACD;AAAA,UACC;AAAA,UACA,UAAU;AAAA,UACV,MAAM,MAAM,QAAQ,OACnB;AAAA,8BACwB,QAAQ,SAAS;AAAA,SAEzC,QACA,EAAE,UAAU,gBAAA,CAAiB;AAAA,QAE9B;AAAA,MAAA;AAAA,IAEF;AAAA,IAED,KAAK,SAAS,yBAAyB,OAAO;AACvC,YAAA,OAAO,MAAM,QAAQ,OAC1B;AAAA,UACM,QAAQ,SAAS;AAAA;AAAA;AAAA,OAIvB,QACA,EAAE,UAAU,gBAAiB,CAAA;AAGvB,aAAA;AAAA,QACN;AAAA,QACA,UAAU;AAAA,QACV;AAAA,MAAA;AAAA,IAED;AAAA,IAED,KAAK,SAAS,yBAAyB,QAAQ;AACxC,YAAA,OAAO,MAAM,QAAQ,OAC1B;AAAA;AAAA,iBAEa,QAAQ,SAAS;AAAA;AAAA;AAAA,OAI9B,QACA,EAAE,UAAU,gBAAiB,CAAA;AAGvB,aAAA;AAAA,QACN;AAAA,QACA,UAAU;AAAA,QACV;AAAA,MAAA;AAAA,IAED;AAAA,IAED,SAAS;AACD,aAAA;AAAA,QACN;AAAA,QACA,UAAU;AAAA,QACV,MAAM,MAAM,QAAQ,OACnB;AAAA,WACM,QAAQ,SAAS;AAAA,QAEvB,QACA,EAAE,UAAU,gBAAA,CAAiB;AAAA,MAAA;AAAA,IAG/B;AAAA,EACD;AACF;"}
|