@slicemachine/init 0.1.1-dev-plugins.3 → 0.1.1-dev-plugins.4

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 (148) hide show
  1. package/dist/SliceMachineInitProcess.cjs +111 -43
  2. package/dist/SliceMachineInitProcess.cjs.map +1 -1
  3. package/dist/SliceMachineInitProcess.d.ts +4 -0
  4. package/dist/SliceMachineInitProcess.js +112 -44
  5. package/dist/SliceMachineInitProcess.js.map +1 -1
  6. package/dist/__node_modules/@babel/code-frame/lib/index.cjs +1 -1
  7. package/dist/__node_modules/@babel/code-frame/lib/index.js +1 -1
  8. package/dist/__node_modules/@babel/helper-validator-identifier/lib/index.cjs +1 -1
  9. package/dist/__node_modules/@babel/helper-validator-identifier/lib/index.js +1 -1
  10. package/dist/__node_modules/@babel/highlight/lib/index.cjs +3 -3
  11. package/dist/__node_modules/@babel/highlight/lib/index.js +3 -3
  12. package/dist/__node_modules/@nodelib/fs.scandir/out/providers/async.cjs +1 -1
  13. package/dist/__node_modules/@nodelib/fs.scandir/out/providers/async.js +1 -1
  14. package/dist/__node_modules/@nodelib/fs.scandir/out/providers/sync.cjs +1 -1
  15. package/dist/__node_modules/@nodelib/fs.scandir/out/providers/sync.js +1 -1
  16. package/dist/__node_modules/@nodelib/fs.scandir/out/settings.cjs +1 -1
  17. package/dist/__node_modules/@nodelib/fs.scandir/out/settings.js +1 -1
  18. package/dist/__node_modules/@nodelib/fs.stat/out/index.cjs +1 -1
  19. package/dist/__node_modules/@nodelib/fs.stat/out/index.js +1 -1
  20. package/dist/__node_modules/@nodelib/fs.walk/out/index.cjs +1 -1
  21. package/dist/__node_modules/@nodelib/fs.walk/out/index.js +1 -1
  22. package/dist/__node_modules/camelcase-keys/index.cjs +1 -1
  23. package/dist/__node_modules/camelcase-keys/index.js +1 -1
  24. package/dist/__node_modules/cross-spawn/index.cjs +1 -1
  25. package/dist/__node_modules/cross-spawn/index.js +1 -1
  26. package/dist/__node_modules/cross-spawn/lib/util/resolveCommand.cjs +1 -1
  27. package/dist/__node_modules/cross-spawn/lib/util/resolveCommand.js +1 -1
  28. package/dist/__node_modules/dir-glob/index.cjs +2 -2
  29. package/dist/__node_modules/dir-glob/index.js +2 -2
  30. package/dist/__node_modules/fast-glob/out/index.cjs +1 -1
  31. package/dist/__node_modules/fast-glob/out/index.js +1 -1
  32. package/dist/__node_modules/fast-glob/out/managers/tasks.cjs +1 -1
  33. package/dist/__node_modules/fast-glob/out/managers/tasks.js +1 -1
  34. package/dist/__node_modules/fast-glob/out/providers/filters/deep.cjs +1 -1
  35. package/dist/__node_modules/fast-glob/out/providers/filters/deep.js +1 -1
  36. package/dist/__node_modules/fast-glob/out/providers/filters/entry.cjs +1 -1
  37. package/dist/__node_modules/fast-glob/out/providers/filters/entry.js +1 -1
  38. package/dist/__node_modules/fast-glob/out/providers/filters/error.cjs +1 -1
  39. package/dist/__node_modules/fast-glob/out/providers/filters/error.js +1 -1
  40. package/dist/__node_modules/fast-glob/out/providers/matchers/matcher.cjs +1 -1
  41. package/dist/__node_modules/fast-glob/out/providers/matchers/matcher.js +1 -1
  42. package/dist/__node_modules/fast-glob/out/providers/transformers/entry.cjs +1 -1
  43. package/dist/__node_modules/fast-glob/out/providers/transformers/entry.js +1 -1
  44. package/dist/__node_modules/fast-glob/out/readers/async.cjs +1 -1
  45. package/dist/__node_modules/fast-glob/out/readers/async.js +1 -1
  46. package/dist/__node_modules/fast-glob/out/readers/reader.cjs +2 -2
  47. package/dist/__node_modules/fast-glob/out/readers/reader.js +2 -2
  48. package/dist/__node_modules/fast-glob/out/readers/stream.cjs +2 -2
  49. package/dist/__node_modules/fast-glob/out/readers/stream.js +2 -2
  50. package/dist/__node_modules/fast-glob/out/readers/sync.cjs +2 -2
  51. package/dist/__node_modules/fast-glob/out/readers/sync.js +2 -2
  52. package/dist/__node_modules/fast-glob/out/utils/index.cjs +1 -1
  53. package/dist/__node_modules/fast-glob/out/utils/index.js +1 -1
  54. package/dist/__node_modules/globby/index.cjs +1 -1
  55. package/dist/__node_modules/globby/index.js +1 -1
  56. package/dist/__node_modules/js-tokens/index.cjs +1 -1
  57. package/dist/__node_modules/js-tokens/index.js +1 -1
  58. package/dist/__node_modules/map-obj/index.cjs +1 -1
  59. package/dist/__node_modules/map-obj/index.js +1 -1
  60. package/dist/__node_modules/meow/__node_modules/hosted-git-info/lib/index.cjs +1 -1
  61. package/dist/__node_modules/meow/__node_modules/hosted-git-info/lib/index.js +1 -1
  62. package/dist/__node_modules/meow/__node_modules/normalize-package-data/lib/fixer.cjs +1 -1
  63. package/dist/__node_modules/meow/__node_modules/normalize-package-data/lib/fixer.js +1 -1
  64. package/dist/__node_modules/meow/__node_modules/read-pkg/__node_modules/hosted-git-info/index.cjs +1 -1
  65. package/dist/__node_modules/meow/__node_modules/read-pkg/__node_modules/hosted-git-info/index.js +1 -1
  66. package/dist/__node_modules/meow/__node_modules/read-pkg/__node_modules/normalize-package-data/lib/fixer.cjs +1 -1
  67. package/dist/__node_modules/meow/__node_modules/read-pkg/__node_modules/normalize-package-data/lib/fixer.js +1 -1
  68. package/dist/__node_modules/micromatch/index.cjs +1 -1
  69. package/dist/__node_modules/micromatch/index.js +1 -1
  70. package/dist/__node_modules/path-key/index.cjs +1 -1
  71. package/dist/__node_modules/path-key/index.js +1 -1
  72. package/dist/__node_modules/path-type/index.cjs +1 -1
  73. package/dist/__node_modules/path-type/index.js +1 -1
  74. package/dist/__node_modules/picomatch/index.cjs +1 -1
  75. package/dist/__node_modules/picomatch/index.js +1 -1
  76. package/dist/_virtual/index13.cjs +2 -2
  77. package/dist/_virtual/index13.js +2 -2
  78. package/dist/_virtual/index14.cjs +10 -2
  79. package/dist/_virtual/index14.cjs.map +1 -1
  80. package/dist/_virtual/index14.js +11 -2
  81. package/dist/_virtual/index14.js.map +1 -1
  82. package/dist/_virtual/index15.cjs +2 -2
  83. package/dist/_virtual/index15.js +2 -2
  84. package/dist/_virtual/index16.cjs +2 -10
  85. package/dist/_virtual/index16.cjs.map +1 -1
  86. package/dist/_virtual/index16.js +2 -11
  87. package/dist/_virtual/index16.js.map +1 -1
  88. package/dist/_virtual/index17.cjs +2 -2
  89. package/dist/_virtual/index17.js +6 -6
  90. package/dist/_virtual/index18.cjs +2 -10
  91. package/dist/_virtual/index18.cjs.map +1 -1
  92. package/dist/_virtual/index18.js +2 -11
  93. package/dist/_virtual/index18.js.map +1 -1
  94. package/dist/_virtual/index19.cjs +2 -2
  95. package/dist/_virtual/index19.js +2 -2
  96. package/dist/_virtual/index20.cjs +10 -2
  97. package/dist/_virtual/index20.cjs.map +1 -1
  98. package/dist/_virtual/index20.js +11 -2
  99. package/dist/_virtual/index20.js.map +1 -1
  100. package/dist/_virtual/index3.cjs +2 -2
  101. package/dist/_virtual/index3.js +6 -6
  102. package/dist/_virtual/index4.cjs +2 -2
  103. package/dist/_virtual/index4.js +6 -6
  104. package/dist/_virtual/index5.cjs +10 -2
  105. package/dist/_virtual/index5.cjs.map +1 -1
  106. package/dist/_virtual/index5.js +11 -2
  107. package/dist/_virtual/index5.js.map +1 -1
  108. package/dist/_virtual/index6.cjs +10 -2
  109. package/dist/_virtual/index6.cjs.map +1 -1
  110. package/dist/_virtual/index6.js +11 -2
  111. package/dist/_virtual/index6.js.map +1 -1
  112. package/dist/_virtual/index7.cjs +2 -10
  113. package/dist/_virtual/index7.cjs.map +1 -1
  114. package/dist/_virtual/index7.js +2 -11
  115. package/dist/_virtual/index7.js.map +1 -1
  116. package/dist/_virtual/index8.cjs +2 -10
  117. package/dist/_virtual/index8.cjs.map +1 -1
  118. package/dist/_virtual/index8.js +2 -11
  119. package/dist/_virtual/index8.js.map +1 -1
  120. package/dist/constants.cjs +7 -0
  121. package/dist/constants.cjs.map +1 -0
  122. package/dist/constants.d.ts +2 -0
  123. package/dist/constants.js +7 -0
  124. package/dist/constants.js.map +1 -0
  125. package/dist/lib/framework.cjs +7 -3
  126. package/dist/lib/framework.cjs.map +1 -1
  127. package/dist/lib/framework.d.ts +8 -0
  128. package/dist/lib/framework.js +7 -3
  129. package/dist/lib/framework.js.map +1 -1
  130. package/dist/lib/packageManager.cjs +11 -3
  131. package/dist/lib/packageManager.cjs.map +1 -1
  132. package/dist/lib/packageManager.d.ts +9 -1
  133. package/dist/lib/packageManager.js +12 -4
  134. package/dist/lib/packageManager.js.map +1 -1
  135. package/dist/lib/prompt.cjs +3 -2
  136. package/dist/lib/prompt.cjs.map +1 -1
  137. package/dist/lib/prompt.js +3 -2
  138. package/dist/lib/prompt.js.map +1 -1
  139. package/dist/packages/init/__node_modules/execa/index.cjs +1 -1
  140. package/dist/packages/init/__node_modules/execa/index.js +1 -1
  141. package/dist/packages/init/package.json.cjs +1 -1
  142. package/dist/packages/init/package.json.js +1 -1
  143. package/package.json +8 -3
  144. package/src/SliceMachineInitProcess.ts +176 -61
  145. package/src/constants.ts +3 -0
  146. package/src/lib/framework.ts +20 -7
  147. package/src/lib/packageManager.ts +20 -4
  148. package/src/lib/prompt.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"framework.cjs","sources":["../../../src/lib/framework.ts"],"sourcesContent":["import { readFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\n\nimport semver from \"semver\";\n\nexport type Framework = {\n\t/**\n\t * Framework's human readable name.\n\t */\n\tname: string;\n\n\t/**\n\t * Framework's name sent to Prismic\n\t */\n\tprismicName: string;\n\n\t/**\n\t * Package name of the adapter responsible for this framework\n\t */\n\tadapterName: string;\n\n\t/**\n\t * A package name/semver range map defining framework compatibility\n\t * requirements.\n\t *\n\t * Project should match all entries to be considered compatible.\n\t */\n\tcompatibility: Record<string, string>;\n\n\t/**\n\t * A package name/semver range map defining development dependencies to be\n\t * installed. Typically Slice Machine and the framework's adapter.\n\t *\n\t * @remarks\n\t * Dependencies required to work with the framework (e.g. `@prismicio/next`\n\t * for Next.js) should not be defined here. Those are to be defined by the\n\t * adapter.\n\t */\n\tdevDependencies: Record<string, string>;\n};\n\nconst DEFAULT_DEV_DEPENDENCIES: Record<string, string> = {\n\t\"slice-machine-ui\": \"<1.0.0\",\n};\n\nexport const FRAMEWORKS: Record<string, Framework> = {\n\t\"nuxt-2\": {\n\t\tname: \"Nuxt 2\",\n\t\tprismicName: \"nuxt-2\",\n\t\tadapterName: \"@slicemachine/adapter-nuxt\",\n\t\tcompatibility: {\n\t\t\tnuxt: \"^2.0.0\",\n\t\t},\n\t\tdevDependencies: {\n\t\t\t...DEFAULT_DEV_DEPENDENCIES,\n\t\t\t\"@slicemachine/adapter-nuxt\": \"latest\",\n\t\t},\n\t},\n\t\"next-11-13\": {\n\t\tname: \"Next.js 11-13\",\n\t\tprismicName: \"next-11-13\",\n\t\tadapterName: \"@slicemachine/adapter-next\",\n\t\tcompatibility: {\n\t\t\tnext: \"^11.0.0 || ^12.0.0 || ^13.0.0\",\n\t\t},\n\t\tdevDependencies: {\n\t\t\t...DEFAULT_DEV_DEPENDENCIES,\n\t\t\t\"@slicemachine/adapter-next\": \"latest\",\n\t\t},\n\t},\n} as const;\n\n/**\n * Universal package used when framework is not supported.\n */\nexport const UNIVERSAL: Framework = {\n\tname: \"universal (no framework)\",\n\tprismicName: \"universal\",\n\tadapterName: \"@slicemachine/adapter-universal\",\n\tcompatibility: {},\n\tdevDependencies: {\n\t\t...DEFAULT_DEV_DEPENDENCIES,\n\t\t\"@slicemachine/adapter-universal\": \"latest\",\n\t},\n};\n\nexport const detectFramework = async (cwd: string): Promise<Framework> => {\n\tconst path = join(cwd, \"package.json\");\n\n\tlet allDependencies: Record<string, string>;\n\ttry {\n\t\tconst pkg = JSON.parse(await readFile(path, \"utf-8\"));\n\n\t\tallDependencies = {\n\t\t\t...pkg.dependencies,\n\t\t\t...pkg.devDependencies,\n\t\t};\n\t} catch (error) {\n\t\tthrow new Error(\n\t\t\t`Failed to read project's \\`package.json\\` at \\`${path}\\``,\n\t\t\t{ cause: error },\n\t\t);\n\t}\n\n\treturn (\n\t\tObject.values(FRAMEWORKS).find((framework) => {\n\t\t\treturn Object.entries(framework.compatibility).every(([pkg, range]) => {\n\t\t\t\tif (pkg in allDependencies) {\n\t\t\t\t\t// Determine lowest version possibly in use\n\t\t\t\t\tconst minimumVersion = semver.minVersion(allDependencies[pkg]);\n\n\t\t\t\t\t// Unconventional tags, `latest`, `beta`, `dev`\n\t\t\t\t\tif (!minimumVersion) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn semver.satisfies(minimumVersion, range);\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}) || UNIVERSAL\n\t);\n};\n"],"names":["path","join","readFile"],"mappings":";;;;;AAyCA,MAAM,2BAAmD;AAAA,EACxD,oBAAoB;;AAGd,MAAM,aAAwC;AAAA,EACpD,UAAU;AAAA,IACT,MAAM;AAAA,IACN,aAAa;AAAA,IACb,aAAa;AAAA,IACb,eAAe;AAAA,MACd,MAAM;AAAA,IACN;AAAA,IACD,iBAAiB;AAAA,MAChB,GAAG;AAAA,MACH,8BAA8B;AAAA,IAC9B;AAAA,EACD;AAAA,EACD,cAAc;AAAA,IACb,MAAM;AAAA,IACN,aAAa;AAAA,IACb,aAAa;AAAA,IACb,eAAe;AAAA,MACd,MAAM;AAAA,IACN;AAAA,IACD,iBAAiB;AAAA,MAChB,GAAG;AAAA,MACH,8BAA8B;AAAA,IAC9B;AAAA,EACD;;AAMK,MAAM,YAAuB;AAAA,EACnC,MAAM;AAAA,EACN,aAAa;AAAA,EACb,aAAa;AAAA,EACb,eAAe,CAAE;AAAA,EACjB,iBAAiB;AAAA,IAChB,GAAG;AAAA,IACH,mCAAmC;AAAA,EACnC;;AAGW,MAAA,kBAAkB,OAAO,QAAmC;AAClE,QAAAA,SAAOC,KAAAA,KAAK,KAAK,cAAc;AAEjC,MAAA;AACA,MAAA;AACH,UAAM,MAAM,KAAK,MAAM,MAAMC,GAAAA,SAASF,QAAM,OAAO,CAAC;AAElC,sBAAA;AAAA,MACjB,GAAG,IAAI;AAAA,MACP,GAAG,IAAI;AAAA,IAAA;AAAA,WAEA;AACR,UAAM,IAAI,MACT,kDAAkDA,YAClD,EAAE,OAAO,OAAO;AAAA,EAEjB;AAED,SACC,OAAO,OAAO,UAAU,EAAE,KAAK,CAAC,cAAa;AACrC,WAAA,OAAO,QAAQ,UAAU,aAAa,EAAE,MAAM,CAAC,CAAC,KAAK,KAAK,MAAK;AACrE,UAAI,OAAO,iBAAiB;AAE3B,cAAM,iBAAiB,OAAO,WAAW,gBAAgB,GAAG,CAAC;AAG7D,YAAI,CAAC,gBAAgB;AACb,iBAAA;AAAA,QACP;AAEM,eAAA,OAAO,UAAU,gBAAgB,KAAK;AAAA,MAC7C;AAEM,aAAA;AAAA,IAAA,CACP;AAAA,EACD,CAAA,KAAK;AAER;;;;"}
