@slicemachine/adapter-nuxt 0.3.10-dev-next-release.9 → 0.3.10-dev-next-release.11

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.
Files changed (207) hide show
  1. package/dist/hooks/project-init.cjs +26 -29
  2. package/dist/hooks/project-init.cjs.map +1 -1
  3. package/dist/hooks/project-init.js +26 -28
  4. package/dist/hooks/project-init.js.map +1 -1
  5. package/dist/hooks/slice-create.cjs +28 -46
  6. package/dist/hooks/slice-create.cjs.map +1 -1
  7. package/dist/hooks/slice-create.js +28 -28
  8. package/dist/hooks/slice-create.js.map +1 -1
  9. package/dist/lib/checkHasSrcDirectory.cjs +5 -2
  10. package/dist/lib/checkHasSrcDirectory.cjs.map +1 -1
  11. package/dist/lib/checkHasSrcDirectory.js +5 -2
  12. package/dist/lib/checkHasSrcDirectory.js.map +1 -1
  13. package/dist/lib/checkIsTypeScriptProject.cjs +2 -3
  14. package/dist/lib/checkIsTypeScriptProject.cjs.map +1 -1
  15. package/dist/lib/checkIsTypeScriptProject.js +2 -3
  16. package/dist/lib/checkIsTypeScriptProject.js.map +1 -1
  17. package/dist/lib/getJSFileExtension.cjs +12 -0
  18. package/dist/lib/getJSFileExtension.cjs.map +1 -0
  19. package/dist/lib/getJSFileExtension.d.ts +5 -0
  20. package/dist/lib/getJSFileExtension.js +12 -0
  21. package/dist/lib/getJSFileExtension.js.map +1 -0
  22. package/dist/lib/upsertSliceLibraryIndexFile.cjs +30 -22
  23. package/dist/lib/upsertSliceLibraryIndexFile.cjs.map +1 -1
  24. package/dist/lib/upsertSliceLibraryIndexFile.js +30 -21
  25. package/dist/lib/upsertSliceLibraryIndexFile.js.map +1 -1
  26. package/dist/plugin.cjs +178 -36
  27. package/dist/plugin.cjs.map +1 -1
  28. package/dist/plugin.js +178 -36
  29. package/dist/plugin.js.map +1 -1
  30. package/dist/types.d.ts +22 -0
  31. package/package.json +3 -5
  32. package/src/hooks/project-init.ts +32 -36
  33. package/src/hooks/slice-create.ts +39 -34
  34. package/src/lib/checkHasSrcDirectory.ts +5 -2
  35. package/src/lib/checkIsTypeScriptProject.ts +5 -4
  36. package/src/lib/getJSFileExtension.ts +22 -0
  37. package/src/lib/upsertSliceLibraryIndexFile.ts +55 -36
  38. package/src/plugin.ts +247 -37
  39. package/src/types.ts +25 -0
  40. package/dist/hooks/customType-asset-delete.cjs +0 -31
  41. package/dist/hooks/customType-asset-delete.cjs.map +0 -1
  42. package/dist/hooks/customType-asset-delete.d.ts +0 -3
  43. package/dist/hooks/customType-asset-delete.js +0 -14
  44. package/dist/hooks/customType-asset-delete.js.map +0 -1
  45. package/dist/hooks/customType-asset-read.cjs +0 -34
  46. package/dist/hooks/customType-asset-read.cjs.map +0 -1
  47. package/dist/hooks/customType-asset-read.d.ts +0 -3
  48. package/dist/hooks/customType-asset-read.js +0 -17
  49. package/dist/hooks/customType-asset-read.js.map +0 -1
  50. package/dist/hooks/customType-asset-update.cjs +0 -34
  51. package/dist/hooks/customType-asset-update.cjs.map +0 -1
  52. package/dist/hooks/customType-asset-update.d.ts +0 -3
  53. package/dist/hooks/customType-asset-update.js +0 -16
  54. package/dist/hooks/customType-asset-update.js.map +0 -1
  55. package/dist/hooks/customType-create.cjs +0 -43
  56. package/dist/hooks/customType-create.cjs.map +0 -1
  57. package/dist/hooks/customType-create.d.ts +0 -3
  58. package/dist/hooks/customType-create.js +0 -25
  59. package/dist/hooks/customType-create.js.map +0 -1
  60. package/dist/hooks/customType-delete.cjs +0 -32
  61. package/dist/hooks/customType-delete.cjs.map +0 -1
  62. package/dist/hooks/customType-delete.d.ts +0 -3
  63. package/dist/hooks/customType-delete.js +0 -15
  64. package/dist/hooks/customType-delete.js.map +0 -1
  65. package/dist/hooks/customType-read.cjs +0 -31
  66. package/dist/hooks/customType-read.cjs.map +0 -1
  67. package/dist/hooks/customType-read.d.ts +0 -3
  68. package/dist/hooks/customType-read.js +0 -14
  69. package/dist/hooks/customType-read.js.map +0 -1
  70. package/dist/hooks/customType-rename.cjs +0 -6
  71. package/dist/hooks/customType-rename.cjs.map +0 -1
  72. package/dist/hooks/customType-rename.d.ts +0 -1
  73. package/dist/hooks/customType-rename.js +0 -6
  74. package/dist/hooks/customType-rename.js.map +0 -1
  75. package/dist/hooks/customType-update.cjs +0 -6
  76. package/dist/hooks/customType-update.cjs.map +0 -1
  77. package/dist/hooks/customType-update.d.ts +0 -1
  78. package/dist/hooks/customType-update.js +0 -6
  79. package/dist/hooks/customType-update.js.map +0 -1
  80. package/dist/hooks/customTypeLibrary-read.cjs +0 -55
  81. package/dist/hooks/customTypeLibrary-read.cjs.map +0 -1
  82. package/dist/hooks/customTypeLibrary-read.d.ts +0 -3
  83. package/dist/hooks/customTypeLibrary-read.js +0 -37
  84. package/dist/hooks/customTypeLibrary-read.js.map +0 -1
  85. package/dist/hooks/slice-asset-delete.cjs +0 -33
  86. package/dist/hooks/slice-asset-delete.cjs.map +0 -1
  87. package/dist/hooks/slice-asset-delete.d.ts +0 -3
  88. package/dist/hooks/slice-asset-delete.js +0 -16
  89. package/dist/hooks/slice-asset-delete.js.map +0 -1
  90. package/dist/hooks/slice-asset-read.cjs +0 -36
  91. package/dist/hooks/slice-asset-read.cjs.map +0 -1
  92. package/dist/hooks/slice-asset-read.d.ts +0 -3
  93. package/dist/hooks/slice-asset-read.js +0 -19
  94. package/dist/hooks/slice-asset-read.js.map +0 -1
  95. package/dist/hooks/slice-asset-update.cjs +0 -36
  96. package/dist/hooks/slice-asset-update.cjs.map +0 -1
  97. package/dist/hooks/slice-asset-update.d.ts +0 -3
  98. package/dist/hooks/slice-asset-update.js +0 -18
  99. package/dist/hooks/slice-asset-update.js.map +0 -1
  100. package/dist/hooks/slice-delete.cjs +0 -41
  101. package/dist/hooks/slice-delete.cjs.map +0 -1
  102. package/dist/hooks/slice-delete.d.ts +0 -3
  103. package/dist/hooks/slice-delete.js +0 -24
  104. package/dist/hooks/slice-delete.js.map +0 -1
  105. package/dist/hooks/slice-read.cjs +0 -62
  106. package/dist/hooks/slice-read.cjs.map +0 -1
  107. package/dist/hooks/slice-read.d.ts +0 -3
  108. package/dist/hooks/slice-read.js +0 -44
  109. package/dist/hooks/slice-read.js.map +0 -1
  110. package/dist/hooks/slice-rename.cjs +0 -51
  111. package/dist/hooks/slice-rename.cjs.map +0 -1
  112. package/dist/hooks/slice-rename.d.ts +0 -3
  113. package/dist/hooks/slice-rename.js +0 -34
  114. package/dist/hooks/slice-rename.js.map +0 -1
  115. package/dist/hooks/slice-update.cjs +0 -14
  116. package/dist/hooks/slice-update.cjs.map +0 -1
  117. package/dist/hooks/slice-update.d.ts +0 -3
  118. package/dist/hooks/slice-update.js +0 -14
  119. package/dist/hooks/slice-update.js.map +0 -1
  120. package/dist/hooks/sliceLibrary-read.cjs +0 -52
  121. package/dist/hooks/sliceLibrary-read.cjs.map +0 -1
  122. package/dist/hooks/sliceLibrary-read.d.ts +0 -3
  123. package/dist/hooks/sliceLibrary-read.js +0 -34
  124. package/dist/hooks/sliceLibrary-read.js.map +0 -1
  125. package/dist/lib/buildCustomTypeAssetPath.cjs +0 -29
  126. package/dist/lib/buildCustomTypeAssetPath.cjs.map +0 -1
  127. package/dist/lib/buildCustomTypeAssetPath.d.ts +0 -9
  128. package/dist/lib/buildCustomTypeAssetPath.js +0 -12
  129. package/dist/lib/buildCustomTypeAssetPath.js.map +0 -1
  130. package/dist/lib/buildCustomTypeDirectoryPath.cjs +0 -26
  131. package/dist/lib/buildCustomTypeDirectoryPath.cjs.map +0 -1
  132. package/dist/lib/buildCustomTypeDirectoryPath.d.ts +0 -8
  133. package/dist/lib/buildCustomTypeDirectoryPath.js +0 -9
  134. package/dist/lib/buildCustomTypeDirectoryPath.js.map +0 -1
  135. package/dist/lib/buildCustomTypeLibraryDirectoryPath.cjs +0 -7
  136. package/dist/lib/buildCustomTypeLibraryDirectoryPath.cjs.map +0 -1
  137. package/dist/lib/buildCustomTypeLibraryDirectoryPath.d.ts +0 -7
  138. package/dist/lib/buildCustomTypeLibraryDirectoryPath.js +0 -7
  139. package/dist/lib/buildCustomTypeLibraryDirectoryPath.js.map +0 -1
  140. package/dist/lib/buildSliceAssetPath.cjs +0 -34
  141. package/dist/lib/buildSliceAssetPath.cjs.map +0 -1
  142. package/dist/lib/buildSliceAssetPath.d.ts +0 -11
  143. package/dist/lib/buildSliceAssetPath.js +0 -17
  144. package/dist/lib/buildSliceAssetPath.js.map +0 -1
  145. package/dist/lib/buildSliceDirectoryPath.cjs +0 -30
  146. package/dist/lib/buildSliceDirectoryPath.cjs.map +0 -1
  147. package/dist/lib/buildSliceDirectoryPath.d.ts +0 -10
  148. package/dist/lib/buildSliceDirectoryPath.js +0 -13
  149. package/dist/lib/buildSliceDirectoryPath.js.map +0 -1
  150. package/dist/lib/buildSliceLibraryDirectoryPath.cjs +0 -7
  151. package/dist/lib/buildSliceLibraryDirectoryPath.cjs.map +0 -1
  152. package/dist/lib/buildSliceLibraryDirectoryPath.d.ts +0 -8
  153. package/dist/lib/buildSliceLibraryDirectoryPath.js +0 -7
  154. package/dist/lib/buildSliceLibraryDirectoryPath.js.map +0 -1
  155. package/dist/lib/checkPathExists.cjs +0 -30
  156. package/dist/lib/checkPathExists.cjs.map +0 -1
  157. package/dist/lib/checkPathExists.d.ts +0 -2
  158. package/dist/lib/checkPathExists.js +0 -13
  159. package/dist/lib/checkPathExists.js.map +0 -1
  160. package/dist/lib/isSharedSliceModel.cjs +0 -7
  161. package/dist/lib/isSharedSliceModel.cjs.map +0 -1
  162. package/dist/lib/isSharedSliceModel.d.ts +0 -335
  163. package/dist/lib/isSharedSliceModel.js +0 -7
  164. package/dist/lib/isSharedSliceModel.js.map +0 -1
  165. package/dist/lib/readJSONFile.cjs +0 -26
  166. package/dist/lib/readJSONFile.cjs.map +0 -1
  167. package/dist/lib/readJSONFile.d.ts +0 -1
  168. package/dist/lib/readJSONFile.js +0 -9
  169. package/dist/lib/readJSONFile.js.map +0 -1
  170. package/dist/lib/updateSliceModelFile.cjs +0 -33
  171. package/dist/lib/updateSliceModelFile.cjs.map +0 -1
  172. package/dist/lib/updateSliceModelFile.d.ts +0 -9
  173. package/dist/lib/updateSliceModelFile.js +0 -15
  174. package/dist/lib/updateSliceModelFile.js.map +0 -1
  175. package/dist/lib/upsertGlobalContentTypes.cjs +0 -56
  176. package/dist/lib/upsertGlobalContentTypes.cjs.map +0 -1
  177. package/dist/lib/upsertGlobalContentTypes.d.ts +0 -12
  178. package/dist/lib/upsertGlobalContentTypes.js +0 -38
  179. package/dist/lib/upsertGlobalContentTypes.js.map +0 -1
  180. package/src/hooks/customType-asset-delete.ts +0 -18
  181. package/src/hooks/customType-asset-read.ts +0 -22
  182. package/src/hooks/customType-asset-update.ts +0 -20
  183. package/src/hooks/customType-create.ts +0 -45
  184. package/src/hooks/customType-delete.ts +0 -21
  185. package/src/hooks/customType-read.ts +0 -24
  186. package/src/hooks/customType-rename.ts +0 -3
  187. package/src/hooks/customType-update.ts +0 -3
  188. package/src/hooks/customTypeLibrary-read.ts +0 -58
  189. package/src/hooks/slice-asset-delete.ts +0 -21
  190. package/src/hooks/slice-asset-read.ts +0 -25
  191. package/src/hooks/slice-asset-update.ts +0 -23
  192. package/src/hooks/slice-delete.ts +0 -41
  193. package/src/hooks/slice-read.ts +0 -69
  194. package/src/hooks/slice-rename.ts +0 -46
  195. package/src/hooks/slice-update.ts +0 -19
  196. package/src/hooks/sliceLibrary-read.ts +0 -48
  197. package/src/lib/buildCustomTypeAssetPath.ts +0 -24
  198. package/src/lib/buildCustomTypeDirectoryPath.ts +0 -20
  199. package/src/lib/buildCustomTypeLibraryDirectoryPath.ts +0 -13
  200. package/src/lib/buildSliceAssetPath.ts +0 -32
  201. package/src/lib/buildSliceDirectoryPath.ts +0 -26
  202. package/src/lib/buildSliceLibraryDirectoryPath.ts +0 -14
  203. package/src/lib/checkPathExists.ts +0 -12
  204. package/src/lib/isSharedSliceModel.ts +0 -14
  205. package/src/lib/readJSONFile.ts +0 -7
  206. package/src/lib/updateSliceModelFile.ts +0 -33
  207. package/src/lib/upsertGlobalContentTypes.ts +0 -61
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const checkPathExists = require("./checkPathExists.cjs");
3
+ const fs = require("@slicemachine/plugin-kit/fs");
4
4
  const checkIsTypeScriptProject = async (args) => {
5
- const tsConfigPath = args.helpers.joinPathFromRoot("tsconfig.json");
6
- return args.options.typescript ?? await checkPathExists.checkPathExists(tsConfigPath);
5
+ return args.options.typescript ?? fs.checkIsTypeScriptProject({ helpers: args.helpers });
7
6
  };