1
+ {"version":3,"file":"framework.cjs","sources":["../../../src/lib/framework.ts"],"sourcesContent":["import { readFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\n\nimport semver from \"semver\";\n\nexport type Framework = {\n\t/**\n\t * Framework's human readable name.\n\t */\n\tname: string;\n\n\t/**\n\t * Framework's name sent to Prismic\n\t */\n\tprismicName: string;\n\n\t/**\n\t * A link to the Prismic documentation for the framework\n\t */\n\tprismicDocumentation: string;\n\n\t/**\n\t * Package name of the adapter responsible for this framework\n\t */\n\tadapterName: string;\n\n\t/**\n\t * A package name/semver range map defining framework compatibility\n\t * requirements.\n\t *\n\t * Project should match all entries to be considered compatible.\n\t */\n\tcompatibility: Record<string, string>;\n\n\t/**\n\t * A package name/semver range map defining development dependencies to be\n\t * installed. Typically Slice Machine and the framework's adapter.\n\t *\n\t * @remarks\n\t * Dependencies required to work with the framework (e.g. `@prismicio/next`\n\t * for Next.js) should not be defined here. Those are to be defined by the\n\t * adapter.\n\t */\n\tdevDependencies: Record<string, string>;\n};\n\nconst DEFAULT_DEV_DEPENDENCIES: Record<string, string> = {\n\t\"slice-machine-ui\": \"<1.0.0\",\n};\n\n/**\n * Frameworks we support, orders shouldn't matter much but is respected (the\n * higher it is the more priority it has in case multiple matches)\n */\nexport const FRAMEWORKS: Record<string, Framework> = {\n\t\"nuxt-2\": {\n\t\tname: \"Nuxt 2\",\n\t\tprismicName: \"nuxt-2\",\n\t\tprismicDocumentation: \"https://prismic.dev/init/nuxt-2\",\n\t\tadapterName: \"@slicemachine/adapter-nuxt\",\n\t\tcompatibility: {\n\t\t\tnuxt: \"^2.0.0\",\n\t\t},\n\t\tdevDependencies: {\n\t\t\t...DEFAULT_DEV_DEPENDENCIES,\n\t\t\t\"@slicemachine/adapter-nuxt\": \"latest\",\n\t\t},\n\t},\n\t\"next-11-13\": {\n\t\tname: \"Next.js 11-13\",\n\t\tprismicName: \"next-11-13\",\n\t\tprismicDocumentation: \"https://prismic.dev/init/next-11-13\",\n\t\tadapterName: \"@slicemachine/adapter-next\",\n\t\tcompatibility: {\n\t\t\tnext: \"^11.0.0 || ^12.0.0 || ^13.0.0\",\n\t\t},\n\t\tdevDependencies: {\n\t\t\t...DEFAULT_DEV_DEPENDENCIES,\n\t\t\t\"@slicemachine/adapter-next\": \"latest\",\n\t\t},\n\t},\n} as const;\n\n/**\n * Universal package used when framework is not supported.\n */\nexport const UNIVERSAL: Framework = {\n\tname: \"universal (no framework)\",\n\tprismicName: \"universal\",\n\tprismicDocumentation: \"https://prismic.dev/init/universal\",\n\tadapterName: \"@slicemachine/adapter-universal\",\n\tcompatibility: {},\n\tdevDependencies: {\n\t\t...DEFAULT_DEV_DEPENDENCIES,\n\t\t\"@slicemachine/adapter-universal\": \"latest\",\n\t},\n};\n\nexport const detectFramework = async (cwd: string): Promise<Framework> => {\n\tconst path = join(cwd, \"package.json\");\n\n\tlet allDependencies: Record<string, string>;\n\ttry {\n\t\tconst pkg = JSON.parse(await readFile(path, \"utf-8\"));\n\n\t\tallDependencies = {\n\t\t\t...pkg.dependencies,\n\t\t\t...pkg.devDependencies,\n\t\t};\n\t} catch (error) {\n\t\tthrow new Error(\n\t\t\t`Failed to read project's \\`package.json\\` at \\`${path}\\``,\n\t\t\t{ cause: error },\n\t\t);\n\t}\n\n\treturn (\n\t\tObject.values(FRAMEWORKS).find((framework) => {\n\t\t\treturn Object.entries(framework.compatibility).every(([pkg, range]) => {\n\t\t\t\tif (pkg in allDependencies) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Determine lowest version possibly in use\n\t\t\t\t\t\tconst minimumVersion = semver.minVersion(allDependencies[pkg]);\n\n\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t\t\t\treturn semver.satisfies(minimumVersion!, range);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t// We assume unconventional tags, `latest`, `beta`, `dev` matches the framework\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}) || UNIVERSAL\n\t);\n};\n"],"names":["path","join","readFile"],"mappings":";;;;;AA8CA,MAAM,2BAAmD;AAAA,EACxD,oBAAoB;;AAOd,MAAM,aAAwC;AAAA,EACpD,UAAU;AAAA,IACT,MAAM;AAAA,IACN,aAAa;AAAA,IACb,sBAAsB;AAAA,IACtB,aAAa;AAAA,IACb,eAAe;AAAA,MACd,MAAM;AAAA,IACN;AAAA,IACD,iBAAiB;AAAA,MAChB,GAAG;AAAA,MACH,8BAA8B;AAAA,IAC9B;AAAA,EACD;AAAA,EACD,cAAc;AAAA,IACb,MAAM;AAAA,IACN,aAAa;AAAA,IACb,sBAAsB;AAAA,IACtB,aAAa;AAAA,IACb,eAAe;AAAA,MACd,MAAM;AAAA,IACN;AAAA,IACD,iBAAiB;AAAA,MAChB,GAAG;AAAA,MACH,8BAA8B;AAAA,IAC9B;AAAA,EACD;;AAMK,MAAM,YAAuB;AAAA,EACnC,MAAM;AAAA,EACN,aAAa;AAAA,EACb,sBAAsB;AAAA,EACtB,aAAa;AAAA,EACb,eAAe,CAAE;AAAA,EACjB,iBAAiB;AAAA,IAChB,GAAG;AAAA,IACH,mCAAmC;AAAA,EACnC;;AAGW,MAAA,kBAAkB,OAAO,QAAmC;AAClE,QAAAA,SAAOC,KAAAA,KAAK,KAAK,cAAc;AAEjC,MAAA;AACA,MAAA;AACH,UAAM,MAAM,KAAK,MAAM,MAAMC,GAAAA,SAASF,QAAM,OAAO,CAAC;AAElC,sBAAA;AAAA,MACjB,GAAG,IAAI;AAAA,MACP,GAAG,IAAI;AAAA,IAAA;AAAA,WAEA;AACR,UAAM,IAAI,MACT,kDAAkDA,YAClD,EAAE,OAAO,OAAO;AAAA,EAEjB;AAED,SACC,OAAO,OAAO,UAAU,EAAE,KAAK,CAAC,cAAa;AACrC,WAAA,OAAO,QAAQ,UAAU,aAAa,EAAE,MAAM,CAAC,CAAC,KAAK,KAAK,MAAK;AACrE,UAAI,OAAO,iBAAiB;AACvB,YAAA;AAEH,gBAAM,iBAAiB,OAAO,WAAW,gBAAgB,GAAG,CAAC;AAGtD,iBAAA,OAAO,UAAU,gBAAiB,KAAK;AAAA,iBACtC;AAED,iBAAA;AAAA,QACP;AAAA,MACD;AAEM,aAAA;AAAA,IAAA,CACP;AAAA,EACD,CAAA,KAAK;AAER;;;;"}
@@ -7,6 +7,10 @@ export type Framework = {
7
7
  * Framework's name sent to Prismic
8
8
  */
9
9
  prismicName: string;
10
+ /**
11
+ * A link to the Prismic documentation for the framework
12
+ */
13
+ prismicDocumentation: string;
10
14
  /**
11
15
  * Package name of the adapter responsible for this framework
12
16
  */
@@ -29,6 +33,10 @@ export type Framework = {
29
33
  */
30
34
  devDependencies: Record<string, string>;
31
35
  };
36
+ /**
37
+ * Frameworks we support, orders shouldn't matter much but is respected (the
38
+ * higher it is the more priority it has in case multiple matches)
39
+ */
32
40
  export declare const FRAMEWORKS: Record<string, Framework>;
33
41
  /**
34
42
  * Universal package used when framework is not supported.
@@ -8,6 +8,7 @@ const FRAMEWORKS = {
8
8
  "nuxt-2": {
9
9
  name: "Nuxt 2",
10
10
  prismicName: "nuxt-2",
11
+ prismicDocumentation: "https://prismic.dev/init/nuxt-2",
11
12
  adapterName: "@slicemachine/adapter-nuxt",
12
13
  compatibility: {
13
14
  nuxt: "^2.0.0"
@@ -20,6 +21,7 @@ const FRAMEWORKS = {
20
21
  "next-11-13": {
21
22
  name: "Next.js 11-13",
22
23
  prismicName: "next-11-13",
24
+ prismicDocumentation: "https://prismic.dev/init/next-11-13",
23
25
  adapterName: "@slicemachine/adapter-next",
24
26
  compatibility: {
25
27
  next: "^11.0.0 || ^12.0.0 || ^13.0.0"
@@ -33,6 +35,7 @@ const FRAMEWORKS = {
33
35
  const UNIVERSAL = {
34
36
  name: "universal (no framework)",
35
37
  prismicName: "universal",
38
+ prismicDocumentation: "https://prismic.dev/init/universal",
36
39
  adapterName: "@slicemachine/adapter-universal",
37
40
  compatibility: {},
38
41
  devDependencies: {
@@ -55,11 +58,12 @@ const detectFramework = async (cwd) => {
55
58
  return Object.values(FRAMEWORKS).find((framework) => {
56
59
  return Object.entries(framework.compatibility).every(([pkg, range]) => {
57
60
  if (pkg in allDependencies) {
58
- const minimumVersion = semver.minVersion(allDependencies[pkg]);
59
- if (!minimumVersion) {
61
+ try {
62
+ const minimumVersion = semver.minVersion(allDependencies[pkg]);
63
+ return semver.satisfies(minimumVersion, range);
64
+ } catch (error) {
60
65
  return true;
61
66
  }
62
- return semver.satisfies(minimumVersion, range);
63
67
  }
64
68
  return false;
65
69
  });
@@ -1 +1 @@
1
- {"version":3,"file":"framework.js","sources":["../../../src/lib/framework.ts"],"sourcesContent":["import { readFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\n\nimport semver from \"semver\";\n\nexport type Framework = {\n\t/**\n\t * Framework's human readable name.\n\t */\n\tname: string;\n\n\t/**\n\t * Framework's name sent to Prismic\n\t */\n\tprismicName: string;\n\n\t/**\n\t * Package name of the adapter responsible for this framework\n\t */\n\tadapterName: string;\n\n\t/**\n\t * A package name/semver range map defining framework compatibility\n\t * requirements.\n\t *\n\t * Project should match all entries to be considered compatible.\n\t */\n\tcompatibility: Record<string, string>;\n\n\t/**\n\t * A package name/semver range map defining development dependencies to be\n\t * installed. Typically Slice Machine and the framework's adapter.\n\t *\n\t * @remarks\n\t * Dependencies required to work with the framework (e.g. `@prismicio/next`\n\t * for Next.js) should not be defined here. Those are to be defined by the\n\t * adapter.\n\t */\n\tdevDependencies: Record<string, string>;\n};\n\nconst DEFAULT_DEV_DEPENDENCIES: Record<string, string> = {\n\t\"slice-machine-ui\": \"<1.0.0\",\n};\n\nexport const FRAMEWORKS: Record<string, Framework> = {\n\t\"nuxt-2\": {\n\t\tname: \"Nuxt 2\",\n\t\tprismicName: \"nuxt-2\",\n\t\tadapterName: \"@slicemachine/adapter-nuxt\",\n\t\tcompatibility: {\n\t\t\tnuxt: \"^2.0.0\",\n\t\t},\n\t\tdevDependencies: {\n\t\t\t...DEFAULT_DEV_DEPENDENCIES,\n\t\t\t\"@slicemachine/adapter-nuxt\": \"latest\",\n\t\t},\n\t},\n\t\"next-11-13\": {\n\t\tname: \"Next.js 11-13\",\n\t\tprismicName: \"next-11-13\",\n\t\tadapterName: \"@slicemachine/adapter-next\",\n\t\tcompatibility: {\n\t\t\tnext: \"^11.0.0 || ^12.0.0 || ^13.0.0\",\n\t\t},\n\t\tdevDependencies: {\n\t\t\t...DEFAULT_DEV_DEPENDENCIES,\n\t\t\t\"@slicemachine/adapter-next\": \"latest\",\n\t\t},\n\t},\n} as const;\n\n/**\n * Universal package used when framework is not supported.\n */\nexport const UNIVERSAL: Framework = {\n\tname: \"universal (no framework)\",\n\tprismicName: \"universal\",\n\tadapterName: \"@slicemachine/adapter-universal\",\n\tcompatibility: {},\n\tdevDependencies: {\n\t\t...DEFAULT_DEV_DEPENDENCIES,\n\t\t\"@slicemachine/adapter-universal\": \"latest\",\n\t},\n};\n\nexport const detectFramework = async (cwd: string): Promise<Framework> => {\n\tconst path = join(cwd, \"package.json\");\n\n\tlet allDependencies: Record<string, string>;\n\ttry {\n\t\tconst pkg = JSON.parse(await readFile(path, \"utf-8\"));\n\n\t\tallDependencies = {\n\t\t\t...pkg.dependencies,\n\t\t\t...pkg.devDependencies,\n\t\t};\n\t} catch (error) {\n\t\tthrow new Error(\n\t\t\t`Failed to read project's \\`package.json\\` at \\`${path}\\``,\n\t\t\t{ cause: error },\n\t\t);\n\t}\n\n\treturn (\n\t\tObject.values(FRAMEWORKS).find((framework) => {\n\t\t\treturn Object.entries(framework.compatibility).every(([pkg, range]) => {\n\t\t\t\tif (pkg in allDependencies) {\n\t\t\t\t\t// Determine lowest version possibly in use\n\t\t\t\t\tconst minimumVersion = semver.minVersion(allDependencies[pkg]);\n\n\t\t\t\t\t// Unconventional tags, `latest`, `beta`, `dev`\n\t\t\t\t\tif (!minimumVersion) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn semver.satisfies(minimumVersion, range);\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}) || UNIVERSAL\n\t);\n};\n"],"names":[],"mappings":";;;AAyCA,MAAM,2BAAmD;AAAA,EACxD,oBAAoB;;AAGd,MAAM,aAAwC;AAAA,EACpD,UAAU;AAAA,IACT,MAAM;AAAA,IACN,aAAa;AAAA,IACb,aAAa;AAAA,IACb,eAAe;AAAA,MACd,MAAM;AAAA,IACN;AAAA,IACD,iBAAiB;AAAA,MAChB,GAAG;AAAA,MACH,8BAA8B;AAAA,IAC9B;AAAA,EACD;AAAA,EACD,cAAc;AAAA,IACb,MAAM;AAAA,IACN,aAAa;AAAA,IACb,aAAa;AAAA,IACb,eAAe;AAAA,MACd,MAAM;AAAA,IACN;AAAA,IACD,iBAAiB;AAAA,MAChB,GAAG;AAAA,MACH,8BAA8B;AAAA,IAC9B;AAAA,EACD;;AAMK,MAAM,YAAuB;AAAA,EACnC,MAAM;AAAA,EACN,aAAa;AAAA,EACb,aAAa;AAAA,EACb,eAAe,CAAE;AAAA,EACjB,iBAAiB;AAAA,IAChB,GAAG;AAAA,IACH,mCAAmC;AAAA,EACnC;;AAGW,MAAA,kBAAkB,OAAO,QAAmC;AAClE,QAAA,OAAO,KAAK,KAAK,cAAc;AAEjC,MAAA;AACA,MAAA;AACH,UAAM,MAAM,KAAK,MAAM,MAAM,SAAS,MAAM,OAAO,CAAC;AAElC,sBAAA;AAAA,MACjB,GAAG,IAAI;AAAA,MACP,GAAG,IAAI;AAAA,IAAA;AAAA,WAEA;AACR,UAAM,IAAI,MACT,kDAAkD,UAClD,EAAE,OAAO,OAAO;AAAA,EAEjB;AAED,SACC,OAAO,OAAO,UAAU,EAAE,KAAK,CAAC,cAAa;AACrC,WAAA,OAAO,QAAQ,UAAU,aAAa,EAAE,MAAM,CAAC,CAAC,KAAK,KAAK,MAAK;AACrE,UAAI,OAAO,iBAAiB;AAE3B,cAAM,iBAAiB,OAAO,WAAW,gBAAgB,GAAG,CAAC;AAG7D,YAAI,CAAC,gBAAgB;AACb,iBAAA;AAAA,QACP;AAEM,eAAA,OAAO,UAAU,gBAAgB,KAAK;AAAA,MAC7C;AAEM,aAAA;AAAA,IAAA,CACP;AAAA,EACD,CAAA,KAAK;AAER;"}
1
+ {"version":3,"file":"framework.js","sources":["../../../src/lib/framework.ts"],"sourcesContent":["import { readFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\n\nimport semver from \"semver\";\n\nexport type Framework = {\n\t/**\n\t * Framework's human readable name.\n\t */\n\tname: string;\n\n\t/**\n\t * Framework's name sent to Prismic\n\t */\n\tprismicName: string;\n\n\t/**\n\t * A link to the Prismic documentation for the framework\n\t */\n\tprismicDocumentation: string;\n\n\t/**\n\t * Package name of the adapter responsible for this framework\n\t */\n\tadapterName: string;\n\n\t/**\n\t * A package name/semver range map defining framework compatibility\n\t * requirements.\n\t *\n\t * Project should match all entries to be considered compatible.\n\t */\n\tcompatibility: Record<string, string>;\n\n\t/**\n\t * A package name/semver range map defining development dependencies to be\n\t * installed. Typically Slice Machine and the framework's adapter.\n\t *\n\t * @remarks\n\t * Dependencies required to work with the framework (e.g. `@prismicio/next`\n\t * for Next.js) should not be defined here. Those are to be defined by the\n\t * adapter.\n\t */\n\tdevDependencies: Record<string, string>;\n};\n\nconst DEFAULT_DEV_DEPENDENCIES: Record<string, string> = {\n\t\"slice-machine-ui\": \"<1.0.0\",\n};\n\n/**\n * Frameworks we support, orders shouldn't matter much but is respected (the\n * higher it is the more priority it has in case multiple matches)\n */\nexport const FRAMEWORKS: Record<string, Framework> = {\n\t\"nuxt-2\": {\n\t\tname: \"Nuxt 2\",\n\t\tprismicName: \"nuxt-2\",\n\t\tprismicDocumentation: \"https://prismic.dev/init/nuxt-2\",\n\t\tadapterName: \"@slicemachine/adapter-nuxt\",\n\t\tcompatibility: {\n\t\t\tnuxt: \"^2.0.0\",\n\t\t},\n\t\tdevDependencies: {\n\t\t\t...DEFAULT_DEV_DEPENDENCIES,\n\t\t\t\"@slicemachine/adapter-nuxt\": \"latest\",\n\t\t},\n\t},\n\t\"next-11-13\": {\n\t\tname: \"Next.js 11-13\",\n\t\tprismicName: \"next-11-13\",\n\t\tprismicDocumentation: \"https://prismic.dev/init/next-11-13\",\n\t\tadapterName: \"@slicemachine/adapter-next\",\n\t\tcompatibility: {\n\t\t\tnext: \"^11.0.0 || ^12.0.0 || ^13.0.0\",\n\t\t},\n\t\tdevDependencies: {\n\t\t\t...DEFAULT_DEV_DEPENDENCIES,\n\t\t\t\"@slicemachine/adapter-next\": \"latest\",\n\t\t},\n\t},\n} as const;\n\n/**\n * Universal package used when framework is not supported.\n */\nexport const UNIVERSAL: Framework = {\n\tname: \"universal (no framework)\",\n\tprismicName: \"universal\",\n\tprismicDocumentation: \"https://prismic.dev/init/universal\",\n\tadapterName: \"@slicemachine/adapter-universal\",\n\tcompatibility: {},\n\tdevDependencies: {\n\t\t...DEFAULT_DEV_DEPENDENCIES,\n\t\t\"@slicemachine/adapter-universal\": \"latest\",\n\t},\n};\n\nexport const detectFramework = async (cwd: string): Promise<Framework> => {\n\tconst path = join(cwd, \"package.json\");\n\n\tlet allDependencies: Record<string, string>;\n\ttry {\n\t\tconst pkg = JSON.parse(await readFile(path, \"utf-8\"));\n\n\t\tallDependencies = {\n\t\t\t...pkg.dependencies,\n\t\t\t...pkg.devDependencies,\n\t\t};\n\t} catch (error) {\n\t\tthrow new Error(\n\t\t\t`Failed to read project's \\`package.json\\` at \\`${path}\\``,\n\t\t\t{ cause: error },\n\t\t);\n\t}\n\n\treturn (\n\t\tObject.values(FRAMEWORKS).find((framework) => {\n\t\t\treturn Object.entries(framework.compatibility).every(([pkg, range]) => {\n\t\t\t\tif (pkg in allDependencies) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t// Determine lowest version possibly in use\n\t\t\t\t\t\tconst minimumVersion = semver.minVersion(allDependencies[pkg]);\n\n\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t\t\t\treturn semver.satisfies(minimumVersion!, range);\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t// We assume unconventional tags, `latest`, `beta`, `dev` matches the framework\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}) || UNIVERSAL\n\t);\n};\n"],"names":[],"mappings":";;;AA8CA,MAAM,2BAAmD;AAAA,EACxD,oBAAoB;;AAOd,MAAM,aAAwC;AAAA,EACpD,UAAU;AAAA,IACT,MAAM;AAAA,IACN,aAAa;AAAA,IACb,sBAAsB;AAAA,IACtB,aAAa;AAAA,IACb,eAAe;AAAA,MACd,MAAM;AAAA,IACN;AAAA,IACD,iBAAiB;AAAA,MAChB,GAAG;AAAA,MACH,8BAA8B;AAAA,IAC9B;AAAA,EACD;AAAA,EACD,cAAc;AAAA,IACb,MAAM;AAAA,IACN,aAAa;AAAA,IACb,sBAAsB;AAAA,IACtB,aAAa;AAAA,IACb,eAAe;AAAA,MACd,MAAM;AAAA,IACN;AAAA,IACD,iBAAiB;AAAA,MAChB,GAAG;AAAA,MACH,8BAA8B;AAAA,IAC9B;AAAA,EACD;;AAMK,MAAM,YAAuB;AAAA,EACnC,MAAM;AAAA,EACN,aAAa;AAAA,EACb,sBAAsB;AAAA,EACtB,aAAa;AAAA,EACb,eAAe,CAAE;AAAA,EACjB,iBAAiB;AAAA,IAChB,GAAG;AAAA,IACH,mCAAmC;AAAA,EACnC;;AAGW,MAAA,kBAAkB,OAAO,QAAmC;AAClE,QAAA,OAAO,KAAK,KAAK,cAAc;AAEjC,MAAA;AACA,MAAA;AACH,UAAM,MAAM,KAAK,MAAM,MAAM,SAAS,MAAM,OAAO,CAAC;AAElC,sBAAA;AAAA,MACjB,GAAG,IAAI;AAAA,MACP,GAAG,IAAI;AAAA,IAAA;AAAA,WAEA;AACR,UAAM,IAAI,MACT,kDAAkD,UAClD,EAAE,OAAO,OAAO;AAAA,EAEjB;AAED,SACC,OAAO,OAAO,UAAU,EAAE,KAAK,CAAC,cAAa;AACrC,WAAA,OAAO,QAAQ,UAAU,aAAa,EAAE,MAAM,CAAC,CAAC,KAAK,KAAK,MAAK;AACrE,UAAI,OAAO,iBAAiB;AACvB,YAAA;AAEH,gBAAM,iBAAiB,OAAO,WAAW,gBAAgB,GAAG,CAAC;AAGtD,iBAAA,OAAO,UAAU,gBAAiB,KAAK;AAAA,iBACtC;AAED,iBAAA;AAAA,QACP;AAAA,MACD;AAEM,aAAA;AAAA,IAAA,CACP;AAAA,EACD,CAAA,KAAK;AAER;"}
@@ -27,13 +27,21 @@ const installDependencies = async (args) => {
27
27
  });
28
28
  return { execaProcess };
29
29
  };
30
- const detectPackageManager = async () => {
31
- const agent = await ni.detect({ autoInstall: true });
30
+ const getRunScriptCommand = async (args) => {
31
+ return await ni.parseNr(args.agent, [args.script]) || `npm run ${args.script}`;
32
+ };
33
+ const getExecuteCommand = async (args) => {
34
+ return await ni.parseNx(args.agent, [args.script]) || `npx ${args.script}`;
35
+ };
36
+ const detectPackageManager = async (cwd) => {
37
+ const agent = await ni.detect({ autoInstall: true, cwd });
32
38
  if (!agent) {
33
- throw new Error("Failed to detect project's framework");
39
+ throw new Error("Failed to detect project's package manager");
34
40
  }
35
41
  return agent;
36
42
  };
37
43
  exports.detectPackageManager = detectPackageManager;
44
+ exports.getExecuteCommand = getExecuteCommand;
45
+ exports.getRunScriptCommand = getRunScriptCommand;
38
46
  exports.installDependencies = installDependencies;
39
47
  //# sourceMappingURL=packageManager.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageManager.cjs","sources":["../../../src/lib/packageManager.ts"],"sourcesContent":["import { parseNi, detect as niDetect } from \"@antfu/ni\";\nimport {\n\tExecaChildProcess,\n\texecaCommand,\n\tOptions as ExacaOptions,\n} from \"execa\";\n\nexport type PackageManagerAgent = Exclude<\n\tAwaited<ReturnType<typeof niDetect>>,\n\tnull\n>;\n\nconst EXTRA_AGENT_FLAGS: Record<PackageManagerAgent, string[]> = {\n\tnpm: [\"--color=always\", \"--loglevel=info\"],\n\tpnpm: [\"--color\"], // TODO: Validate that flags are correct\n\tyarn: [\"--color\"],\n\t\"yarn@berry\": [\"--color\"], // TODO: Validate that flags are correct\n\t\"pnpm@6\": [\"--color\"], // TODO: Validate that flags are correct\n\tbun: [\"--color\"], // TODO: Validate that flags are correct\n};\n\ntype InstallDependenciesArgs = {\n\tagent: PackageManagerAgent;\n\tdependencies?: Record<string, string>;\n\tdev?: boolean;\n\texeca?: ExacaOptions;\n};\n\nexport const installDependencies = async (\n\targs: InstallDependenciesArgs,\n): Promise<{ execaProcess: ExecaChildProcess }> => {\n\tconst commandArgs = args.dependencies\n\t\t? Object.entries(args.dependencies).map(([pkg, range]) => `${pkg}@${range}`)\n\t\t: [];\n\n\tif (commandArgs.length && args.dev) {\n\t\tcommandArgs.unshift(\"-D\");\n\t}\n\n\tcommandArgs.push(...EXTRA_AGENT_FLAGS[args.agent]);\n\n\tconst command = await parseNi(args.agent, commandArgs);\n\n\tif (!command) {\n\t\tthrow new Error(\n\t\t\t\"Failed to begin dependency installation (could not parse command)\",\n\t\t);\n\t}\n\n\tconst execaProcess = execaCommand(command, {\n\t\tencoding: \"utf-8\",\n\t\t...args.execa,\n\t});\n\n\treturn { execaProcess };\n};\n\nexport const detectPackageManager = async (): Promise<PackageManagerAgent> => {\n\t// We auto install agent for now otherwise ni could cause some issues with prompt\n\tconst agent = await niDetect({ autoInstall: true });\n\n\tif (!agent) {\n\t\tthrow new Error(\"Failed to detect project's framework\");\n\t}\n\n\treturn agent;\n};\n"],"names":["parseNi","execaCommand","niDetect"],"mappings":";;;;AAYA,MAAM,oBAA2D;AAAA,EAChE,KAAK,CAAC,kBAAkB,iBAAiB;AAAA,EACzC,MAAM,CAAC,SAAS;AAAA,EAChB,MAAM,CAAC,SAAS;AAAA,EAChB,cAAc,CAAC,SAAS;AAAA,EACxB,UAAU,CAAC,SAAS;AAAA,EACpB,KAAK,CAAC,SAAS;AAAA;;AAUH,MAAA,sBAAsB,OAClC,SACiD;AACjD,QAAM,cAAc,KAAK,eACtB,OAAO,QAAQ,KAAK,YAAY,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,OAAO,OAAO,IACzE;AAEC,MAAA,YAAY,UAAU,KAAK,KAAK;AACnC,gBAAY,QAAQ,IAAI;AAAA,EACxB;AAED,cAAY,KAAK,GAAG,kBAAkB,KAAK,KAAK,CAAC;AAEjD,QAAM,UAAU,MAAMA,GAAQ,QAAA,KAAK,OAAO,WAAW;AAErD,MAAI,CAAC,SAAS;AACP,UAAA,IAAI,MACT,mEAAmE;AAAA,EAEpE;AAEK,QAAA,eAAeC,mBAAa,SAAS;AAAA,IAC1C,UAAU;AAAA,IACV,GAAG,KAAK;AAAA,EAAA,CACR;AAED,SAAO,EAAE,aAAY;AACtB;AAEO,MAAM,uBAAuB,YAAyC;AAE5E,QAAM,QAAQ,MAAMC,GAAA,OAAS,EAAE,aAAa,KAAM,CAAA;AAElD,MAAI,CAAC,OAAO;AACL,UAAA,IAAI,MAAM,sCAAsC;AAAA,EACtD;AAEM,SAAA;AACR;;;"}
1
+ {"version":3,"file":"packageManager.cjs","sources":["../../../src/lib/packageManager.ts"],"sourcesContent":["import { parseNi, parseNr, detect as niDetect, parseNx } from \"@antfu/ni\";\nimport {\n\tExecaChildProcess,\n\texecaCommand,\n\tOptions as ExacaOptions,\n} from \"execa\";\n\nexport type PackageManagerAgent = Exclude<\n\tAwaited<ReturnType<typeof niDetect>>,\n\tnull\n>;\n\nconst EXTRA_AGENT_FLAGS: Record<PackageManagerAgent, string[]> = {\n\tnpm: [\"--color=always\", \"--loglevel=info\"],\n\tpnpm: [\"--color\"], // TODO: Validate that flags are correct\n\tyarn: [\"--color\"],\n\t\"yarn@berry\": [\"--color\"], // TODO: Validate that flags are correct\n\t\"pnpm@6\": [\"--color\"], // TODO: Validate that flags are correct\n\tbun: [\"--color\"], // TODO: Validate that flags are correct\n};\n\ntype InstallDependenciesArgs = {\n\tagent: PackageManagerAgent;\n\tdependencies?: Record<string, string>;\n\tdev?: boolean;\n\texeca?: ExacaOptions;\n};\n\nexport const installDependencies = async (\n\targs: InstallDependenciesArgs,\n): Promise<{ execaProcess: ExecaChildProcess }> => {\n\tconst commandArgs = args.dependencies\n\t\t? Object.entries(args.dependencies).map(([pkg, range]) => `${pkg}@${range}`)\n\t\t: [];\n\n\tif (commandArgs.length && args.dev) {\n\t\tcommandArgs.unshift(\"-D\");\n\t}\n\n\tcommandArgs.push(...EXTRA_AGENT_FLAGS[args.agent]);\n\n\tconst command = await parseNi(args.agent, commandArgs);\n\n\tif (!command) {\n\t\tthrow new Error(\n\t\t\t\"Failed to begin dependency installation (could not parse command)\",\n\t\t);\n\t}\n\n\tconst execaProcess = execaCommand(command, {\n\t\tencoding: \"utf-8\",\n\t\t...args.execa,\n\t});\n\n\treturn { execaProcess };\n};\n\nexport const getRunScriptCommand = async (args: {\n\tagent: PackageManagerAgent;\n\tscript: string;\n}): Promise<string> => {\n\treturn (await parseNr(args.agent, [args.script])) || `npm run ${args.script}`;\n};\n\nexport const getExecuteCommand = async (args: {\n\tagent: PackageManagerAgent;\n\tscript: string;\n}): Promise<string> => {\n\treturn (await parseNx(args.agent, [args.script])) || `npx ${args.script}`;\n};\n\nexport const detectPackageManager = async (\n\tcwd?: string,\n): Promise<PackageManagerAgent> => {\n\t// We auto install agent for now otherwise ni could cause some issues with prompt\n\tconst agent = await niDetect({ autoInstall: true, cwd });\n\n\tif (!agent) {\n\t\tthrow new Error(\"Failed to detect project's package manager\");\n\t}\n\n\treturn agent;\n};\n"],"names":["parseNi","execaCommand","parseNr","parseNx","niDetect"],"mappings":";;;;AAYA,MAAM,oBAA2D;AAAA,EAChE,KAAK,CAAC,kBAAkB,iBAAiB;AAAA,EACzC,MAAM,CAAC,SAAS;AAAA,EAChB,MAAM,CAAC,SAAS;AAAA,EAChB,cAAc,CAAC,SAAS;AAAA,EACxB,UAAU,CAAC,SAAS;AAAA,EACpB,KAAK,CAAC,SAAS;AAAA;;AAUH,MAAA,sBAAsB,OAClC,SACiD;AACjD,QAAM,cAAc,KAAK,eACtB,OAAO,QAAQ,KAAK,YAAY,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,OAAO,OAAO,IACzE;AAEC,MAAA,YAAY,UAAU,KAAK,KAAK;AACnC,gBAAY,QAAQ,IAAI;AAAA,EACxB;AAED,cAAY,KAAK,GAAG,kBAAkB,KAAK,KAAK,CAAC;AAEjD,QAAM,UAAU,MAAMA,GAAQ,QAAA,KAAK,OAAO,WAAW;AAErD,MAAI,CAAC,SAAS;AACP,UAAA,IAAI,MACT,mEAAmE;AAAA,EAEpE;AAEK,QAAA,eAAeC,mBAAa,SAAS;AAAA,IAC1C,UAAU;AAAA,IACV,GAAG,KAAK;AAAA,EAAA,CACR;AAED,SAAO,EAAE,aAAY;AACtB;AAEa,MAAA,sBAAsB,OAAO,SAGpB;AACb,SAAA,MAAMC,GAAQ,QAAA,KAAK,OAAO,CAAC,KAAK,MAAM,CAAC,KAAM,WAAW,KAAK;AACtE;AAEa,MAAA,oBAAoB,OAAO,SAGlB;AACb,SAAA,MAAMC,GAAQ,QAAA,KAAK,OAAO,CAAC,KAAK,MAAM,CAAC,KAAM,OAAO,KAAK;AAClE;AAEa,MAAA,uBAAuB,OACnC,QACiC;AAEjC,QAAM,QAAQ,MAAMC,UAAS,EAAE,aAAa,MAAM,KAAK;AAEvD,MAAI,CAAC,OAAO;AACL,UAAA,IAAI,MAAM,4CAA4C;AAAA,EAC5D;AAEM,SAAA;AACR;;;;;"}
@@ -10,5 +10,13 @@ type InstallDependenciesArgs = {
10
10
  export declare const installDependencies: (args: InstallDependenciesArgs) => Promise<{
11
11
  execaProcess: ExecaChildProcess;
12
12
  }>;
13
- export declare const detectPackageManager: () => Promise<PackageManagerAgent>;
13
+ export declare const getRunScriptCommand: (args: {
14
+ agent: PackageManagerAgent;
15
+ script: string;
16
+ }) => Promise<string>;
17
+ export declare const getExecuteCommand: (args: {
18
+ agent: PackageManagerAgent;
19
+ script: string;
20
+ }) => Promise<string>;
21
+ export declare const detectPackageManager: (cwd?: string) => Promise<PackageManagerAgent>;
14
22
  export {};
@@ -1,4 +1,4 @@
1
- import { parseNi, detect } from "@antfu/ni";
1
+ import { parseNr, parseNx, parseNi, detect } from "@antfu/ni";
2
2
  import { execaCommand } from './../packages/init/__node_modules/execa/index.js';
3
3
  const EXTRA_AGENT_FLAGS = {
4
4
  npm: ["--color=always", "--loglevel=info"],
@@ -25,15 +25,23 @@ const installDependencies = async (args) => {
25
25
  });
26
26
  return { execaProcess };
27
27
  };
28
- const detectPackageManager = async () => {
29
- const agent = await detect({ autoInstall: true });
28
+ const getRunScriptCommand = async (args) => {
29
+ return await parseNr(args.agent, [args.script]) || `npm run ${args.script}`;
30
+ };
31
+ const getExecuteCommand = async (args) => {
32
+ return await parseNx(args.agent, [args.script]) || `npx ${args.script}`;
33
+ };
34
+ const detectPackageManager = async (cwd) => {
35
+ const agent = await detect({ autoInstall: true, cwd });
30
36
  if (!agent) {
31
- throw new Error("Failed to detect project's framework");
37
+ throw new Error("Failed to detect project's package manager");
32
38
  }
33
39
  return agent;
34
40
  };
35
41
  export {
36
42
  detectPackageManager,
43
+ getExecuteCommand,
44
+ getRunScriptCommand,
37
45
  installDependencies
38
46
  };
39
47
  //# sourceMappingURL=packageManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageManager.js","sources":["../../../src/lib/packageManager.ts"],"sourcesContent":["import { parseNi, detect as niDetect } from \"@antfu/ni\";\nimport {\n\tExecaChildProcess,\n\texecaCommand,\n\tOptions as ExacaOptions,\n} from \"execa\";\n\nexport type PackageManagerAgent = Exclude<\n\tAwaited<ReturnType<typeof niDetect>>,\n\tnull\n>;\n\nconst EXTRA_AGENT_FLAGS: Record<PackageManagerAgent, string[]> = {\n\tnpm: [\"--color=always\", \"--loglevel=info\"],\n\tpnpm: [\"--color\"], // TODO: Validate that flags are correct\n\tyarn: [\"--color\"],\n\t\"yarn@berry\": [\"--color\"], // TODO: Validate that flags are correct\n\t\"pnpm@6\": [\"--color\"], // TODO: Validate that flags are correct\n\tbun: [\"--color\"], // TODO: Validate that flags are correct\n};\n\ntype InstallDependenciesArgs = {\n\tagent: PackageManagerAgent;\n\tdependencies?: Record<string, string>;\n\tdev?: boolean;\n\texeca?: ExacaOptions;\n};\n\nexport const installDependencies = async (\n\targs: InstallDependenciesArgs,\n): Promise<{ execaProcess: ExecaChildProcess }> => {\n\tconst commandArgs = args.dependencies\n\t\t? Object.entries(args.dependencies).map(([pkg, range]) => `${pkg}@${range}`)\n\t\t: [];\n\n\tif (commandArgs.length && args.dev) {\n\t\tcommandArgs.unshift(\"-D\");\n\t}\n\n\tcommandArgs.push(...EXTRA_AGENT_FLAGS[args.agent]);\n\n\tconst command = await parseNi(args.agent, commandArgs);\n\n\tif (!command) {\n\t\tthrow new Error(\n\t\t\t\"Failed to begin dependency installation (could not parse command)\",\n\t\t);\n\t}\n\n\tconst execaProcess = execaCommand(command, {\n\t\tencoding: \"utf-8\",\n\t\t...args.execa,\n\t});\n\n\treturn { execaProcess };\n};\n\nexport const detectPackageManager = async (): Promise<PackageManagerAgent> => {\n\t// We auto install agent for now otherwise ni could cause some issues with prompt\n\tconst agent = await niDetect({ autoInstall: true });\n\n\tif (!agent) {\n\t\tthrow new Error(\"Failed to detect project's framework\");\n\t}\n\n\treturn agent;\n};\n"],"names":["niDetect"],"mappings":";;AAYA,MAAM,oBAA2D;AAAA,EAChE,KAAK,CAAC,kBAAkB,iBAAiB;AAAA,EACzC,MAAM,CAAC,SAAS;AAAA,EAChB,MAAM,CAAC,SAAS;AAAA,EAChB,cAAc,CAAC,SAAS;AAAA,EACxB,UAAU,CAAC,SAAS;AAAA,EACpB,KAAK,CAAC,SAAS;AAAA;;AAUH,MAAA,sBAAsB,OAClC,SACiD;AACjD,QAAM,cAAc,KAAK,eACtB,OAAO,QAAQ,KAAK,YAAY,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,OAAO,OAAO,IACzE;AAEC,MAAA,YAAY,UAAU,KAAK,KAAK;AACnC,gBAAY,QAAQ,IAAI;AAAA,EACxB;AAED,cAAY,KAAK,GAAG,kBAAkB,KAAK,KAAK,CAAC;AAEjD,QAAM,UAAU,MAAM,QAAQ,KAAK,OAAO,WAAW;AAErD,MAAI,CAAC,SAAS;AACP,UAAA,IAAI,MACT,mEAAmE;AAAA,EAEpE;AAEK,QAAA,eAAe,aAAa,SAAS;AAAA,IAC1C,UAAU;AAAA,IACV,GAAG,KAAK;AAAA,EAAA,CACR;AAED,SAAO,EAAE,aAAY;AACtB;AAEO,MAAM,uBAAuB,YAAyC;AAE5E,QAAM,QAAQ,MAAMA,OAAS,EAAE,aAAa,KAAM,CAAA;AAElD,MAAI,CAAC,OAAO;AACL,UAAA,IAAI,MAAM,sCAAsC;AAAA,EACtD;AAEM,SAAA;AACR;"}
1
+ {"version":3,"file":"packageManager.js","sources":["../../../src/lib/packageManager.ts"],"sourcesContent":["import { parseNi, parseNr, detect as niDetect, parseNx } from \"@antfu/ni\";\nimport {\n\tExecaChildProcess,\n\texecaCommand,\n\tOptions as ExacaOptions,\n} from \"execa\";\n\nexport type PackageManagerAgent = Exclude<\n\tAwaited<ReturnType<typeof niDetect>>,\n\tnull\n>;\n\nconst EXTRA_AGENT_FLAGS: Record<PackageManagerAgent, string[]> = {\n\tnpm: [\"--color=always\", \"--loglevel=info\"],\n\tpnpm: [\"--color\"], // TODO: Validate that flags are correct\n\tyarn: [\"--color\"],\n\t\"yarn@berry\": [\"--color\"], // TODO: Validate that flags are correct\n\t\"pnpm@6\": [\"--color\"], // TODO: Validate that flags are correct\n\tbun: [\"--color\"], // TODO: Validate that flags are correct\n};\n\ntype InstallDependenciesArgs = {\n\tagent: PackageManagerAgent;\n\tdependencies?: Record<string, string>;\n\tdev?: boolean;\n\texeca?: ExacaOptions;\n};\n\nexport const installDependencies = async (\n\targs: InstallDependenciesArgs,\n): Promise<{ execaProcess: ExecaChildProcess }> => {\n\tconst commandArgs = args.dependencies\n\t\t? Object.entries(args.dependencies).map(([pkg, range]) => `${pkg}@${range}`)\n\t\t: [];\n\n\tif (commandArgs.length && args.dev) {\n\t\tcommandArgs.unshift(\"-D\");\n\t}\n\n\tcommandArgs.push(...EXTRA_AGENT_FLAGS[args.agent]);\n\n\tconst command = await parseNi(args.agent, commandArgs);\n\n\tif (!command) {\n\t\tthrow new Error(\n\t\t\t\"Failed to begin dependency installation (could not parse command)\",\n\t\t);\n\t}\n\n\tconst execaProcess = execaCommand(command, {\n\t\tencoding: \"utf-8\",\n\t\t...args.execa,\n\t});\n\n\treturn { execaProcess };\n};\n\nexport const getRunScriptCommand = async (args: {\n\tagent: PackageManagerAgent;\n\tscript: string;\n}): Promise<string> => {\n\treturn (await parseNr(args.agent, [args.script])) || `npm run ${args.script}`;\n};\n\nexport const getExecuteCommand = async (args: {\n\tagent: PackageManagerAgent;\n\tscript: string;\n}): Promise<string> => {\n\treturn (await parseNx(args.agent, [args.script])) || `npx ${args.script}`;\n};\n\nexport const detectPackageManager = async (\n\tcwd?: string,\n): Promise<PackageManagerAgent> => {\n\t// We auto install agent for now otherwise ni could cause some issues with prompt\n\tconst agent = await niDetect({ autoInstall: true, cwd });\n\n\tif (!agent) {\n\t\tthrow new Error(\"Failed to detect project's package manager\");\n\t}\n\n\treturn agent;\n};\n"],"names":["niDetect"],"mappings":";;AAYA,MAAM,oBAA2D;AAAA,EAChE,KAAK,CAAC,kBAAkB,iBAAiB;AAAA,EACzC,MAAM,CAAC,SAAS;AAAA,EAChB,MAAM,CAAC,SAAS;AAAA,EAChB,cAAc,CAAC,SAAS;AAAA,EACxB,UAAU,CAAC,SAAS;AAAA,EACpB,KAAK,CAAC,SAAS;AAAA;;AAUH,MAAA,sBAAsB,OAClC,SACiD;AACjD,QAAM,cAAc,KAAK,eACtB,OAAO,QAAQ,KAAK,YAAY,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,OAAO,OAAO,IACzE;AAEC,MAAA,YAAY,UAAU,KAAK,KAAK;AACnC,gBAAY,QAAQ,IAAI;AAAA,EACxB;AAED,cAAY,KAAK,GAAG,kBAAkB,KAAK,KAAK,CAAC;AAEjD,QAAM,UAAU,MAAM,QAAQ,KAAK,OAAO,WAAW;AAErD,MAAI,CAAC,SAAS;AACP,UAAA,IAAI,MACT,mEAAmE;AAAA,EAEpE;AAEK,QAAA,eAAe,aAAa,SAAS;AAAA,IAC1C,UAAU;AAAA,IACV,GAAG,KAAK;AAAA,EAAA,CACR;AAED,SAAO,EAAE,aAAY;AACtB;AAEa,MAAA,sBAAsB,OAAO,SAGpB;AACb,SAAA,MAAM,QAAQ,KAAK,OAAO,CAAC,KAAK,MAAM,CAAC,KAAM,WAAW,KAAK;AACtE;AAEa,MAAA,oBAAoB,OAAO,SAGlB;AACb,SAAA,MAAM,QAAQ,KAAK,OAAO,CAAC,KAAK,MAAM,CAAC,KAAM,OAAO,KAAK;AAClE;AAEa,MAAA,uBAAuB,OACnC,QACiC;AAEjC,QAAM,QAAQ,MAAMA,OAAS,EAAE,aAAa,MAAM,KAAK;AAEvD,MAAI,CAAC,OAAO;AACL,UAAA,IAAI,MAAM,4CAA4C;AAAA,EAC5D;AAEM,SAAA;AACR;"}
@@ -2,12 +2,13 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const prompts = require("prompts");
4
4
  const prompt = async (question) => {
5
+ var _a, _b, _c, _d;
5
6
  const answers = await prompts(question);
6
7
  if (!Object.keys(answers).length) {
7
8
  process.exit(130);
8
9
  }
9
- process.stdout.moveCursor(0, -1);
10
- process.stdout.clearLine(1);
10
+ (_b = (_a = process.stdout).moveCursor) == null ? void 0 : _b.call(_a, 0, -1);
11
+ (_d = (_c = process.stdout).clearLine) == null ? void 0 : _d.call(_c, 1);
11
12
  return answers;
12
13
  };
13
14
  exports.prompt = prompt;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.cjs","sources":["../../../src/lib/prompt.ts"],"sourcesContent":["import prompts from \"prompts\";\n\ntype promptArgs<\n\tTValue = unknown,\n\tTProperty extends string = string,\n> = prompts.PromptObject<TProperty> & {\n\t// Method is available, cf. docs\n\tonRender?: (this: { msg: string; value?: TValue; initial?: TValue }) => void;\n};\n\nexport const prompt = async <TReturn, TProperty extends string = string>(\n\tquestion: promptArgs<TReturn, TProperty>,\n): Promise<Record<TProperty, TReturn>> => {\n\tconst answers: Record<TProperty, TReturn> = await prompts<TProperty>(\n\t\tquestion,\n\t);\n\n\tif (!Object.keys(answers).length) {\n\t\tprocess.exit(130);\n\t}\n\n\t// Clear prompt line, clean recap are done manually\n\tprocess.stdout.moveCursor(0, -1);\n\tprocess.stdout.clearLine(1);\n\n\treturn answers;\n};\n"],"names":[],"mappings":";;;AAUa,MAAA,SAAS,OACrB,aACwC;AAClC,QAAA,UAAsC,MAAM,QACjD,QAAQ;AAGT,MAAI,CAAC,OAAO,KAAK,OAAO,EAAE,QAAQ;AACjC,YAAQ,KAAK,GAAG;AAAA,EAChB;AAGO,UAAA,OAAO,WAAW,GAAG,EAAE;AACvB,UAAA,OAAO,UAAU,CAAC;AAEnB,SAAA;AACR;;"}