8
7
  exports.checkIsTypeScriptProject = checkIsTypeScriptProject;
9
8
  //# sourceMappingURL=checkIsTypeScriptProject.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkIsTypeScriptProject.cjs","sources":["../../../src/lib/checkIsTypeScriptProject.ts"],"sourcesContent":["import { SliceMachineContext } from \"@slicemachine/plugin-kit\";\n\nimport { PluginOptions } from \"../types\";\nimport { checkPathExists } from \"./checkPathExists\";\n\ntype CheckIsTypeScriptProjectArgs = {\n\thelpers: SliceMachineContext<PluginOptions>[\"helpers\"];\n\toptions: SliceMachineContext<PluginOptions>[\"options\"];\n};\n\nexport const checkIsTypeScriptProject = async (\n\targs: CheckIsTypeScriptProjectArgs,\n): Promise<boolean> => {\n\tconst tsConfigPath = args.helpers.joinPathFromRoot(\"tsconfig.json\");\n\n\treturn args.options.typescript ?? (await checkPathExists(tsConfigPath));\n};\n"],"names":["checkPathExists"],"mappings":";;;AAUa,MAAA,2BAA2B,OACvC,SACqB;AACrB,QAAM,eAAe,KAAK,QAAQ,iBAAiB,eAAe;AAElE,SAAO,KAAK,QAAQ,cAAe,MAAMA,gCAAgB,YAAY;AACtE;;"}
1
+ {"version":3,"file":"checkIsTypeScriptProject.cjs","sources":["../../../src/lib/checkIsTypeScriptProject.ts"],"sourcesContent":["import { SliceMachineContext } from \"@slicemachine/plugin-kit\";\nimport { checkIsTypeScriptProject as baseCheckIsTypeScriptProject } from \"@slicemachine/plugin-kit/fs\";\n\nimport { PluginOptions } from \"../types\";\n\ntype CheckIsTypeScriptProjectArgs = {\n\thelpers: SliceMachineContext<PluginOptions>[\"helpers\"];\n\toptions: SliceMachineContext<PluginOptions>[\"options\"];\n};\n\nexport const checkIsTypeScriptProject = async (\n\targs: CheckIsTypeScriptProjectArgs,\n): Promise<boolean> => {\n\treturn (\n\t\targs.options.typescript ??\n\t\tbaseCheckIsTypeScriptProject({ helpers: args.helpers })\n\t);\n};\n"],"names":["baseCheckIsTypeScriptProject"],"mappings":";;;AAUa,MAAA,2BAA2B,OACvC,SACqB;AAEpB,SAAA,KAAK,QAAQ,cACbA,GAAAA,yBAA6B,EAAE,SAAS,KAAK,SAAS;AAExD;;"}
@@ -1,7 +1,6 @@
1
- import { checkPathExists } from "./checkPathExists.js";
1
+ import { checkIsTypeScriptProject as checkIsTypeScriptProject$1 } from "@slicemachine/plugin-kit/fs";
2
2
  const checkIsTypeScriptProject = async (args) => {
3
- const tsConfigPath = args.helpers.joinPathFromRoot("tsconfig.json");
4
- return args.options.typescript ?? await checkPathExists(tsConfigPath);
3
+ return args.options.typescript ?? checkIsTypeScriptProject$1({ helpers: args.helpers });
5
4
  };