1
+ {"version":3,"file":"prompt.cjs","sources":["../../../src/lib/prompt.ts"],"sourcesContent":["import prompts from \"prompts\";\n\ntype promptArgs<\n\tTValue = unknown,\n\tTProperty extends string = string,\n> = prompts.PromptObject<TProperty> & {\n\t// Method is available, cf. docs\n\tonRender?: (this: { msg: string; value?: TValue; initial?: TValue }) => void;\n};\n\nexport const prompt = async <TReturn, TProperty extends string = string>(\n\tquestion: promptArgs<TReturn, TProperty>,\n): Promise<Record<TProperty, TReturn>> => {\n\tconst answers: Record<TProperty, TReturn> = await prompts<TProperty>(\n\t\tquestion,\n\t);\n\n\tif (!Object.keys(answers).length) {\n\t\tprocess.exit(130);\n\t}\n\n\t// Clear prompt line, clean recap are done manually\n\tprocess.stdout.moveCursor?.(0, -1);\n\tprocess.stdout.clearLine?.(1);\n\n\treturn answers;\n};\n"],"names":[],"mappings":";;;AAUa,MAAA,SAAS,OACrB,aACwC;;AAClC,QAAA,UAAsC,MAAM,QACjD,QAAQ;AAGT,MAAI,CAAC,OAAO,KAAK,OAAO,EAAE,QAAQ;AACjC,YAAQ,KAAK,GAAG;AAAA,EAChB;AAGO,sBAAA,QAAO,eAAP,4BAAoB,GAAG;AACvB,sBAAA,QAAO,cAAP,4BAAmB;AAEpB,SAAA;AACR;;"}
@@ -1,11 +1,12 @@
1
1
  import prompts from "prompts";
2
2
  const prompt = async (question) => {
3
+ var _a, _b, _c, _d;
3
4
  const answers = await prompts(question);
4
5
  if (!Object.keys(answers).length) {
5
6
  process.exit(130);
6
7
  }
7
- process.stdout.moveCursor(0, -1);
8
- process.stdout.clearLine(1);
8
+ (_b = (_a = process.stdout).moveCursor) == null ? void 0 : _b.call(_a, 0, -1);
9
+ (_d = (_c = process.stdout).clearLine) == null ? void 0 : _d.call(_c, 1);
9
10
  return answers;
10
11
  };
11
12
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sources":["../../../src/lib/prompt.ts"],"sourcesContent":["import prompts from \"prompts\";\n\ntype promptArgs<\n\tTValue = unknown,\n\tTProperty extends string = string,\n> = prompts.PromptObject<TProperty> & {\n\t// Method is available, cf. docs\n\tonRender?: (this: { msg: string; value?: TValue; initial?: TValue }) => void;\n};\n\nexport const prompt = async <TReturn, TProperty extends string = string>(\n\tquestion: promptArgs<TReturn, TProperty>,\n): Promise<Record<TProperty, TReturn>> => {\n\tconst answers: Record<TProperty, TReturn> = await prompts<TProperty>(\n\t\tquestion,\n\t);\n\n\tif (!Object.keys(answers).length) {\n\t\tprocess.exit(130);\n\t}\n\n\t// Clear prompt line, clean recap are done manually\n\tprocess.stdout.moveCursor(0, -1);\n\tprocess.stdout.clearLine(1);\n\n\treturn answers;\n};\n"],"names":[],"mappings":";AAUa,MAAA,SAAS,OACrB,aACwC;AAClC,QAAA,UAAsC,MAAM,QACjD,QAAQ;AAGT,MAAI,CAAC,OAAO,KAAK,OAAO,EAAE,QAAQ;AACjC,YAAQ,KAAK,GAAG;AAAA,EAChB;AAGO,UAAA,OAAO,WAAW,GAAG,EAAE;AACvB,UAAA,OAAO,UAAU,CAAC;AAEnB,SAAA;AACR;"}
1
+ {"version":3,"file":"prompt.js","sources":["../../../src/lib/prompt.ts"],"sourcesContent":["import prompts from \"prompts\";\n\ntype promptArgs<\n\tTValue = unknown,\n\tTProperty extends string = string,\n> = prompts.PromptObject<TProperty> & {\n\t// Method is available, cf. docs\n\tonRender?: (this: { msg: string; value?: TValue; initial?: TValue }) => void;\n};\n\nexport const prompt = async <TReturn, TProperty extends string = string>(\n\tquestion: promptArgs<TReturn, TProperty>,\n): Promise<Record<TProperty, TReturn>> => {\n\tconst answers: Record<TProperty, TReturn> = await prompts<TProperty>(\n\t\tquestion,\n\t);\n\n\tif (!Object.keys(answers).length) {\n\t\tprocess.exit(130);\n\t}\n\n\t// Clear prompt line, clean recap are done manually\n\tprocess.stdout.moveCursor?.(0, -1);\n\tprocess.stdout.clearLine?.(1);\n\n\treturn answers;\n};\n"],"names":[],"mappings":";AAUa,MAAA,SAAS,OACrB,aACwC;;AAClC,QAAA,UAAsC,MAAM,QACjD,QAAQ;AAGT,MAAI,CAAC,OAAO,KAAK,OAAO,EAAE,QAAQ;AACjC,YAAQ,KAAK,GAAG;AAAA,EAChB;AAGO,sBAAA,QAAO,eAAP,4BAAoB,GAAG;AACvB,sBAAA,QAAO,cAAP,4BAAmB;AAEpB,SAAA;AACR;"}
@@ -14,7 +14,7 @@ const kill = require("./lib/kill.cjs");
14
14
  const stream = require("./lib/stream.cjs");