6
5
  export {
7
6
  checkIsTypeScriptProject
@@ -1 +1 @@
1
- {"version":3,"file":"checkIsTypeScriptProject.js","sources":["../../../src/lib/checkIsTypeScriptProject.ts"],"sourcesContent":["import { SliceMachineContext } from \"@slicemachine/plugin-kit\";\n\nimport { PluginOptions } from \"../types\";\nimport { checkPathExists } from \"./checkPathExists\";\n\ntype CheckIsTypeScriptProjectArgs = {\n\thelpers: SliceMachineContext<PluginOptions>[\"helpers\"];\n\toptions: SliceMachineContext<PluginOptions>[\"options\"];\n};\n\nexport const checkIsTypeScriptProject = async (\n\targs: CheckIsTypeScriptProjectArgs,\n): Promise<boolean> => {\n\tconst tsConfigPath = args.helpers.joinPathFromRoot(\"tsconfig.json\");\n\n\treturn args.options.typescript ?? (await checkPathExists(tsConfigPath));\n};\n"],"names":[],"mappings":";AAUa,MAAA,2BAA2B,OACvC,SACqB;AACrB,QAAM,eAAe,KAAK,QAAQ,iBAAiB,eAAe;AAElE,SAAO,KAAK,QAAQ,cAAe,MAAM,gBAAgB,YAAY;AACtE;"}
1
+ {"version":3,"file":"checkIsTypeScriptProject.js","sources":["../../../src/lib/checkIsTypeScriptProject.ts"],"sourcesContent":["import { SliceMachineContext } from \"@slicemachine/plugin-kit\";\nimport { checkIsTypeScriptProject as baseCheckIsTypeScriptProject } from \"@slicemachine/plugin-kit/fs\";\n\nimport { PluginOptions } from \"../types\";\n\ntype CheckIsTypeScriptProjectArgs = {\n\thelpers: SliceMachineContext<PluginOptions>[\"helpers\"];\n\toptions: SliceMachineContext<PluginOptions>[\"options\"];\n};\n\nexport const checkIsTypeScriptProject = async (\n\targs: CheckIsTypeScriptProjectArgs,\n): Promise<boolean> => {\n\treturn (\n\t\targs.options.typescript ??\n\t\tbaseCheckIsTypeScriptProject({ helpers: args.helpers })\n\t);\n};\n"],"names":["baseCheckIsTypeScriptProject"],"mappings":";AAUa,MAAA,2BAA2B,OACvC,SACqB;AAEpB,SAAA,KAAK,QAAQ,cACbA,2BAA6B,EAAE,SAAS,KAAK,SAAS;AAExD;"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const checkIsTypeScriptProject = require("./checkIsTypeScriptProject.cjs");
4
+ const getJSFileExtension = async ({ helpers, options }) => {
5
+ const isTypeScriptProject = await checkIsTypeScriptProject.checkIsTypeScriptProject({
6
+ helpers,
7
+ options
8
+ });
9
+ return isTypeScriptProject ? "ts" : "js";
10
+ };
11
+ exports.getJSFileExtension = getJSFileExtension;
12
+ //# sourceMappingURL=getJSFileExtension.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getJSFileExtension.cjs","sources":["../../../src/lib/getJSFileExtension.ts"],"sourcesContent":["import { SliceMachineContext } from \"@slicemachine/plugin-kit\";\n\nimport { PluginOptions } from \"../types\";\n\nimport { checkIsTypeScriptProject } from \"./checkIsTypeScriptProject\";\n\ntype GetJSFileExtensionArgs = Pick<\n\tSliceMachineContext<PluginOptions>,\n\t\"helpers\" | \"options\"\n>;\n\nexport const getJSFileExtension = async ({\n\thelpers,\n\toptions,\n}: GetJSFileExtensionArgs): Promise<string> => {\n\tconst isTypeScriptProject = await checkIsTypeScriptProject({\n\t\thelpers,\n\t\toptions,\n\t});\n\n\treturn isTypeScriptProject ? \"ts\" : \"js\";\n};\n"],"names":["checkIsTypeScriptProject"],"mappings":";;;AAWO,MAAM,qBAAqB,OAAO,EACxC,SACA,cAC6C;AACvC,QAAA,sBAAsB,MAAMA,kDAAyB;AAAA,IAC1D;AAAA,IACA;AAAA,EAAA,CACA;AAED,SAAO,sBAAsB,OAAO;AACrC;;"}
@@ -0,0 +1,5 @@
1
+ import { SliceMachineContext } from "@slicemachine/plugin-kit";
2
+ import { PluginOptions } from "../types";
3
+ type GetJSFileExtensionArgs = Pick<SliceMachineContext<PluginOptions>, "helpers" | "options">;
4
+ export declare const getJSFileExtension: ({ helpers, options, }: GetJSFileExtensionArgs) => Promise<string>;
5
+ export {};
@@ -0,0 +1,12 @@
1
+ import { checkIsTypeScriptProject } from "./checkIsTypeScriptProject.js";
2
+ const getJSFileExtension = async ({ helpers, options }) => {
3
+ const isTypeScriptProject = await checkIsTypeScriptProject({
4
+ helpers,
5
+ options
6
+ });
7
+ return isTypeScriptProject ? "ts" : "js";
8
+ };
9
+ export {
10
+ getJSFileExtension
11
+ };
12
+ //# sourceMappingURL=getJSFileExtension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getJSFileExtension.js","sources":["../../../src/lib/getJSFileExtension.ts"],"sourcesContent":["import { SliceMachineContext } from \"@slicemachine/plugin-kit\";\n\nimport { PluginOptions } from \"../types\";\n\nimport { checkIsTypeScriptProject } from \"./checkIsTypeScriptProject\";\n\ntype GetJSFileExtensionArgs = Pick<\n\tSliceMachineContext<PluginOptions>,\n\t\"helpers\" | \"options\"\n>;\n\nexport const getJSFileExtension = async ({\n\thelpers,\n\toptions,\n}: GetJSFileExtensionArgs): Promise<string> => {\n\tconst isTypeScriptProject = await checkIsTypeScriptProject({\n\t\thelpers,\n\t\toptions,\n\t});\n\n\treturn isTypeScriptProject ? \"ts\" : \"js\";\n};\n"],"names":[],"mappings":";AAWO,MAAM,qBAAqB,OAAO,EACxC,SACA,cAC6C;AACvC,QAAA,sBAAsB,MAAM,yBAAyB;AAAA,IAC1D;AAAA,IACA;AAAA,EAAA,CACA;AAED,SAAO,sBAAsB,OAAO;AACrC;"}
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const fs = require("@slicemachine/plugin-kit/fs");
3
4
  const commonTags = require("common-tags");
4
- const fs = require("node:fs/promises");
5
5
  const path = require("node:path");
6
6
  const constants = require("../constants.cjs");
7
- const checkIsTypeScriptProject = require("./checkIsTypeScriptProject.cjs");
7
+ const getJSFileExtension = require("./getJSFileExtension.cjs");
8
8
  const pascalCase = require("./pascalCase.cjs");
9
- const buildSliceLibraryDirectoryPath = require("./buildSliceLibraryDirectoryPath.cjs");
10
9
  function _interopNamespaceDefault(e) {
11
10
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
12
11
  if (e) {
@@ -23,17 +22,8 @@ function _interopNamespaceDefault(e) {
23
22
  n.default = e;
24
23
  return Object.freeze(n);
25
24
  }
26
- const fs__namespace = /* @__PURE__ */ _interopNamespaceDefault(fs);
27
25
  const path__namespace = /* @__PURE__ */ _interopNamespaceDefault(path);
28
26
  const upsertSliceLibraryIndexFile = async (args) => {
29
- const isTypeScriptProject = await checkIsTypeScriptProject.checkIsTypeScriptProject({
30
- helpers: args.helpers,
31
- options: args.options
32
- });
33
- const filePath = path__namespace.join(buildSliceLibraryDirectoryPath.buildSliceLibraryDirectoryPath({
34
- libraryID: args.libraryID,
35
- helpers: args.helpers
36
- }), isTypeScriptProject ? "index.ts" : "index.js");
37
27
  const slices = await args.actions.readAllSliceModelsForLibrary({
38
28
  libraryID: args.libraryID
39
29
  });
@@ -46,11 +36,15 @@ const upsertSliceLibraryIndexFile = async (args) => {
46
36
  import { defineSliceZoneComponents } from "@prismicio/vue";
47
37
 
48
38
  export const components = defineSliceZoneComponents({
49
- ${slices.map((slice) => {
39
+ ${(await Promise.all(slices.map(async (slice) => {
50
40
  const id = slice.model.id;
51
- const dirName = pascalCase.pascalCase(slice.model.name);
41
+ const dirName = path__namespace.basename(await fs.buildSliceDirectoryPath({
42
+ model: slice.model,
43
+ helpers: args.helpers,
44
+ libraryID: args.libraryID
45
+ }));
52
46
  return `${id}: defineAsyncComponent(() => import("./${dirName}/index.vue"))`;
53
- }).join(",\n")}
47
+ }))).join(",\n")}
54
48
  });
55
49
  `;
56
50
  } else {
@@ -59,11 +53,15 @@ const upsertSliceLibraryIndexFile = async (args) => {
59
53
 
60
54
  import { defineSliceZoneComponents } from "@prismicio/vue";
61
55
 
62
- ${slices.map((slice) => {
56
+ ${(await Promise.all(slices.map(async (slice) => {
57
+ const dirName = path__namespace.basename(await fs.buildSliceDirectoryPath({
58
+ model: slice.model,
59
+ helpers: args.helpers,
60
+ libraryID: args.libraryID
61
+ }));
63
62
  const componentName = pascalCase.pascalCase(slice.model.name);
64
- const dirName = pascalCase.pascalCase(slice.model.name);
65
63
  return `import ${componentName} from "./${dirName}/index.vue";`;
66
- }).join("\n")}
64
+ }))).join("\n")}
67
65
 
68
66
  export const components = defineSliceZoneComponents({
69
67
  ${slices.map((slice) => {
@@ -74,10 +72,20 @@ const upsertSliceLibraryIndexFile = async (args) => {
74
72
  });
75
73
  `;
76
74
  }
77
- if (args.options.format) {
78
- contents = await args.helpers.format(contents, filePath);
79
- }
80
- await fs__namespace.writeFile(filePath, contents);
75
+ const extension = await getJSFileExtension.getJSFileExtension({
76
+ helpers: args.helpers,
77
+ options: args.options
78
+ });
79
+ const filePath = path__namespace.join(fs.buildSliceLibraryDirectoryPath({
80
+ libraryID: args.libraryID,
81
+ helpers: args.helpers
82
+ }), `index.${extension}`);
83
+ await fs.writeProjectFile({
84
+ filename: filePath,
85
+ contents,
86
+ format: args.options.format,
87
+ helpers: args.helpers
88
+ });
81
89
  };
82
90
  exports.upsertSliceLibraryIndexFile = upsertSliceLibraryIndexFile;
83
91
  //# sourceMappingURL=upsertSliceLibraryIndexFile.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"upsertSliceLibraryIndexFile.cjs","sources":["../../../src/lib/upsertSliceLibraryIndexFile.ts"],"sourcesContent":["import { SliceMachineContext } from \"@slicemachine/plugin-kit\";\nimport { stripIndent } from \"common-tags\";\nimport * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport { NON_EDITABLE_FILE_BANNER } from \"../constants\";\n\nimport { PluginOptions } from \"../types\";\n\nimport { checkIsTypeScriptProject } from \"./checkIsTypeScriptProject\";\nimport { pascalCase } from \"./pascalCase\";\nimport { buildSliceLibraryDirectoryPath } from \"./buildSliceLibraryDirectoryPath\";\n\ntype UpsertSliceLibraryIndexFileArgs = {\n\tlibraryID: string;\n} & SliceMachineContext<PluginOptions>;\n\nexport const upsertSliceLibraryIndexFile = async (\n\targs: UpsertSliceLibraryIndexFileArgs,\n): Promise<void> => {\n\tconst isTypeScriptProject = await checkIsTypeScriptProject({\n\t\thelpers: args.helpers,\n\t\toptions: args.options,\n\t});\n\n\tconst filePath = path.join(\n\t\tbuildSliceLibraryDirectoryPath({\n\t\t\tlibraryID: args.libraryID,\n\t\t\thelpers: args.helpers,\n\t\t}),\n\t\tisTypeScriptProject ? \"index.ts\" : \"index.js\",\n\t);\n\n\tconst slices = await args.actions.readAllSliceModelsForLibrary({\n\t\tlibraryID: args.libraryID,\n\t});\n\n\tlet contents: string;\n\n\tif (args.options.lazyLoadSlices) {\n\t\tcontents = stripIndent`\n\t\t\t${NON_EDITABLE_FILE_BANNER}\n\n\t\t\timport { defineAsyncComponent } from \"vue\";\n\t\t\timport { defineSliceZoneComponents } from \"@prismicio/vue\";\n\n\t\t\texport const components = defineSliceZoneComponents({\n\t\t\t\t${slices\n\t\t\t\t\t.map((slice) => {\n\t\t\t\t\t\tconst id = slice.model.id;\n\t\t\t\t\t\tconst dirName = pascalCase(slice.model.name);\n\n\t\t\t\t\t\treturn `${id}: defineAsyncComponent(() => import(\"./${dirName}/index.vue\"))`;\n\t\t\t\t\t})\n\t\t\t\t\t.join(\",\\n\")}\n\t\t\t});\n\t\t`;\n\t} else {\n\t\tcontents = stripIndent`\n\t\t\t${NON_EDITABLE_FILE_BANNER}\n\n\t\t\timport { defineSliceZoneComponents } from \"@prismicio/vue\";\n\n\t\t\t${slices\n\t\t\t\t.map((slice) => {\n\t\t\t\t\tconst componentName = pascalCase(slice.model.name);\n\t\t\t\t\tconst dirName = pascalCase(slice.model.name);\n\n\t\t\t\t\treturn `import ${componentName} from \"./${dirName}/index.vue\";`;\n\t\t\t\t})\n\t\t\t\t.join(\"\\n\")}\n\n\t\t\texport const components = defineSliceZoneComponents({\n\t\t\t\t${slices\n\t\t\t\t\t.map((slice) => {\n\t\t\t\t\t\tconst id = slice.model.id;\n\t\t\t\t\t\tconst componentName = pascalCase(slice.model.name);\n\n\t\t\t\t\t\treturn `${id}: ${componentName}`;\n\t\t\t\t\t})\n\t\t\t\t\t.join(\",\\n\")}\n\t\t\t});\n\t\t`;\n\t}\n\n\tif (args.options.format) {\n\t\tcontents = await args.helpers.format(contents, filePath);\n\t}\n\n\tawait fs.writeFile(filePath, contents);\n};\n"],"names":["checkIsTypeScriptProject","path","buildSliceLibraryDirectoryPath","stripIndent","NON_EDITABLE_FILE_BANNER","pascalCase","fs"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBa,MAAA,8BAA8B,OAC1C,SACkB;AACZ,QAAA,sBAAsB,MAAMA,kDAAyB;AAAA,IAC1D,SAAS,KAAK;AAAA,IACd,SAAS,KAAK;AAAA,EAAA,CACd;AAEK,QAAA,WAAWC,gBAAK,KACrBC,8DAA+B;AAAA,IAC9B,WAAW,KAAK;AAAA,IAChB,SAAS,KAAK;AAAA,EACd,CAAA,GACD,sBAAsB,aAAa,UAAU;AAG9C,QAAM,SAAS,MAAM,KAAK,QAAQ,6BAA6B;AAAA,IAC9D,WAAW,KAAK;AAAA,EAAA,CAChB;AAEG,MAAA;AAEA,MAAA,KAAK,QAAQ,gBAAgB;AACrB,eAAAC,WAAAA;AAAAA,KACRC;;;;;;MAMC,OACA,IAAI,CAAC,UAAS;AACR,YAAA,KAAK,MAAM,MAAM;AACvB,YAAM,UAAUC,WAAA,WAAW,MAAM,MAAM,IAAI;AAE3C,aAAO,GAAG,4CAA4C;AAAA,IAAA,CACtD,EACA,KAAK,KAAK;AAAA;AAAA;AAAA,EAAA,OAGR;AACK,eAAAF,WAAAA;AAAAA,KACRC;;;;KAIA,OACA,IAAI,CAAC,UAAS;AACd,YAAM,gBAAgBC,WAAA,WAAW,MAAM,MAAM,IAAI;AACjD,YAAM,UAAUA,WAAA,WAAW,MAAM,MAAM,IAAI;AAE3C,aAAO,UAAU,yBAAyB;AAAA,IAAA,CAC1C,EACA,KAAK,IAAI;AAAA;AAAA;AAAA,MAGR,OACA,IAAI,CAAC,UAAS;AACR,YAAA,KAAK,MAAM,MAAM;AACvB,YAAM,gBAAgBA,WAAA,WAAW,MAAM,MAAM,IAAI;AAEjD,aAAO,GAAG,OAAO;AAAA,IAAA,CACjB,EACA,KAAK,KAAK;AAAA;AAAA;AAAA,EAGd;AAEG,MAAA,KAAK,QAAQ,QAAQ;AACxB,eAAW,MAAM,KAAK,QAAQ,OAAO,UAAU,QAAQ;AAAA,EACvD;AAEK,QAAAC,cAAG,UAAU,UAAU,QAAQ;AACtC;;"}
1
+ {"version":3,"file":"upsertSliceLibraryIndexFile.cjs","sources":["../../../src/lib/upsertSliceLibraryIndexFile.ts"],"sourcesContent":["import { SliceMachineContext } from \"@slicemachine/plugin-kit\";\nimport {\n\tbuildSliceDirectoryPath,\n\tbuildSliceLibraryDirectoryPath,\n\twriteProjectFile,\n} from \"@slicemachine/plugin-kit/fs\";\nimport { stripIndent } from \"common-tags\";\nimport * as path from \"node:path\";\n\nimport { NON_EDITABLE_FILE_BANNER } from \"../constants\";\nimport { PluginOptions } from \"../types\";\n\nimport { getJSFileExtension } from \"./getJSFileExtension\";\nimport { pascalCase } from \"./pascalCase\";\n\ntype UpsertSliceLibraryIndexFileArgs = {\n\tlibraryID: string;\n} & SliceMachineContext<PluginOptions>;\n\nexport const upsertSliceLibraryIndexFile = async (\n\targs: UpsertSliceLibraryIndexFileArgs,\n): Promise<void> => {\n\tconst slices = await args.actions.readAllSliceModelsForLibrary({\n\t\tlibraryID: args.libraryID,\n\t});\n\n\tlet contents: string;\n\n\tif (args.options.lazyLoadSlices) {\n\t\tcontents = stripIndent`\n\t\t\t${NON_EDITABLE_FILE_BANNER}\n\n\t\t\timport { defineAsyncComponent } from \"vue\";\n\t\t\timport { defineSliceZoneComponents } from \"@prismicio/vue\";\n\n\t\t\texport const components = defineSliceZoneComponents({\n\t\t\t\t${(\n\t\t\t\t\tawait Promise.all(\n\t\t\t\t\t\tslices.map(async (slice) => {\n\t\t\t\t\t\t\tconst id = slice.model.id;\n\t\t\t\t\t\t\tconst dirName = path.basename(\n\t\t\t\t\t\t\t\tawait buildSliceDirectoryPath({\n\t\t\t\t\t\t\t\t\tmodel: slice.model,\n\t\t\t\t\t\t\t\t\thelpers: args.helpers,\n\t\t\t\t\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\treturn `${id}: defineAsyncComponent(() => import(\"./${dirName}/index.vue\"))`;\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t).join(\",\\n\")}\n\t\t\t});\n\t\t`;\n\t} else {\n\t\tcontents = stripIndent`\n\t\t\t${NON_EDITABLE_FILE_BANNER}\n\n\t\t\timport { defineSliceZoneComponents } from \"@prismicio/vue\";\n\n\t\t\t${(\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tslices.map(async (slice) => {\n\t\t\t\t\t\tconst dirName = path.basename(\n\t\t\t\t\t\t\tawait buildSliceDirectoryPath({\n\t\t\t\t\t\t\t\tmodel: slice.model,\n\t\t\t\t\t\t\t\thelpers: args.helpers,\n\t\t\t\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst componentName = pascalCase(slice.model.name);\n\n\t\t\t\t\t\treturn `import ${componentName} from \"./${dirName}/index.vue\";`;\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t).join(\"\\n\")}\n\n\t\t\texport const components = defineSliceZoneComponents({\n\t\t\t\t${slices\n\t\t\t\t\t.map((slice) => {\n\t\t\t\t\t\tconst id = slice.model.id;\n\t\t\t\t\t\tconst componentName = pascalCase(slice.model.name);\n\n\t\t\t\t\t\treturn `${id}: ${componentName}`;\n\t\t\t\t\t})\n\t\t\t\t\t.join(\",\\n\")}\n\t\t\t});\n\t\t`;\n\t}\n\n\tconst extension = await getJSFileExtension({\n\t\thelpers: args.helpers,\n\t\toptions: args.options,\n\t});\n\tconst filePath = path.join(\n\t\tbuildSliceLibraryDirectoryPath({\n\t\t\tlibraryID: args.libraryID,\n\t\t\thelpers: args.helpers,\n\t\t}),\n\t\t`index.${extension}`,\n\t);\n\n\tawait writeProjectFile({\n\t\tfilename: filePath,\n\t\tcontents,\n\t\tformat: args.options.format,\n\t\thelpers: args.helpers,\n\t});\n};\n"],"names":["stripIndent","NON_EDITABLE_FILE_BANNER","path","buildSliceDirectoryPath","pascalCase","getJSFileExtension","buildSliceLibraryDirectoryPath","writeProjectFile"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAmBa,MAAA,8BAA8B,OAC1C,SACkB;AAClB,QAAM,SAAS,MAAM,KAAK,QAAQ,6BAA6B;AAAA,IAC9D,WAAW,KAAK;AAAA,EAAA,CAChB;AAEG,MAAA;AAEA,MAAA,KAAK,QAAQ,gBAAgB;AACrB,eAAAA,WAAAA;AAAAA,KACRC;;;;;;OAOA,MAAM,QAAQ,IACb,OAAO,IAAI,OAAO,UAAS;AACpB,YAAA,KAAK,MAAM,MAAM;AACvB,YAAM,UAAUC,gBAAK,SACpB,MAAMC,GAAAA,wBAAwB;AAAA,QAC7B,OAAO,MAAM;AAAA,QACb,SAAS,KAAK;AAAA,QACd,WAAW,KAAK;AAAA,MAChB,CAAA,CAAC;AAGH,aAAO,GAAG,4CAA4C;AAAA,IAAA,CACtD,CAAC,GAEF,KAAK,KAAK;AAAA;AAAA;AAAA,EAAA,OAGR;AACK,eAAAH,WAAAA;AAAAA,KACRC;;;;MAKD,MAAM,QAAQ,IACb,OAAO,IAAI,OAAO,UAAS;AAC1B,YAAM,UAAUC,gBAAK,SACpB,MAAMC,GAAAA,wBAAwB;AAAA,QAC7B,OAAO,MAAM;AAAA,QACb,SAAS,KAAK;AAAA,QACd,WAAW,KAAK;AAAA,MAChB,CAAA,CAAC;AAEH,YAAM,gBAAgBC,WAAA,WAAW,MAAM,MAAM,IAAI;AAEjD,aAAO,UAAU,yBAAyB;AAAA,IAAA,CAC1C,CAAC,GAEF,KAAK,IAAI;AAAA;AAAA;AAAA,MAGR,OACA,IAAI,CAAC,UAAS;AACR,YAAA,KAAK,MAAM,MAAM;AACvB,YAAM,gBAAgBA,WAAA,WAAW,MAAM,MAAM,IAAI;AAEjD,aAAO,GAAG,OAAO;AAAA,IAAA,CACjB,EACA,KAAK,KAAK;AAAA;AAAA;AAAA,EAGd;AAEK,QAAA,YAAY,MAAMC,sCAAmB;AAAA,IAC1C,SAAS,KAAK;AAAA,IACd,SAAS,KAAK;AAAA,EAAA,CACd;AACK,QAAA,WAAWH,gBAAK,KACrBI,kCAA+B;AAAA,IAC9B,WAAW,KAAK;AAAA,IAChB,SAAS,KAAK;AAAA,EACd,CAAA,GACD,SAAS,WAAW;AAGrB,QAAMC,oBAAiB;AAAA,IACtB,UAAU;AAAA,IACV;AAAA,IACA,QAAQ,KAAK,QAAQ;AAAA,IACrB,SAAS,KAAK;AAAA,EAAA,CACd;AACF;;"}
@@ -1,19 +1,10 @@
1
+ import { buildSliceDirectoryPath, buildSliceLibraryDirectoryPath, writeProjectFile } from "@slicemachine/plugin-kit/fs";
1
2
  import { stripIndent } from "common-tags";
2
- import * as fs from "node:fs/promises";
3
3
  import * as path from "node:path";
4
4
  import { NON_EDITABLE_FILE_BANNER } from "../constants.js";
5
- import { checkIsTypeScriptProject } from "./checkIsTypeScriptProject.js";
5
+ import { getJSFileExtension } from "./getJSFileExtension.js";
6
6
  import { pascalCase } from "./pascalCase.js";
7
- import { buildSliceLibraryDirectoryPath } from "./buildSliceLibraryDirectoryPath.js";
8
7
  const upsertSliceLibraryIndexFile = async (args) => {
9
- const isTypeScriptProject = await checkIsTypeScriptProject({
10
- helpers: args.helpers,
11
- options: args.options
12
- });
13
- const filePath = path.join(buildSliceLibraryDirectoryPath({
14
- libraryID: args.libraryID,
15
- helpers: args.helpers
16
- }), isTypeScriptProject ? "index.ts" : "index.js");
17
8
  const slices = await args.actions.readAllSliceModelsForLibrary({
18
9
  libraryID: args.libraryID
19
10
  });
@@ -26,11 +17,15 @@ const upsertSliceLibraryIndexFile = async (args) => {
26
17
  import { defineSliceZoneComponents } from "@prismicio/vue";
27
18
 
28
19
  export const components = defineSliceZoneComponents({
29
- ${slices.map((slice) => {
20
+ ${(await Promise.all(slices.map(async (slice) => {
30
21
  const id = slice.model.id;
31
- const dirName = pascalCase(slice.model.name);
22
+ const dirName = path.basename(await buildSliceDirectoryPath({
23
+ model: slice.model,
24
+ helpers: args.helpers,
25
+ libraryID: args.libraryID
26
+ }));
32
27
  return `${id}: defineAsyncComponent(() => import("./${dirName}/index.vue"))`;
33
- }).join(",\n")}
28
+ }))).join(",\n")}
34
29
  });
35
30
  `;
36
31
  } else {
@@ -39,11 +34,15 @@ const upsertSliceLibraryIndexFile = async (args) => {
39
34
 
40
35
  import { defineSliceZoneComponents } from "@prismicio/vue";
41
36
 
42
- ${slices.map((slice) => {
37
+ ${(await Promise.all(slices.map(async (slice) => {
38
+ const dirName = path.basename(await buildSliceDirectoryPath({
39
+ model: slice.model,
40
+ helpers: args.helpers,
41
+ libraryID: args.libraryID
42
+ }));
43
43
  const componentName = pascalCase(slice.model.name);
44
- const dirName = pascalCase(slice.model.name);
45
44
  return `import ${componentName} from "./${dirName}/index.vue";`;
46
- }).join("\n")}
45
+ }))).join("\n")}
47
46
 
48
47
  export const components = defineSliceZoneComponents({
49
48
  ${slices.map((slice) => {
@@ -54,10 +53,20 @@ const upsertSliceLibraryIndexFile = async (args) => {
54
53
  });
55
54
  `;
56
55
  }
57
- if (args.options.format) {
58
- contents = await args.helpers.format(contents, filePath);
59
- }
60
- await fs.writeFile(filePath, contents);
56
+ const extension = await getJSFileExtension({
57
+ helpers: args.helpers,
58
+ options: args.options
59
+ });
60
+ const filePath = path.join(buildSliceLibraryDirectoryPath({
61
+ libraryID: args.libraryID,
62
+ helpers: args.helpers
63
+ }), `index.${extension}`);
64
+ await writeProjectFile({
65
+ filename: filePath,
66
+ contents,
67
+ format: args.options.format,
68
+ helpers: args.helpers
69
+ });
61
70
  };
62
71
  export {
63
72
  upsertSliceLibraryIndexFile
@@ -1 +1 @@
1
- {"version":3,"file":"upsertSliceLibraryIndexFile.js","sources":["../../../src/lib/upsertSliceLibraryIndexFile.ts"],"sourcesContent":["import { SliceMachineContext } from \"@slicemachine/plugin-kit\";\nimport { stripIndent } from \"common-tags\";\nimport * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport { NON_EDITABLE_FILE_BANNER } from \"../constants\";\n\nimport { PluginOptions } from \"../types\";\n\nimport { checkIsTypeScriptProject } from \"./checkIsTypeScriptProject\";\nimport { pascalCase } from \"./pascalCase\";\nimport { buildSliceLibraryDirectoryPath } from \"./buildSliceLibraryDirectoryPath\";\n\ntype UpsertSliceLibraryIndexFileArgs = {\n\tlibraryID: string;\n} & SliceMachineContext<PluginOptions>;\n\nexport const upsertSliceLibraryIndexFile = async (\n\targs: UpsertSliceLibraryIndexFileArgs,\n): Promise<void> => {\n\tconst isTypeScriptProject = await checkIsTypeScriptProject({\n\t\thelpers: args.helpers,\n\t\toptions: args.options,\n\t});\n\n\tconst filePath = path.join(\n\t\tbuildSliceLibraryDirectoryPath({\n\t\t\tlibraryID: args.libraryID,\n\t\t\thelpers: args.helpers,\n\t\t}),\n\t\tisTypeScriptProject ? \"index.ts\" : \"index.js\",\n\t);\n\n\tconst slices = await args.actions.readAllSliceModelsForLibrary({\n\t\tlibraryID: args.libraryID,\n\t});\n\n\tlet contents: string;\n\n\tif (args.options.lazyLoadSlices) {\n\t\tcontents = stripIndent`\n\t\t\t${NON_EDITABLE_FILE_BANNER}\n\n\t\t\timport { defineAsyncComponent } from \"vue\";\n\t\t\timport { defineSliceZoneComponents } from \"@prismicio/vue\";\n\n\t\t\texport const components = defineSliceZoneComponents({\n\t\t\t\t${slices\n\t\t\t\t\t.map((slice) => {\n\t\t\t\t\t\tconst id = slice.model.id;\n\t\t\t\t\t\tconst dirName = pascalCase(slice.model.name);\n\n\t\t\t\t\t\treturn `${id}: defineAsyncComponent(() => import(\"./${dirName}/index.vue\"))`;\n\t\t\t\t\t})\n\t\t\t\t\t.join(\",\\n\")}\n\t\t\t});\n\t\t`;\n\t} else {\n\t\tcontents = stripIndent`\n\t\t\t${NON_EDITABLE_FILE_BANNER}\n\n\t\t\timport { defineSliceZoneComponents } from \"@prismicio/vue\";\n\n\t\t\t${slices\n\t\t\t\t.map((slice) => {\n\t\t\t\t\tconst componentName = pascalCase(slice.model.name);\n\t\t\t\t\tconst dirName = pascalCase(slice.model.name);\n\n\t\t\t\t\treturn `import ${componentName} from \"./${dirName}/index.vue\";`;\n\t\t\t\t})\n\t\t\t\t.join(\"\\n\")}\n\n\t\t\texport const components = defineSliceZoneComponents({\n\t\t\t\t${slices\n\t\t\t\t\t.map((slice) => {\n\t\t\t\t\t\tconst id = slice.model.id;\n\t\t\t\t\t\tconst componentName = pascalCase(slice.model.name);\n\n\t\t\t\t\t\treturn `${id}: ${componentName}`;\n\t\t\t\t\t})\n\t\t\t\t\t.join(\",\\n\")}\n\t\t\t});\n\t\t`;\n\t}\n\n\tif (args.options.format) {\n\t\tcontents = await args.helpers.format(contents, filePath);\n\t}\n\n\tawait fs.writeFile(filePath, contents);\n};\n"],"names":[],"mappings":";;;;;;;AAgBa,MAAA,8BAA8B,OAC1C,SACkB;AACZ,QAAA,sBAAsB,MAAM,yBAAyB;AAAA,IAC1D,SAAS,KAAK;AAAA,IACd,SAAS,KAAK;AAAA,EAAA,CACd;AAEK,QAAA,WAAW,KAAK,KACrB,+BAA+B;AAAA,IAC9B,WAAW,KAAK;AAAA,IAChB,SAAS,KAAK;AAAA,EACd,CAAA,GACD,sBAAsB,aAAa,UAAU;AAG9C,QAAM,SAAS,MAAM,KAAK,QAAQ,6BAA6B;AAAA,IAC9D,WAAW,KAAK;AAAA,EAAA,CAChB;AAEG,MAAA;AAEA,MAAA,KAAK,QAAQ,gBAAgB;AACrB,eAAA;AAAA,KACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMC,OACA,IAAI,CAAC,UAAS;AACR,YAAA,KAAK,MAAM,MAAM;AACvB,YAAM,UAAU,WAAW,MAAM,MAAM,IAAI;AAE3C,aAAO,GAAG,4CAA4C;AAAA,IAAA,CACtD,EACA,KAAK,KAAK;AAAA;AAAA;AAAA,EAAA,OAGR;AACK,eAAA;AAAA,KACR;AAAA;AAAA;AAAA;AAAA,KAIA,OACA,IAAI,CAAC,UAAS;AACd,YAAM,gBAAgB,WAAW,MAAM,MAAM,IAAI;AACjD,YAAM,UAAU,WAAW,MAAM,MAAM,IAAI;AAE3C,aAAO,UAAU,yBAAyB;AAAA,IAAA,CAC1C,EACA,KAAK,IAAI;AAAA;AAAA;AAAA,MAGR,OACA,IAAI,CAAC,UAAS;AACR,YAAA,KAAK,MAAM,MAAM;AACvB,YAAM,gBAAgB,WAAW,MAAM,MAAM,IAAI;AAEjD,aAAO,GAAG,OAAO;AAAA,IAAA,CACjB,EACA,KAAK,KAAK;AAAA;AAAA;AAAA,EAGd;AAEG,MAAA,KAAK,QAAQ,QAAQ;AACxB,eAAW,MAAM,KAAK,QAAQ,OAAO,UAAU,QAAQ;AAAA,EACvD;AAEK,QAAA,GAAG,UAAU,UAAU,QAAQ;AACtC;"}
1
+ {"version":3,"file":"upsertSliceLibraryIndexFile.js","sources":["../../../src/lib/upsertSliceLibraryIndexFile.ts"],"sourcesContent":["import { SliceMachineContext } from \"@slicemachine/plugin-kit\";\nimport {\n\tbuildSliceDirectoryPath,\n\tbuildSliceLibraryDirectoryPath,\n\twriteProjectFile,\n} from \"@slicemachine/plugin-kit/fs\";\nimport { stripIndent } from \"common-tags\";\nimport * as path from \"node:path\";\n\nimport { NON_EDITABLE_FILE_BANNER } from \"../constants\";\nimport { PluginOptions } from \"../types\";\n\nimport { getJSFileExtension } from \"./getJSFileExtension\";\nimport { pascalCase } from \"./pascalCase\";\n\ntype UpsertSliceLibraryIndexFileArgs = {\n\tlibraryID: string;\n} & SliceMachineContext<PluginOptions>;\n\nexport const upsertSliceLibraryIndexFile = async (\n\targs: UpsertSliceLibraryIndexFileArgs,\n): Promise<void> => {\n\tconst slices = await args.actions.readAllSliceModelsForLibrary({\n\t\tlibraryID: args.libraryID,\n\t});\n\n\tlet contents: string;\n\n\tif (args.options.lazyLoadSlices) {\n\t\tcontents = stripIndent`\n\t\t\t${NON_EDITABLE_FILE_BANNER}\n\n\t\t\timport { defineAsyncComponent } from \"vue\";\n\t\t\timport { defineSliceZoneComponents } from \"@prismicio/vue\";\n\n\t\t\texport const components = defineSliceZoneComponents({\n\t\t\t\t${(\n\t\t\t\t\tawait Promise.all(\n\t\t\t\t\t\tslices.map(async (slice) => {\n\t\t\t\t\t\t\tconst id = slice.model.id;\n\t\t\t\t\t\t\tconst dirName = path.basename(\n\t\t\t\t\t\t\t\tawait buildSliceDirectoryPath({\n\t\t\t\t\t\t\t\t\tmodel: slice.model,\n\t\t\t\t\t\t\t\t\thelpers: args.helpers,\n\t\t\t\t\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\treturn `${id}: defineAsyncComponent(() => import(\"./${dirName}/index.vue\"))`;\n\t\t\t\t\t\t}),\n\t\t\t\t\t)\n\t\t\t\t).join(\",\\n\")}\n\t\t\t});\n\t\t`;\n\t} else {\n\t\tcontents = stripIndent`\n\t\t\t${NON_EDITABLE_FILE_BANNER}\n\n\t\t\timport { defineSliceZoneComponents } from \"@prismicio/vue\";\n\n\t\t\t${(\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tslices.map(async (slice) => {\n\t\t\t\t\t\tconst dirName = path.basename(\n\t\t\t\t\t\t\tawait buildSliceDirectoryPath({\n\t\t\t\t\t\t\t\tmodel: slice.model,\n\t\t\t\t\t\t\t\thelpers: args.helpers,\n\t\t\t\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t\tconst componentName = pascalCase(slice.model.name);\n\n\t\t\t\t\t\treturn `import ${componentName} from \"./${dirName}/index.vue\";`;\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t).join(\"\\n\")}\n\n\t\t\texport const components = defineSliceZoneComponents({\n\t\t\t\t${slices\n\t\t\t\t\t.map((slice) => {\n\t\t\t\t\t\tconst id = slice.model.id;\n\t\t\t\t\t\tconst componentName = pascalCase(slice.model.name);\n\n\t\t\t\t\t\treturn `${id}: ${componentName}`;\n\t\t\t\t\t})\n\t\t\t\t\t.join(\",\\n\")}\n\t\t\t});\n\t\t`;\n\t}\n\n\tconst extension = await getJSFileExtension({\n\t\thelpers: args.helpers,\n\t\toptions: args.options,\n\t});\n\tconst filePath = path.join(\n\t\tbuildSliceLibraryDirectoryPath({\n\t\t\tlibraryID: args.libraryID,\n\t\t\thelpers: args.helpers,\n\t\t}),\n\t\t`index.${extension}`,\n\t);\n\n\tawait writeProjectFile({\n\t\tfilename: filePath,\n\t\tcontents,\n\t\tformat: args.options.format,\n\t\thelpers: args.helpers,\n\t});\n};\n"],"names":[],"mappings":";;;;;;AAmBa,MAAA,8BAA8B,OAC1C,SACkB;AAClB,QAAM,SAAS,MAAM,KAAK,QAAQ,6BAA6B;AAAA,IAC9D,WAAW,KAAK;AAAA,EAAA,CAChB;AAEG,MAAA;AAEA,MAAA,KAAK,QAAQ,gBAAgB;AACrB,eAAA;AAAA,KACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAOA,MAAM,QAAQ,IACb,OAAO,IAAI,OAAO,UAAS;AACpB,YAAA,KAAK,MAAM,MAAM;AACvB,YAAM,UAAU,KAAK,SACpB,MAAM,wBAAwB;AAAA,QAC7B,OAAO,MAAM;AAAA,QACb,SAAS,KAAK;AAAA,QACd,WAAW,KAAK;AAAA,MAChB,CAAA,CAAC;AAGH,aAAO,GAAG,4CAA4C;AAAA,IAAA,CACtD,CAAC,GAEF,KAAK,KAAK;AAAA;AAAA;AAAA,EAAA,OAGR;AACK,eAAA;AAAA,KACR;AAAA;AAAA;AAAA;AAAA,MAKD,MAAM,QAAQ,IACb,OAAO,IAAI,OAAO,UAAS;AAC1B,YAAM,UAAU,KAAK,SACpB,MAAM,wBAAwB;AAAA,QAC7B,OAAO,MAAM;AAAA,QACb,SAAS,KAAK;AAAA,QACd,WAAW,KAAK;AAAA,MAChB,CAAA,CAAC;AAEH,YAAM,gBAAgB,WAAW,MAAM,MAAM,IAAI;AAEjD,aAAO,UAAU,yBAAyB;AAAA,IAAA,CAC1C,CAAC,GAEF,KAAK,IAAI;AAAA;AAAA;AAAA,MAGR,OACA,IAAI,CAAC,UAAS;AACR,YAAA,KAAK,MAAM,MAAM;AACvB,YAAM,gBAAgB,WAAW,MAAM,MAAM,IAAI;AAEjD,aAAO,GAAG,OAAO;AAAA,IAAA,CACjB,EACA,KAAK,KAAK;AAAA;AAAA;AAAA,EAGd;AAEK,QAAA,YAAY,MAAM,mBAAmB;AAAA,IAC1C,SAAS,KAAK;AAAA,IACd,SAAS,KAAK;AAAA,EAAA,CACd;AACK,QAAA,WAAW,KAAK,KACrB,+BAA+B;AAAA,IAC9B,WAAW,KAAK;AAAA,IAChB,SAAS,KAAK;AAAA,EACd,CAAA,GACD,SAAS,WAAW;AAGrB,QAAM,iBAAiB;AAAA,IACtB,UAAU;AAAA,IACV;AAAA,IACA,QAAQ,KAAK,QAAQ;AAAA,IACrB,SAAS,KAAK;AAAA,EAAA,CACd;AACF;"}
package/dist/plugin.cjs CHANGED
@@ -1,29 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const pluginKit = require("@slicemachine/plugin-kit");
4
+ const fs = require("@slicemachine/plugin-kit/fs");
5
+ const rejectIfNecessary = require("./lib/rejectIfNecessary.cjs");
6
+ const upsertSliceLibraryIndexFile = require("./lib/upsertSliceLibraryIndexFile.cjs");
4
7
  const _package = require("./packages/adapter-nuxt/package.json.cjs");
8
+ const documentationRead = require("./hooks/documentation-read.cjs");
5
9
  const projectInit = require("./hooks/project-init.cjs");
6
- const customTypeAssetDelete = require("./hooks/customType-asset-delete.cjs");
7
- const customTypeAssetRead = require("./hooks/customType-asset-read.cjs");
8
- const customTypeAssetUpdate = require("./hooks/customType-asset-update.cjs");
9
- const customTypeCreate = require("./hooks/customType-create.cjs");
10
- const customTypeDelete = require("./hooks/customType-delete.cjs");
11
- const customTypeLibraryRead = require("./hooks/customTypeLibrary-read.cjs");
12
- const customTypeRead = require("./hooks/customType-read.cjs");
13
- const customTypeRename = require("./hooks/customType-rename.cjs");
14
- const customTypeUpdate = require("./hooks/customType-update.cjs");
15
- const sliceAssetDelete = require("./hooks/slice-asset-delete.cjs");
16
- const sliceAssetRead = require("./hooks/slice-asset-read.cjs");
17
- const sliceAssetUpdate = require("./hooks/slice-asset-update.cjs");
18
10
  const sliceCreate = require("./hooks/slice-create.cjs");
19
- const sliceDelete = require("./hooks/slice-delete.cjs");
20
- const sliceLibraryRead = require("./hooks/sliceLibrary-read.cjs");
21
- const sliceRead = require("./hooks/slice-read.cjs");
22
- const sliceRename = require("./hooks/slice-rename.cjs");
23
- const sliceUpdate = require("./hooks/slice-update.cjs");
24
- const snippetRead = require("./hooks/snippet-read.cjs");
25
- const documentationRead = require("./hooks/documentation-read.cjs");
26
11
  const sliceSimulatorSetupRead = require("./hooks/sliceSimulator-setup-read.cjs");
12
+ const snippetRead = require("./hooks/snippet-read.cjs");
27
13
  const plugin = pluginKit.defineSliceMachinePlugin({
28
14
  meta: {
29
15
  name: _package.name
@@ -35,23 +21,179 @@ const plugin = pluginKit.defineSliceMachinePlugin({
35
21
  setup({ hook }) {
36
22
  hook("project:init", projectInit.projectInit);
37
23
  hook("slice:create", sliceCreate.sliceCreate);
38
- hook("slice:update", sliceUpdate.sliceUpdate);
39
- hook("slice:rename", sliceRename.sliceRename);
40
- hook("slice:delete", sliceDelete.sliceDelete);
41
- hook("slice:read", sliceRead.sliceRead);
42
- hook("slice:asset:update", sliceAssetUpdate.sliceAssetUpdate);
43
- hook("slice:asset:delete", sliceAssetDelete.sliceAssetDelete);
44
- hook("slice:asset:read", sliceAssetRead.sliceAssetRead);
45
- hook("slice-library:read", sliceLibraryRead.sliceLibraryRead);
46
- hook("custom-type:create", customTypeCreate.customTypeCreate);
47
- hook("custom-type:update", customTypeUpdate.customTypeUpdate);
48
- hook("custom-type:rename", customTypeRename.customTypeRename);
49
- hook("custom-type:delete", customTypeDelete.customTypeDelete);
50
- hook("custom-type:read", customTypeRead.customTypeRead);
51
- hook("custom-type:asset:update", customTypeAssetUpdate.customTypeAssetUpdate);
52
- hook("custom-type:asset:delete", customTypeAssetDelete.customTypeAssetDelete);
53
- hook("custom-type:asset:read", customTypeAssetRead.customTypeAssetRead);
54
- hook("custom-type-library:read", customTypeLibraryRead.customTypeLibraryRead);
24
+ hook("slice:update", async (data, context) => {
25
+ await fs.writeSliceModel({
26
+ libraryID: data.libraryID,
27
+ model: data.model,
28
+ ...context
29
+ });
30
+ await fs.upsertGlobalTypeScriptTypes({
31
+ filename: context.options.generatedTypesFilePath,
32
+ format: context.options.format,
33
+ ...context
34
+ });
35
+ });
36
+ hook("slice:rename", async (data, context) => {
37
+ await fs.renameSlice({
38
+ libraryID: data.libraryID,
39
+ model: data.model,
40
+ format: context.options.format,
41
+ ...context
42
+ });
43
+ rejectIfNecessary.rejectIfNecessary(await Promise.allSettled([
44
+ upsertSliceLibraryIndexFile.upsertSliceLibraryIndexFile({
45
+ libraryID: data.libraryID,
46
+ ...context
47
+ }),
48
+ fs.upsertGlobalTypeScriptTypes({
49
+ filename: context.options.generatedTypesFilePath,
50
+ format: context.options.format,
51
+ ...context
52
+ })
53
+ ]));
54
+ });
55
+ hook("slice:delete", async (data, context) => {
56
+ await fs.deleteSliceDirectory({
57
+ libraryID: data.libraryID,
58
+ model: data.model,
59
+ ...context
60
+ });
61
+ rejectIfNecessary.rejectIfNecessary(await Promise.allSettled([
62
+ upsertSliceLibraryIndexFile.upsertSliceLibraryIndexFile({
63
+ libraryID: data.libraryID,
64
+ ...context
65
+ }),
66
+ fs.upsertGlobalTypeScriptTypes({
67
+ filename: context.options.generatedTypesFilePath,
68
+ format: context.options.format,
69
+ ...context
70
+ })
71
+ ]));
72
+ });
73
+ hook("slice:read", async (data, context) => {
74
+ return await fs.readSliceModel({
75
+ libraryID: data.libraryID,
76
+ sliceID: data.sliceID,
77
+ ...context
78
+ });
79
+ });
80
+ hook("slice:asset:update", async (data, context) => {
81
+ await fs.writeSliceFile({
82
+ libraryID: data.libraryID,
83
+ sliceID: data.sliceID,
84
+ filename: data.asset.id,
85
+ contents: data.asset.data,
86
+ ...context
87
+ });
88
+ });
89
+ hook("slice:asset:delete", async (data, context) => {
90
+ await fs.deleteSliceFile({
91
+ libraryID: data.libraryID,
92
+ sliceID: data.sliceID,
93
+ filename: data.assetID,
94
+ ...context
95
+ });
96
+ });
97
+ hook("slice:asset:read", async (data, context) => {
98
+ const file = await fs.readSliceFile({
99
+ libraryID: data.libraryID,
100
+ sliceID: data.sliceID,
101
+ filename: data.assetID,
102
+ ...context
103
+ });
104
+ return {
105
+ data: file
106
+ };
107
+ });
108
+ hook("slice-library:read", async (data, context) => {
109
+ return await fs.readSliceLibrary({
110
+ libraryID: data.libraryID,
111
+ ...context
112
+ });
113
+ });
114
+ hook("custom-type:create", async (data, context) => {
115
+ await fs.writeCustomTypeModel({
116
+ model: data.model,
117
+ format: context.options.format,
118
+ ...context
119
+ });
120
+ await fs.upsertGlobalTypeScriptTypes({
121
+ filename: context.options.generatedTypesFilePath,
122
+ format: context.options.format,
123
+ ...context
124
+ });
125
+ });
126
+ hook("custom-type:update", async (data, context) => {
127
+ await fs.writeCustomTypeModel({
128
+ model: data.model,
129
+ format: context.options.format,
130
+ ...context
131
+ });
132
+ await fs.upsertGlobalTypeScriptTypes({
133
+ filename: context.options.generatedTypesFilePath,
134
+ format: context.options.format,
135
+ ...context
136
+ });
137
+ });
138
+ hook("custom-type:rename", async (data, context) => {
139
+ await fs.renameCustomType({
140
+ model: data.model,
141
+ format: context.options.format,
142
+ ...context
143
+ });
144
+ await fs.upsertGlobalTypeScriptTypes({
145
+ filename: context.options.generatedTypesFilePath,
146
+ format: context.options.format,
147
+ ...context
148
+ });
149
+ });
150
+ hook("custom-type:delete", async (data, context) => {
151
+ await fs.deleteCustomTypeDirectory({
152
+ customTypeID: data.model.id,
153
+ ...context
154
+ });
155
+ await fs.upsertGlobalTypeScriptTypes({
156
+ filename: context.options.generatedTypesFilePath,
157
+ format: context.options.format,
158
+ ...context
159
+ });
160
+ });
161
+ hook("custom-type:read", async (data, context) => {
162
+ return await fs.readCustomTypeModel({
163
+ customTypeID: data.id,
164
+ ...context
165
+ });
166
+ });
167
+ hook("custom-type:asset:update", async (data, context) => {
168
+ await fs.writeCustomTypeFile({
169
+ customTypeID: data.customTypeID,
170
+ filename: data.asset.id,
171
+ contents: data.asset.data,
172
+ ...context
173
+ });
174
+ });
175
+ hook("custom-type:asset:delete", async (data, context) => {
176
+ await fs.deleteCustomTypeFile({
177
+ customTypeID: data.customTypeID,
178
+ filename: data.assetID,
179
+ ...context
180
+ });
181
+ });
182
+ hook("custom-type:asset:read", async (data, context) => {
183
+ const file = await fs.readCustomTypeFile({
184
+ customTypeID: data.customTypeID,
185
+ filename: data.assetID,
186
+ ...context
187
+ });
188
+ return {
189
+ data: file
190
+ };
191
+ });
192
+ hook("custom-type-library:read", async (_data, context) => {
193
+ return await fs.readCustomTypeLibrary({
194
+ helpers: context.helpers
195
+ });
196
+ });
55
197
  hook("snippet:read", snippetRead.snippetRead);
56
198
  hook("documentation:read", documentationRead.documentationRead);
57
199
  hook("slice-simulator:setup:read", sliceSimulatorSetupRead.sliceSimulatorSetupRead);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs","sources":["../../src/plugin.ts"],"sourcesContent":["import { defineSliceMachinePlugin } from \"@slicemachine/plugin-kit\";\n\nimport { name as pkgName } from \"../package.json\";\nimport { PluginOptions } from \"./types\";\n\nimport { projectInit } from \"./hooks/project-init\";\nimport { customTypeAssetDelete } from \"./hooks/customType-asset-delete\";\nimport { customTypeAssetRead } from \"./hooks/customType-asset-read\";\nimport { customTypeAssetUpdate } from \"./hooks/customType-asset-update\";\nimport { customTypeCreate } from \"./hooks/customType-create\";\nimport { customTypeDelete } from \"./hooks/customType-delete\";\nimport { customTypeLibraryRead } from \"./hooks/customTypeLibrary-read\";\nimport { customTypeRead } from \"./hooks/customType-read\";\nimport { customTypeRename } from \"./hooks/customType-rename\";\nimport { customTypeUpdate } from \"./hooks/customType-update\";\nimport { sliceAssetDelete } from \"./hooks/slice-asset-delete\";\nimport { sliceAssetRead } from \"./hooks/slice-asset-read\";\nimport { sliceAssetUpdate } from \"./hooks/slice-asset-update\";\nimport { sliceCreate } from \"./hooks/slice-create\";\nimport { sliceDelete } from \"./hooks/slice-delete\";\nimport { sliceLibraryRead } from \"./hooks/sliceLibrary-read\";\nimport { sliceRead } from \"./hooks/slice-read\";\nimport { sliceRename } from \"./hooks/slice-rename\";\nimport { sliceUpdate } from \"./hooks/slice-update\";\nimport { snippetRead } from \"./hooks/snippet-read\";\nimport { documentationRead } from \"./hooks/documentation-read\";\nimport { sliceSimulatorSetupRead } from \"./hooks/sliceSimulator-setup-read\";\n\nexport const plugin = defineSliceMachinePlugin<PluginOptions>({\n\tmeta: {\n\t\tname: pkgName,\n\t},\n\tdefaultOptions: {\n\t\tformat: true,\n\t\tlazyLoadSlices: true,\n\t},\n\tsetup({ hook }) {\n\t\thook(\"project:init\", projectInit);\n\n\t\thook(\"slice:create\", sliceCreate);\n\t\thook(\"slice:update\", sliceUpdate);\n\t\thook(\"slice:rename\", sliceRename);\n\t\thook(\"slice:delete\", sliceDelete);\n\t\thook(\"slice:read\", sliceRead);\n\t\thook(\"slice:asset:update\", sliceAssetUpdate);\n\t\thook(\"slice:asset:delete\", sliceAssetDelete);\n\t\thook(\"slice:asset:read\", sliceAssetRead);\n\t\thook(\"slice-library:read\", sliceLibraryRead);\n\n\t\thook(\"custom-type:create\", customTypeCreate);\n\t\thook(\"custom-type:update\", customTypeUpdate);\n\t\thook(\"custom-type:rename\", customTypeRename);\n\t\thook(\"custom-type:delete\", customTypeDelete);\n\t\thook(\"custom-type:read\", customTypeRead);\n\t\thook(\"custom-type:asset:update\", customTypeAssetUpdate);\n\t\thook(\"custom-type:asset:delete\", customTypeAssetDelete);\n\t\thook(\"custom-type:asset:read\", customTypeAssetRead);\n\t\thook(\"custom-type-library:read\", customTypeLibraryRead);\n\n\t\thook(\"snippet:read\", snippetRead);\n\t\thook(\"documentation:read\", documentationRead);\n\t\thook(\"slice-simulator:setup:read\", sliceSimulatorSetupRead);\n\t},\n});\n"],"names":["defineSliceMachinePlugin","pkgName","projectInit","sliceCreate","sliceUpdate","sliceRename","sliceDelete","sliceRead","sliceAssetUpdate","sliceAssetDelete","sliceAssetRead","sliceLibraryRead","customTypeCreate","customTypeUpdate","customTypeRename","customTypeDelete","customTypeRead","customTypeAssetUpdate","customTypeAssetDelete","customTypeAssetRead","customTypeLibraryRead","snippetRead","documentationRead","sliceSimulatorSetupRead"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAM,SAASA,UAAAA,yBAAwC;AAAA,EAC7D,MAAM;AAAA,IACL,MAAMC,SAAA;AAAA,EACN;AAAA,EACD,gBAAgB;AAAA,IACf,QAAQ;AAAA,IACR,gBAAgB;AAAA,EAChB;AAAA,EACD,MAAM,EAAE,QAAM;AACb,SAAK,gBAAgBC,YAAAA,WAAW;AAEhC,SAAK,gBAAgBC,YAAAA,WAAW;AAChC,SAAK,gBAAgBC,YAAAA,WAAW;AAChC,SAAK,gBAAgBC,YAAAA,WAAW;AAChC,SAAK,gBAAgBC,YAAAA,WAAW;AAChC,SAAK,cAAcC,UAAAA,SAAS;AAC5B,SAAK,sBAAsBC,iBAAAA,gBAAgB;AAC3C,SAAK,sBAAsBC,iBAAAA,gBAAgB;AAC3C,SAAK,oBAAoBC,eAAAA,cAAc;AACvC,SAAK,sBAAsBC,iBAAAA,gBAAgB;AAE3C,SAAK,sBAAsBC,iBAAAA,gBAAgB;AAC3C,SAAK,sBAAsBC,iBAAAA,gBAAgB;AAC3C,SAAK,sBAAsBC,iBAAAA,gBAAgB;AAC3C,SAAK,sBAAsBC,iBAAAA,gBAAgB;AAC3C,SAAK,oBAAoBC,eAAAA,cAAc;AACvC,SAAK,4BAA4BC,sBAAAA,qBAAqB;AACtD,SAAK,4BAA4BC,sBAAAA,qBAAqB;AACtD,SAAK,0BAA0BC,oBAAAA,mBAAmB;AAClD,SAAK,4BAA4BC,sBAAAA,qBAAqB;AAEtD,SAAK,gBAAgBC,YAAAA,WAAW;AAChC,SAAK,sBAAsBC,kBAAAA,iBAAiB;AAC5C,SAAK,8BAA8BC,wBAAAA,uBAAuB;AAAA,EAC3D;AACA,CAAA;;"}
1
+ {"version":3,"file":"plugin.cjs","sources":["../../src/plugin.ts"],"sourcesContent":["import { defineSliceMachinePlugin } from \"@slicemachine/plugin-kit\";\nimport {\n\tdeleteCustomTypeDirectory,\n\tdeleteCustomTypeFile,\n\tdeleteSliceDirectory,\n\tdeleteSliceFile,\n\treadCustomTypeFile,\n\treadCustomTypeLibrary,\n\treadCustomTypeModel,\n\treadSliceFile,\n\treadSliceLibrary,\n\treadSliceModel,\n\trenameCustomType,\n\trenameSlice,\n\tupsertGlobalTypeScriptTypes,\n\twriteCustomTypeFile,\n\twriteCustomTypeModel,\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\";\n\nimport { documentationRead } from \"./hooks/documentation-read\";\nimport { projectInit } from \"./hooks/project-init\";\nimport { sliceCreate } from \"./hooks/slice-create\";\nimport { sliceSimulatorSetupRead } from \"./hooks/sliceSimulator-setup-read\";\nimport { snippetRead } from \"./hooks/snippet-read\";\n\nexport const plugin = defineSliceMachinePlugin<PluginOptions>({\n\tmeta: {\n\t\tname: pkgName,\n\t},\n\tdefaultOptions: {\n\t\tformat: true,\n\t\tlazyLoadSlices: true,\n\t},\n\tsetup({ hook }) {\n\t\t////////////////////////////////////////////////////////////////\n\t\t// project:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"project:init\", projectInit);\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// 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 renameCustomType({\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\n\t\t////////////////////////////////////////////////////////////////\n\t\t// slice-simulator:*\n\t\t////////////////////////////////////////////////////////////////\n\n\t\thook(\"slice-simulator:setup:read\", sliceSimulatorSetupRead);\n\t},\n});\n"],"names":["defineSliceMachinePlugin","pkgName","projectInit","sliceCreate","writeSliceModel","upsertGlobalTypeScriptTypes","renameSlice","rejectIfNecessary","upsertSliceLibraryIndexFile","deleteSliceDirectory","readSliceModel","writeSliceFile","deleteSliceFile","readSliceFile","readSliceLibrary","writeCustomTypeModel","renameCustomType","deleteCustomTypeDirectory","readCustomTypeModel","writeCustomTypeFile","deleteCustomTypeFile","readCustomTypeFile","readCustomTypeLibrary","snippetRead","documentationRead","sliceSimulatorSetupRead"],"mappings":"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"}