15
15
  const promise = require("./lib/promise.cjs");
16
16
  const command = require("./lib/command.cjs");
17
- const index$1 = require("../../../../_virtual/index7.cjs");
17
+ const index$1 = require("../../../../_virtual/index5.cjs");
18
18
  const DEFAULT_MAX_BUFFER = 1e3 * 1e3 * 100;
19
19
  const getEnv = ({ env: envOption, extendEnv, preferLocal, localDir, execPath }) => {
20
20
  const env = extendEnv ? { ...process.env, ...envOption } : envOption;
@@ -12,7 +12,7 @@ import { validateTimeout, setupTimeout, setExitHandler, spawnedKill, spawnedCanc
12
12
  import { handleInput, makeAllStream, getSpawnedResult } from "./lib/stream.js";
13
13
  import { mergePromise, getSpawnedPromise } from "./lib/promise.js";
14
14
  import { parseCommand, joinCommand, getEscapedCommand } from "./lib/command.js";
15
- import { exports as crossSpawnExports } from "../../../../_virtual/index7.js";
15
+ import { exports as crossSpawnExports } from "../../../../_virtual/index5.js";
16
16
  const DEFAULT_MAX_BUFFER = 1e3 * 1e3 * 100;
17
17
  const getEnv = ({ env: envOption, extendEnv, preferLocal, localDir, execPath }) => {
18
18
  const env = extendEnv ? { ...process.env, ...envOption } : envOption;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const name = "@slicemachine/init";
4
- const version = "0.1.1-dev-plugins.3";
4
+ const version = "0.1.1-dev-plugins.4";
5
5
  exports.name = name;
6
6
  exports.version = version;
7
7
  //# sourceMappingURL=package.json.cjs.map
@@ -1,5 +1,5 @@
1
1
  const name = "@slicemachine/init";
2
- const version = "0.1.1-dev-plugins.3";
2
+ const version = "0.1.1-dev-plugins.4";
3
3
  export {
4
4
  name,
5
5
  version
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slicemachine/init",
3
- "version": "0.1.1-dev-plugins.3",
3
+ "version": "0.1.1-dev-plugins.4",
4
4
  "description": "Init Prismic Slice Machine in your project",
5
5
  "keywords": [
6
6
  "typescript",
@@ -51,7 +51,7 @@
51
51
  "dependencies": {
52
52
  "@antfu/ni": "^0.18.8",
53
53
  "@lihbr/listr-update-renderer": "^0.5.3",
54
- "@slicemachine/manager": "0.1.1-dev-plugins.3",
54
+ "@slicemachine/manager": "0.1.1-dev-plugins.4",
55
55
  "chalk": "^4.1.2",
56
56
  "execa": "^6.1.0",
57
57
  "globby": "^13.1.3",
@@ -64,6 +64,7 @@
64
64
  },
65
65
  "devDependencies": {
66
66
  "@size-limit/preset-small-lib": "^8.1.0",
67
+ "@slicemachine/plugin-kit": "^0.1.8",
67
68
  "@types/listr": "^0.14.4",
68
69
  "@types/prompts": "^2.4.2",
69
70
  "@types/semver": "^7.3.13",
@@ -75,6 +76,10 @@
75
76
  "eslint-plugin-prettier": "^4.2.1",
76
77
  "eslint-plugin-tsdoc": "^0.2.17",
77
78
  "hook-std": "^3.0.0",
79
+ "memfs": "^3.4.13",
80
+ "mock-stdin": "^1.0.0",
81
+ "msw": "^0.49.2",
82
+ "parse-multipart-data": "^1.5.0",
78
83
  "prettier-plugin-jsdoc": "^0.4.2",
79
84
  "rollup-plugin-rename-node-modules": "^1.3.1",
80
85
  "size-limit": "^8.1.0",
@@ -83,5 +88,5 @@
83
88
  "vite-plugin-sdk": "^0.1.0",
84
89
  "vitest": "^0.26.1"
85
90
  },
86
- "gitHead": "cd69b89d19d6565c187a63a498b18200fa2ba68c"
91
+ "gitHead": "42ce925d3ca2b07faa3793321e57eea8642e2cf9"
87
92
  }