@shopify/create-app 3.61.2 → 3.62.0

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 (71) hide show
  1. package/dist/{chunk-TEIUSMQF.js → chunk-3C7VBPKV.js} +4 -3
  2. package/dist/{chunk-QTBH3GO6.js → chunk-B62HZLMM.js} +3 -2
  3. package/dist/{chunk-5VLFIRJZ.js → chunk-BKY7FLON.js} +6 -5
  4. package/dist/{chunk-5TIUXWJI.js → chunk-CSUGYG4O.js} +9 -8
  5. package/dist/{chunk-DEIGDWGB.js → chunk-CUZDIE7U.js} +3 -2
  6. package/dist/{chunk-HTYJDJRZ.js → chunk-DL3MKXVR.js} +2 -1
  7. package/dist/{chunk-DCYRMEAR.js → chunk-E3R2QNZH.js} +3 -2
  8. package/dist/{chunk-EXKYFA3Q.js → chunk-E4HW5M5H.js} +8 -7
  9. package/dist/{chunk-LKGDG6WW.js → chunk-FMKVOTQK.js} +2 -1
  10. package/dist/{chunk-LUP5VDI4.js → chunk-GJPZCXGT.js} +3 -2
  11. package/dist/{chunk-XRBC4UM7.js → chunk-H7PE6UQQ.js} +5 -4
  12. package/dist/{chunk-6MVE3OZ2.js → chunk-I642G37M.js} +12 -11
  13. package/dist/{chunk-FBB6KUZG.js → chunk-LSCXQWNO.js} +2 -1
  14. package/dist/{chunk-UVY6LL5H.js → chunk-M2VKB6RG.js} +2 -1
  15. package/dist/{chunk-K5EEGEVV.js → chunk-MCED27CG.js} +2 -1
  16. package/dist/{chunk-B2QBH7MN.js → chunk-MPBVJXAB.js} +11 -10
  17. package/dist/{chunk-6PWOAHEA.js → chunk-NORDGBTQ.js} +14 -12
  18. package/dist/{chunk-R5KQZMEG.js → chunk-SAO7C4LP.js} +4 -3
  19. package/dist/{chunk-G6FN5VUE.js → chunk-STRDP5MF.js} +21 -3
  20. package/dist/{chunk-GXPKATXW.js → chunk-T5LLJYYS.js} +2 -1
  21. package/dist/{chunk-EBLO5TQ6.js → chunk-UAHNJ7DG.js} +6 -5
  22. package/dist/{chunk-RAFFEFML.js → chunk-URQFBBW5.js} +4 -2
  23. package/dist/{chunk-ML34TC74.js → chunk-VH2SMHYM.js} +60 -26
  24. package/dist/{chunk-C7PRLYZC.js → chunk-WW3VYTIJ.js} +15664 -7302
  25. package/dist/{chunk-WCNR75S2.js → chunk-YC4FLMDD.js} +2 -1
  26. package/dist/{chunk-U4YACXEW.js → chunk-YH2RKQUF.js} +3 -2
  27. package/dist/{chunk-3JLUTHGR.js → chunk-ZPFJOUKZ.js} +2 -1
  28. package/dist/{chunk-M63RTPGR.js → chunk-ZPL24Y2D.js} +1 -0
  29. package/dist/commands/init.js +28 -27
  30. package/dist/commands/init.test.js +30 -29
  31. package/dist/{constants-NNLQHFRJ.js → constants-BWDIHVPM.js} +5 -4
  32. package/dist/{custom-oclif-loader-4SQGUQ7D.js → custom-oclif-loader-7Q5WVZP6.js} +16 -24
  33. package/dist/{del-ICEHOC6W.js → del-ZCPTGWOA.js} +6 -5
  34. package/dist/{devtools-6HZ2IPFU.js → devtools-5N4JAP3R.js} +2 -1
  35. package/dist/error-handler-OOIG25BK.js +35 -0
  36. package/dist/hooks/postrun.js +20 -19
  37. package/dist/hooks/prerun.js +16 -15
  38. package/dist/index.js +8 -7
  39. package/dist/lib-CTSCLPNV.js +9 -0
  40. package/dist/{local-YKOG4EUR.js → local-GYBILLDV.js} +13 -12
  41. package/dist/{magic-string.es-6DE547FE.js → magic-string.es-ATGURXGQ.js} +2 -1
  42. package/dist/{multipart-parser-ENLY4BKU.js → multipart-parser-KYOHF24X.js} +3 -2
  43. package/dist/{node-package-manager-S7TSAUJZ.js → node-package-manager-N7CTF74M.js} +16 -13
  44. package/dist/{open-B7XFJJCK.js → open-JRS7RW22.js} +3 -2
  45. package/dist/out-OKI3G7I5.js +6 -0
  46. package/dist/{path-HO4HBKK5.js → path-LR5NP4LX.js} +10 -5
  47. package/dist/prompts/init.js +14 -13
  48. package/dist/prompts/init.test.js +15 -14
  49. package/dist/services/init.js +21 -20
  50. package/dist/services/init.test.js +5 -4
  51. package/dist/system-KZ6D632Y.js +26 -0
  52. package/dist/tsconfig.tsbuildinfo +1 -1
  53. package/dist/{ui-FUZYK6S3.js → ui-DULGDV4Y.js} +15 -12
  54. package/dist/utils/template/cleanup.js +14 -13
  55. package/dist/utils/template/cleanup.test.js +15 -14
  56. package/dist/utils/template/npm.js +16 -15
  57. package/dist/utils/template/npm.test.js +17 -16
  58. package/oclif.manifest.json +2 -2
  59. package/package.json +3 -2
  60. package/dist/commands/init.js.map +0 -1
  61. package/dist/error-handler-WI4YVJIS.js +0 -34
  62. package/dist/hooks/postrun.js.map +0 -1
  63. package/dist/hooks/prerun.js.map +0 -1
  64. package/dist/index.js.map +0 -1
  65. package/dist/lib-76RCE6WZ.js +0 -8
  66. package/dist/out-M5MRQZP5.js +0 -5
  67. package/dist/prompts/init.js.map +0 -1
  68. package/dist/services/init.js.map +0 -1
  69. package/dist/system-XXZMW2TO.js +0 -25
  70. package/dist/utils/template/cleanup.js.map +0 -1
  71. package/dist/utils/template/npm.js.map +0 -1
@@ -1,18 +1,19 @@
1
1
  import {
2
2
  cleanup
3
- } from "../../chunk-TEIUSMQF.js";
4
- import "../../chunk-ML34TC74.js";
5
- import "../../chunk-FBB6KUZG.js";
6
- import "../../chunk-RAFFEFML.js";
7
- import "../../chunk-G6FN5VUE.js";
8
- import "../../chunk-UVY6LL5H.js";
9
- import "../../chunk-R5KQZMEG.js";
10
- import "../../chunk-LUP5VDI4.js";
11
- import "../../chunk-K5EEGEVV.js";
12
- import "../../chunk-WCNR75S2.js";
13
- import "../../chunk-3JLUTHGR.js";
14
- import "../../chunk-GXPKATXW.js";
15
- import "../../chunk-M63RTPGR.js";
3
+ } from "../../chunk-3C7VBPKV.js";
4
+ import "../../chunk-VH2SMHYM.js";
5
+ import "../../chunk-LSCXQWNO.js";
6
+ import "../../chunk-URQFBBW5.js";
7
+ import "../../chunk-STRDP5MF.js";
8
+ import "../../chunk-M2VKB6RG.js";
9
+ import "../../chunk-SAO7C4LP.js";
10
+ import "../../chunk-GJPZCXGT.js";
11
+ import "../../chunk-MCED27CG.js";
12
+ import "../../chunk-YC4FLMDD.js";
13
+ import "../../chunk-ZPFJOUKZ.js";
14
+ import "../../chunk-T5LLJYYS.js";
15
+ import "../../chunk-ZPL24Y2D.js";
16
16
  export {
17
17
  cleanup as default
18
18
  };
19
+ //# sourceMappingURL=cleanup.js.map
@@ -1,32 +1,32 @@
1
1
  import {
2
2
  cleanup
3
- } from "../../chunk-TEIUSMQF.js";
3
+ } from "../../chunk-3C7VBPKV.js";
4
4
  import {
5
5
  fileExists,
6
6
  inTemporaryDirectory,
7
7
  mkdir,
8
8
  writeFile
9
- } from "../../chunk-ML34TC74.js";
10
- import "../../chunk-FBB6KUZG.js";
11
- import "../../chunk-RAFFEFML.js";
9
+ } from "../../chunk-VH2SMHYM.js";
10
+ import "../../chunk-LSCXQWNO.js";
11
+ import "../../chunk-URQFBBW5.js";
12
12
  import {
13
13
  joinPath
14
- } from "../../chunk-G6FN5VUE.js";
15
- import "../../chunk-UVY6LL5H.js";
16
- import "../../chunk-R5KQZMEG.js";
17
- import "../../chunk-LUP5VDI4.js";
18
- import "../../chunk-K5EEGEVV.js";
19
- import "../../chunk-WCNR75S2.js";
14
+ } from "../../chunk-STRDP5MF.js";
15
+ import "../../chunk-M2VKB6RG.js";
16
+ import "../../chunk-SAO7C4LP.js";
17
+ import "../../chunk-GJPZCXGT.js";
18
+ import "../../chunk-MCED27CG.js";
19
+ import "../../chunk-YC4FLMDD.js";
20
20
  import {
21
21
  describe,
22
22
  globalExpect,
23
23
  test
24
- } from "../../chunk-U4YACXEW.js";
25
- import "../../chunk-3JLUTHGR.js";
26
- import "../../chunk-GXPKATXW.js";
24
+ } from "../../chunk-YH2RKQUF.js";
25
+ import "../../chunk-ZPFJOUKZ.js";
26
+ import "../../chunk-T5LLJYYS.js";
27
27
  import {
28
28
  init_cjs_shims
29
- } from "../../chunk-M63RTPGR.js";
29
+ } from "../../chunk-ZPL24Y2D.js";
30
30
 
31
31
  // src/utils/template/cleanup.test.ts
32
32
  init_cjs_shims();
@@ -72,3 +72,4 @@ describe("cleanup", () => {
72
72
  });
73
73
  });
74
74
  });
75
+ //# sourceMappingURL=cleanup.test.js.map
@@ -1,22 +1,23 @@
1
1
  import {
2
2
  getDeepInstallNPMTasks,
3
3
  updateCLIDependencies
4
- } from "../../chunk-5VLFIRJZ.js";
5
- import "../../chunk-QTBH3GO6.js";
6
- import "../../chunk-C7PRLYZC.js";
7
- import "../../chunk-ML34TC74.js";
8
- import "../../chunk-FBB6KUZG.js";
9
- import "../../chunk-RAFFEFML.js";
10
- import "../../chunk-G6FN5VUE.js";
11
- import "../../chunk-UVY6LL5H.js";
12
- import "../../chunk-R5KQZMEG.js";
13
- import "../../chunk-LUP5VDI4.js";
14
- import "../../chunk-K5EEGEVV.js";
15
- import "../../chunk-WCNR75S2.js";
16
- import "../../chunk-3JLUTHGR.js";
17
- import "../../chunk-GXPKATXW.js";
18
- import "../../chunk-M63RTPGR.js";
4
+ } from "../../chunk-BKY7FLON.js";
5
+ import "../../chunk-B62HZLMM.js";
6
+ import "../../chunk-WW3VYTIJ.js";
7
+ import "../../chunk-VH2SMHYM.js";
8
+ import "../../chunk-LSCXQWNO.js";
9
+ import "../../chunk-URQFBBW5.js";
10
+ import "../../chunk-STRDP5MF.js";
11
+ import "../../chunk-M2VKB6RG.js";
12
+ import "../../chunk-SAO7C4LP.js";
13
+ import "../../chunk-GJPZCXGT.js";
14
+ import "../../chunk-MCED27CG.js";
15
+ import "../../chunk-YC4FLMDD.js";
16
+ import "../../chunk-ZPFJOUKZ.js";
17
+ import "../../chunk-T5LLJYYS.js";
18
+ import "../../chunk-ZPL24Y2D.js";
19
19
  export {
20
20
  getDeepInstallNPMTasks,
21
21
  updateCLIDependencies
22
22
  };
23
+ //# sourceMappingURL=npm.js.map
@@ -1,40 +1,40 @@
1
1
  import {
2
2
  getDeepInstallNPMTasks,
3
3
  updateCLIDependencies
4
- } from "../../chunk-5VLFIRJZ.js";
5
- import "../../chunk-QTBH3GO6.js";
4
+ } from "../../chunk-BKY7FLON.js";
5
+ import "../../chunk-B62HZLMM.js";
6
6
  import {
7
7
  installNodeModules
8
- } from "../../chunk-C7PRLYZC.js";
8
+ } from "../../chunk-WW3VYTIJ.js";
9
9
  import {
10
10
  inTemporaryDirectory,
11
11
  mkdir,
12
12
  readFile,
13
13
  writeFile
14
- } from "../../chunk-ML34TC74.js";
15
- import "../../chunk-FBB6KUZG.js";
16
- import "../../chunk-RAFFEFML.js";
14
+ } from "../../chunk-VH2SMHYM.js";
15
+ import "../../chunk-LSCXQWNO.js";
16
+ import "../../chunk-URQFBBW5.js";
17
17
  import {
18
18
  joinPath,
19
19
  moduleDirectory,
20
20
  normalizePath
21
- } from "../../chunk-G6FN5VUE.js";
22
- import "../../chunk-UVY6LL5H.js";
23
- import "../../chunk-R5KQZMEG.js";
24
- import "../../chunk-LUP5VDI4.js";
25
- import "../../chunk-K5EEGEVV.js";
26
- import "../../chunk-WCNR75S2.js";
21
+ } from "../../chunk-STRDP5MF.js";
22
+ import "../../chunk-M2VKB6RG.js";
23
+ import "../../chunk-SAO7C4LP.js";
24
+ import "../../chunk-GJPZCXGT.js";
25
+ import "../../chunk-MCED27CG.js";
26
+ import "../../chunk-YC4FLMDD.js";
27
27
  import {
28
28
  describe,
29
29
  globalExpect,
30
30
  test,
31
31
  vi
32
- } from "../../chunk-U4YACXEW.js";
33
- import "../../chunk-3JLUTHGR.js";
34
- import "../../chunk-GXPKATXW.js";
32
+ } from "../../chunk-YH2RKQUF.js";
33
+ import "../../chunk-ZPFJOUKZ.js";
34
+ import "../../chunk-T5LLJYYS.js";
35
35
  import {
36
36
  init_cjs_shims
37
- } from "../../chunk-M63RTPGR.js";
37
+ } from "../../chunk-ZPL24Y2D.js";
38
38
 
39
39
  // src/utils/template/npm.test.ts
40
40
  init_cjs_shims();
@@ -151,3 +151,4 @@ describe("getDeepInstallNPMTasks", () => {
151
151
  });
152
152
  });
153
153
  });
154
+ //# sourceMappingURL=npm.test.js.map
@@ -74,7 +74,7 @@
74
74
  },
75
75
  "verbose": {
76
76
  "allowNo": false,
77
- "description": "Increase the verbosity of the logs.",
77
+ "description": "Increase the verbosity of the output.",
78
78
  "env": "SHOPIFY_FLAG_VERBOSE",
79
79
  "hidden": false,
80
80
  "name": "verbose",
@@ -98,5 +98,5 @@
98
98
  "summary": "Create a new app project"
99
99
  }
100
100
  },
101
- "version": "3.61.2"
101
+ "version": "3.62.0"
102
102
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shopify/create-app",
3
- "version": "3.61.2",
3
+ "version": "3.62.0",
4
4
  "private": false,
5
5
  "description": "A CLI tool to create a new Shopify app.",
6
6
  "keywords": [
@@ -43,8 +43,9 @@
43
43
  "../../.eslintrc.cjs"
44
44
  ]
45
45
  },
46
- "dependencies": {},
47
46
  "devDependencies": {
47
+ "@oclif/core": "3.26.5",
48
+ "@shopify/cli-kit": "3.62.0",
48
49
  "@types/node": "18.19.3",
49
50
  "esbuild-plugin-copy": "^2.1.1",
50
51
  "@vitest/coverage-istanbul": "^0.34.3",
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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","sourcesContent":["import initPrompt, {isPredefinedTemplate, templates, visibleTemplates} from '../prompts/init.js'\nimport initService from '../services/init.js'\nimport {Flags} from '@oclif/core'\nimport {globalFlags} from '@shopify/cli-kit/node/cli'\nimport Command from '@shopify/cli-kit/node/base-command'\nimport {resolvePath, cwd} from '@shopify/cli-kit/node/path'\nimport {AbortError} from '@shopify/cli-kit/node/error'\nimport {outputContent, outputToken} from '@shopify/cli-kit/node/output'\nimport {addPublicMetadata} from '@shopify/cli-kit/node/metadata'\n\nimport {PackageManager, packageManager, packageManagerFromUserAgent} from '@shopify/cli-kit/node/node-package-manager'\nimport {inferPackageManagerForGlobalCLI, installGlobalShopifyCLI} from '@shopify/cli-kit/node/is-global'\n\nexport default class Init extends Command {\n static summary?: string | undefined = 'Create a new app project'\n\n static flags = {\n ...globalFlags,\n name: Flags.string({\n char: 'n',\n env: 'SHOPIFY_FLAG_NAME',\n hidden: false,\n }),\n path: Flags.string({\n char: 'p',\n env: 'SHOPIFY_FLAG_PATH',\n parse: async (input) => resolvePath(input),\n default: async () => cwd(),\n hidden: false,\n }),\n template: Flags.string({\n description: `The app template. Accepts one of the following:\n - <${visibleTemplates.join('|')}>\n - Any GitHub repo with optional branch and subpath, e.g., https://github.com/Shopify/<repository>/[subpath]#[branch]`,\n env: 'SHOPIFY_FLAG_TEMPLATE',\n }),\n flavor: Flags.string({\n description: 'Which flavor of the given template to use.',\n env: 'SHOPIFY_FLAG_TEMPLATE_FLAVOR',\n }),\n 'package-manager': Flags.string({\n char: 'd',\n env: 'SHOPIFY_FLAG_PACKAGE_MANAGER',\n hidden: false,\n options: ['npm', 'yarn', 'pnpm', 'bun'],\n }),\n local: Flags.boolean({\n char: 'l',\n env: 'SHOPIFY_FLAG_LOCAL',\n default: false,\n hidden: true,\n }),\n }\n\n async run(): Promise<void> {\n const {flags} = await this.parse(Init)\n\n this.validateTemplateValue(flags.template)\n this.validateFlavorValue(flags.template, flags.flavor)\n\n const inferredPackageManager = this.inferPackageManager(flags['package-manager'])\n\n const promptAnswers = await initPrompt({\n name: flags.name,\n template: flags.template,\n flavor: flags.flavor,\n directory: flags.path,\n })\n\n if (promptAnswers.globalCLIResult.install) {\n await installGlobalShopifyCLI(inferredPackageManager)\n }\n\n await addPublicMetadata(() => ({\n cmd_create_app_template: promptAnswers.templateType,\n cmd_create_app_template_url: promptAnswers.template,\n }))\n\n await initService({\n name: promptAnswers.name,\n packageManager: inferredPackageManager,\n template: promptAnswers.template,\n local: flags.local,\n directory: flags.path,\n useGlobalCLI: promptAnswers.globalCLIResult.alreadyInstalled || promptAnswers.globalCLIResult.install,\n postCloneActions: {\n removeLockfilesFromGitignore: promptAnswers.templateType !== 'custom',\n },\n })\n }\n\n validateTemplateValue(template: string | undefined) {\n if (!template) {\n return\n }\n\n const url = this.parseURL(template)\n if (url && url.origin !== 'https://github.com')\n throw new AbortError(\n 'Only GitHub repository references are supported, ' +\n 'e.g., https://github.com/Shopify/<repository>/[subpath]#[branch]',\n )\n if (!url && !isPredefinedTemplate(template))\n throw new AbortError(\n outputContent`Only ${visibleTemplates\n .map((alias) => outputContent`${outputToken.yellow(alias)}`.value)\n .join(', ')} template aliases are supported`,\n )\n }\n\n validateFlavorValue(template: string | undefined, flavor: string | undefined) {\n if (!template) {\n if (flavor) {\n throw new AbortError(\n outputContent`The ${outputToken.yellow('--flavor')} flag requires the ${outputToken.yellow(\n '--template',\n )} flag to be set`,\n )\n } else {\n return\n }\n }\n\n if (!flavor) {\n return\n }\n\n if (!isPredefinedTemplate(template)) {\n throw new AbortError(\n outputContent`The ${outputToken.yellow('--flavor')} flag is not supported for custom templates`,\n )\n }\n\n const templateConfig = templates[template]\n\n if (!templateConfig.branches) {\n throw new AbortError(outputContent`The ${outputToken.yellow(template)} template does not support flavors`)\n }\n\n if (!templateConfig.branches.options[flavor]) {\n throw new AbortError(\n outputContent`Invalid option for ${outputToken.yellow('--flavor')}\\nThe ${outputToken.yellow(\n '--flavor',\n )} flag for ${outputToken.yellow(template)} accepts only ${Object.keys(templateConfig.branches.options)\n .map((alias) => outputContent`${outputToken.yellow(alias)}`.value)\n .join(', ')}`,\n )\n }\n }\n\n parseURL(url: string): URL | undefined {\n try {\n return new URL(url)\n // eslint-disable-next-line no-catch-all/no-catch-all\n } catch (error) {\n return undefined\n }\n }\n\n inferPackageManager(optionsPackageManager: string | undefined): PackageManager {\n if (optionsPackageManager && packageManager.includes(optionsPackageManager as PackageManager)) {\n return optionsPackageManager as PackageManager\n }\n const usedPackageManager = packageManagerFromUserAgent()\n if (usedPackageManager !== 'unknown') return usedPackageManager\n\n const globalPackageManager = inferPackageManagerForGlobalCLI()\n if (globalPackageManager !== 'unknown') return globalPackageManager\n\n return 'npm'\n }\n}\n"]}
@@ -1,34 +0,0 @@
1
- import {
2
- addBugsnagMetadata,
3
- cleanStackFrameFilePath,
4
- errorHandler,
5
- registerCleanBugsnagErrorsFromWithinPlugins,
6
- sendErrorToBugsnag
7
- } from "./chunk-B2QBH7MN.js";
8
- import "./chunk-LKGDG6WW.js";
9
- import "./chunk-EXKYFA3Q.js";
10
- import "./chunk-XRBC4UM7.js";
11
- import "./chunk-QTBH3GO6.js";
12
- import "./chunk-HTYJDJRZ.js";
13
- import "./chunk-EBLO5TQ6.js";
14
- import "./chunk-DCYRMEAR.js";
15
- import "./chunk-C7PRLYZC.js";
16
- import "./chunk-ML34TC74.js";
17
- import "./chunk-FBB6KUZG.js";
18
- import "./chunk-RAFFEFML.js";
19
- import "./chunk-G6FN5VUE.js";
20
- import "./chunk-UVY6LL5H.js";
21
- import "./chunk-R5KQZMEG.js";
22
- import "./chunk-LUP5VDI4.js";
23
- import "./chunk-K5EEGEVV.js";
24
- import "./chunk-WCNR75S2.js";
25
- import "./chunk-3JLUTHGR.js";
26
- import "./chunk-GXPKATXW.js";
27
- import "./chunk-M63RTPGR.js";
28
- export {
29
- addBugsnagMetadata,
30
- cleanStackFrameFilePath,
31
- errorHandler,
32
- registerCleanBugsnagErrorsFromWithinPlugins,
33
- sendErrorToBugsnag
34
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"postrun.js","sourceRoot":"","sources":["../../src/hooks/postrun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,IAAI,OAAO,EAAC,MAAM,qCAAqC,CAAA","sourcesContent":["export {hook as default} from '@shopify/cli-kit/node/hooks/postrun'\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"prerun.js","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,IAAI,OAAO,EAAC,MAAM,oCAAoC,CAAA","sourcesContent":["export {hook as default} from '@shopify/cli-kit/node/hooks/prerun'\n"]}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAA;AAEtD,KAAK,UAAU,eAAe,CAAC,WAAoB;IACjD,MAAM,YAAY,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;QAC1B,WAAW;KACZ,CAAC,CAAA;AACJ,CAAC;AAED,eAAe,eAAe,CAAA","sourcesContent":["import {runCreateCLI} from '@shopify/cli-kit/node/cli'\n\nasync function runCreateAppCLI(development: boolean) {\n await runCreateCLI({\n moduleURL: import.meta.url,\n development,\n })\n}\n\nexport default runCreateAppCLI\n"]}
@@ -1,8 +0,0 @@
1
- import {
2
- require_lib
3
- } from "./chunk-R5KQZMEG.js";
4
- import "./chunk-LUP5VDI4.js";
5
- import "./chunk-K5EEGEVV.js";
6
- import "./chunk-WCNR75S2.js";
7
- import "./chunk-M63RTPGR.js";
8
- export default require_lib();
@@ -1,5 +0,0 @@
1
- import {
2
- require_out
3
- } from "./chunk-K5EEGEVV.js";
4
- import "./chunk-M63RTPGR.js";
5
- export default require_out();
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/prompts/init.ts"],"names":[],"mappings":"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","sourcesContent":["import {generateRandomNameForSubdirectory} from '@shopify/cli-kit/node/fs'\nimport {InstallGlobalCLIPromptResult, installGlobalCLIPrompt} from '@shopify/cli-kit/node/is-global'\nimport {renderText, renderSelectPrompt, renderTextPrompt} from '@shopify/cli-kit/node/ui'\n\nexport interface InitOptions {\n name?: string\n template?: string\n flavor?: string\n directory: string\n}\n\ninterface InitOutput {\n name: string\n template: string\n // e.g. 'remix'\n templateType: PredefinedTemplate | 'custom'\n globalCLIResult: InstallGlobalCLIPromptResult\n}\n\ninterface TemplateBranch {\n branch: string\n label: string\n}\ninterface Template {\n url: string\n label?: string\n visible: boolean\n branches?: {\n prompt: string\n options: {[key: string]: TemplateBranch}\n }\n}\n\n// Eventually this list should be taken from a remote location\n// That way we don't have to update the CLI every time we add a template\nexport const templates = {\n remix: {\n url: 'https://github.com/Shopify/shopify-app-template-remix',\n label: 'Start with Remix (recommended)',\n visible: true,\n branches: {\n prompt: 'For your Remix template, which language do you want?',\n options: {\n javascript: {branch: 'javascript', label: 'JavaScript'},\n typescript: {branch: 'main', label: 'TypeScript'},\n },\n },\n } as Template,\n none: {\n url: 'https://github.com/Shopify/shopify-app-template-none',\n label: 'Start by adding your first extension',\n visible: true,\n } as Template,\n node: {\n url: 'https://github.com/Shopify/shopify-app-template-node',\n visible: false,\n } as Template,\n php: {\n url: 'https://github.com/Shopify/shopify-app-template-php',\n visible: false,\n } as Template,\n ruby: {\n url: 'https://github.com/Shopify/shopify-app-template-ruby',\n visible: false,\n } as Template,\n} as const\ntype PredefinedTemplate = keyof typeof templates\n\nconst allTemplates = Object.keys(templates) as Readonly<PredefinedTemplate[]>\nexport const visibleTemplates = allTemplates.filter((key) => templates[key].visible) as Readonly<PredefinedTemplate[]>\n\nconst templateOptionsInOrder = ['remix', 'none'] as const\n\nconst init = async (options: InitOptions): Promise<InitOutput> => {\n let name = options.name\n let template = options.template\n const flavor = options.flavor\n\n const defaults = {\n name: await generateRandomNameForSubdirectory({suffix: 'app', directory: options.directory}),\n template: templates.remix.url,\n } as const\n\n let welcomed = false\n\n if (!name) {\n renderText({text: '\\nWelcome. Let’s get started by naming your app project. You can change it later.'})\n welcomed = true\n name = await renderTextPrompt({\n message: 'Your project name?',\n defaultValue: defaults.name,\n validate: (value) => {\n if (value.length === 0) {\n return \"App name can't be empty\"\n }\n if (value.length > 30) {\n return 'Enter a shorter name (30 character max.)'\n }\n if (value.toLowerCase().includes('shopify')) {\n return \"App name can't include the word 'shopify'\"\n }\n },\n })\n }\n\n if (!template) {\n if (!welcomed) {\n renderText({text: '\\nWelcome. Let’s get started by choosing a template for your app project.'})\n welcomed = true\n }\n template = await renderSelectPrompt({\n choices: templateOptionsInOrder.map((key) => {\n return {\n label: templates[key].label || key,\n value: key,\n }\n }),\n message: 'Get started building your app:',\n defaultValue: allTemplates.find((key) => templates[key].url === defaults.template),\n })\n }\n\n const answers: InitOutput = {\n ...options,\n name,\n template,\n templateType: isPredefinedTemplate(template) ? template : 'custom',\n globalCLIResult: {install: false, alreadyInstalled: false},\n }\n\n let selectedUrl: string | undefined\n let branch: string | undefined\n if (answers.templateType !== 'custom') {\n const selectedTemplate = templates[answers.templateType]\n selectedUrl = selectedTemplate.url\n\n if (selectedTemplate.branches) {\n if (flavor) {\n branch = selectedTemplate.branches.options[flavor]?.branch\n } else {\n branch = await renderSelectPrompt({\n message: selectedTemplate.branches.prompt || 'Choose a flavor:',\n choices: Object.entries(selectedTemplate.branches.options).map(([_key, branch]) => ({\n value: branch.branch,\n label: branch.label,\n })),\n })\n }\n }\n }\n\n if (branch) {\n selectedUrl += `#${branch}`\n }\n\n answers.template = selectedUrl || answers.template || defaults.template\n\n answers.globalCLIResult = await installGlobalCLIPrompt()\n\n return answers\n}\n\nexport default init\n\nexport function isPredefinedTemplate(template: string): template is PredefinedTemplate {\n return allTemplates.includes(template as PredefinedTemplate)\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/services/init.ts"],"names":[],"mappings":"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","sourcesContent":["import {getDeepInstallNPMTasks, updateCLIDependencies} from '../utils/template/npm.js'\nimport cleanup from '../utils/template/cleanup.js'\nimport {\n findUpAndReadPackageJson,\n lockfiles,\n PackageManager,\n UnknownPackageManagerError,\n writePackageJSON,\n} from '@shopify/cli-kit/node/node-package-manager'\nimport {renderInfo, renderSuccess, renderTasks, Task} from '@shopify/cli-kit/node/ui'\nimport {parseGitHubRepositoryReference} from '@shopify/cli-kit/node/github'\nimport {hyphenate} from '@shopify/cli-kit/common/string'\nimport {recursiveLiquidTemplateCopy} from '@shopify/cli-kit/node/liquid'\nimport {isShopify} from '@shopify/cli-kit/node/context/local'\nimport {downloadGitRepository, initializeGitRepository} from '@shopify/cli-kit/node/git'\nimport {\n appendFile,\n fileExists,\n fileExistsSync,\n inTemporaryDirectory,\n mkdir,\n moveFile,\n readFile,\n writeFile,\n} from '@shopify/cli-kit/node/fs'\nimport {joinPath} from '@shopify/cli-kit/node/path'\nimport {username} from '@shopify/cli-kit/node/os'\nimport {AbortError} from '@shopify/cli-kit/node/error'\nimport {formatPackageManagerCommand} from '@shopify/cli-kit/node/output'\n\ninterface InitOptions {\n name: string\n directory: string\n template: string\n packageManager: PackageManager\n local: boolean\n useGlobalCLI: boolean\n postCloneActions: {\n removeLockfilesFromGitignore: boolean\n }\n}\n\nasync function init(options: InitOptions) {\n const packageManager: PackageManager = options.packageManager\n const hyphenizedName = hyphenate(options.name)\n const outputDirectory = joinPath(options.directory, hyphenizedName)\n const githubRepo = parseGitHubRepositoryReference(options.template)\n\n await ensureAppDirectoryIsAvailable(outputDirectory, hyphenizedName)\n\n renderInfo({\n body: [\n `Initializing project with`,\n {command: packageManager},\n `\\nUse the`,\n {command: `--package-manager`},\n `flag to select a different package manager.`,\n ],\n })\n\n await inTemporaryDirectory(async (tmpDir) => {\n const templateDownloadDir = joinPath(tmpDir, 'download')\n const templatePathDir = githubRepo.filePath\n ? joinPath(templateDownloadDir, githubRepo.filePath)\n : templateDownloadDir\n const templateScaffoldDir = joinPath(tmpDir, 'app')\n const repoUrl = githubRepo.branch ? `${githubRepo.baseURL}#${githubRepo.branch}` : githubRepo.baseURL\n\n await mkdir(templateDownloadDir)\n const tasks: Task<unknown>[] = [\n {\n title: `Downloading template from ${repoUrl}`,\n task: async () => {\n await downloadGitRepository({\n repoUrl,\n destination: templateDownloadDir,\n shallow: true,\n })\n },\n },\n ]\n\n tasks.push(\n {\n title: 'Parsing liquid',\n task: async () => {\n await recursiveLiquidTemplateCopy(templatePathDir, templateScaffoldDir, {\n dependency_manager: packageManager,\n app_name: options.name,\n })\n },\n },\n {\n title: 'Updating package.json',\n task: async () => {\n const packageJSON = (await findUpAndReadPackageJson(templateScaffoldDir)).content\n packageJSON.name = hyphenizedName\n packageJSON.author = (await username()) ?? ''\n packageJSON.private = true\n const workspacesFolders = ['extensions/*'].concat(detectAdditionalWorkspacesFolders(templateScaffoldDir))\n\n switch (packageManager) {\n case 'npm':\n case 'yarn':\n case 'bun':\n packageJSON.workspaces = workspacesFolders\n break\n case 'pnpm': {\n const workspacesContent = workspacesFolders.map((folder) => ` - '${folder}'`).join(`\\n`)\n await writeFile(joinPath(templateScaffoldDir, 'pnpm-workspace.yaml'), `packages:\\n${workspacesContent}`)\n // Ensure that the installation of dependencies doesn't fail when using\n // pnpm due to missing peerDependencies.\n await appendFile(joinPath(templateScaffoldDir, '.npmrc'), `auto-install-peers=true\\n`)\n break\n }\n case 'unknown':\n throw new UnknownPackageManagerError()\n }\n\n await updateCLIDependencies({\n packageJSON,\n local: options.local,\n directory: templateScaffoldDir,\n useGlobalCLI: options.useGlobalCLI,\n })\n await writePackageJSON(templateScaffoldDir, packageJSON)\n },\n },\n )\n\n if (options.postCloneActions.removeLockfilesFromGitignore) {\n tasks.push({\n title: 'Removing lockfiles from .gitignore',\n task: async () => {\n const gitignorePath = joinPath(templateScaffoldDir, '.gitignore')\n if (await fileExists(gitignorePath)) {\n let existingContent = await readFile(gitignorePath)\n\n lockfiles.forEach((lockfile) => {\n // convert to a regex matching a whole line, escaping any special characters\n const lockfileRegex = new RegExp(`^${lockfile.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')}$`, 'gm')\n existingContent = existingContent.replace(lockfileRegex, '')\n })\n\n await writeFile(gitignorePath, existingContent.trim())\n }\n },\n })\n }\n\n if (await isShopify()) {\n tasks.push({\n title: \"[Shopifolks-only] Configuring the project's NPM registry\",\n task: async () => {\n const npmrcPath = joinPath(templateScaffoldDir, '.npmrc')\n const npmrcContent = `@shopify:registry=https://registry.npmjs.org\\n`\n await appendFile(npmrcPath, npmrcContent)\n },\n })\n }\n\n tasks.push(\n {\n title: `Installing dependencies with ${packageManager}`,\n task: async () => {\n await getDeepInstallNPMTasks({from: templateScaffoldDir, packageManager})\n },\n },\n {\n title: 'Cleaning up',\n task: async () => {\n await cleanup(templateScaffoldDir)\n },\n },\n {\n title: 'Initializing a Git repository...',\n task: async () => {\n await initializeGitRepository(templateScaffoldDir)\n },\n },\n )\n\n await renderTasks(tasks)\n\n await moveFile(templateScaffoldDir, outputDirectory)\n })\n\n renderSuccess({\n headline: [{userInput: hyphenizedName}, 'is ready for you to build!'],\n nextSteps: [\n ['Run', {command: `cd ${hyphenizedName}`}],\n ['For extensions, run', {command: formatPackageManagerCommand(packageManager, 'shopify app generate extension')}],\n ['To see your app, run', {command: formatPackageManagerCommand(packageManager, 'shopify app dev')}],\n ],\n reference: [\n {link: {label: 'Shopify docs', url: 'https://shopify.dev'}},\n [\n 'For an overview of commands, run',\n {command: `${formatPackageManagerCommand(packageManager, 'shopify app', '--help')}`},\n ],\n ],\n })\n}\n\nasync function ensureAppDirectoryIsAvailable(directory: string, name: string): Promise<void> {\n const exists = await fileExists(directory)\n if (exists)\n throw new AbortError(`\\nA directory with this name (${name}) already exists.\\nChoose a new name for your app.`)\n}\n\nfunction detectAdditionalWorkspacesFolders(directory: string) {\n return ['web', 'web/frontend'].filter((folder) => fileExistsSync(joinPath(directory, folder)))\n}\n\nexport default init\n"]}
@@ -1,25 +0,0 @@
1
- import {
2
- captureOutput,
3
- exec,
4
- openURL,
5
- sleep,
6
- terminalSupportsRawMode
7
- } from "./chunk-ML34TC74.js";
8
- import "./chunk-FBB6KUZG.js";
9
- import "./chunk-RAFFEFML.js";
10
- import "./chunk-G6FN5VUE.js";
11
- import "./chunk-UVY6LL5H.js";
12
- import "./chunk-R5KQZMEG.js";
13
- import "./chunk-LUP5VDI4.js";
14
- import "./chunk-K5EEGEVV.js";
15
- import "./chunk-WCNR75S2.js";
16
- import "./chunk-3JLUTHGR.js";
17
- import "./chunk-GXPKATXW.js";
18
- import "./chunk-M63RTPGR.js";
19
- export {
20
- captureOutput,
21
- exec,
22
- openURL,
23
- sleep,
24
- terminalSupportsRawMode
25
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../src/utils/template/cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAC,QAAQ,EAAC,MAAM,4BAA4B,CAAA;AAEnD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,OAAO,CAAC,kBAA0B;IAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CACzB;QACE,QAAQ,CAAC,kBAAkB,EAAE,IAAI,EAAE,MAAM,CAAC;QAC1C,QAAQ,CAAC,kBAAkB,EAAE,IAAI,EAAE,SAAS,CAAC;QAC7C,QAAQ,CAAC,kBAAkB,EAAE,IAAI,EAAE,aAAa,CAAC;QACjD,QAAQ,CAAC,kBAAkB,EAAE,UAAU,CAAC;QACxC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,EAAE,mBAAmB,CAAC;QACvD,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;KAClD,EACD;QACE,GAAG,EAAE,IAAI;QACT,SAAS,EAAE,KAAK;QAChB,eAAe,EAAE,KAAK;QACtB,MAAM,EAAE,CAAC,oBAAoB,CAAC;KAC/B,CACF,CAAA;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;AACvF,CAAC","sourcesContent":["import {rmdir, glob} from '@shopify/cli-kit/node/fs'\nimport {joinPath} from '@shopify/cli-kit/node/path'\n\nexport default async function cleanup(webOutputDirectory: string) {\n const gitPaths = await glob(\n [\n joinPath(webOutputDirectory, '**', '.git'),\n joinPath(webOutputDirectory, '**', '.github'),\n joinPath(webOutputDirectory, '**', '.gitmodules'),\n joinPath(webOutputDirectory, 'LICENSE*'),\n joinPath(webOutputDirectory, '**', 'frontend/LICENSE*'),\n joinPath(webOutputDirectory, 'package.json.cli2'),\n ],\n {\n dot: true,\n onlyFiles: false,\n onlyDirectories: false,\n ignore: ['**/node_modules/**'],\n },\n )\n\n return Promise.all(gitPaths.map((path) => rmdir(path, {force: true}))).then(() => {})\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../src/utils/template/npm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,kBAAkB,EAAc,MAAM,4CAA4C,CAAA;AAC1G,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,4BAA4B,CAAA;AACzE,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAC,QAAQ,EAAC,MAAM,IAAI,CAAA;AAS3B,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAC1C,WAAW,EACX,KAAK,EACL,YAAY,GACiB;IAC7B,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAA;IACzD,IAAI,YAAY,EAAE;QAChB,OAAO,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;KAChD;SAAM;QACL,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,eAAe,CAAA;KAC3D;IAED,OAAO,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;IAE/C,IAAI,KAAK,EAAE;QACT,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAA;QAExC,kDAAkD;QAClD,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG,OAAO,CAAA;QAElD,MAAM,mBAAmB,GAAG;YAC1B,cAAc,EAAE,OAAO;SACxB,CAAA;QAED,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS;YAC3C,CAAC,CAAC,EAAC,GAAG,WAAW,CAAC,SAAS,EAAE,GAAG,mBAAmB,EAAC;YACpD,CAAC,CAAC,mBAAmB,CAAA;QAEvB,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW;YAC/C,CAAC,CAAC,EAAC,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,mBAAmB,EAAC;YACtD,CAAC,CAAC,mBAAmB,CAAA;KACxB;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,WAAmB;IAC5C,MAAM,mBAAmB,GAAG,CAAC,MAAM,UAAU,CAAC,YAAY,WAAW,EAAE,EAAE;QACvE,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;KACtC,CAAC,CAAW,CAAA;IACb,OAAO,QAAQ,mBAAmB,EAAE,CAAA;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,IAAI,EACJ,cAAc,GAIf;IACC;;;;;;;;OAQG;IACH,MAAM,IAAI,GAAG,QAAQ,EAAE,KAAK,OAAO,IAAI,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACtG,OAAO,kBAAkB,CAAC,EAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,EAAC,CAAC,CAAA;AACnF,CAAC","sourcesContent":["import {PackageManager, installNodeModules, PackageJson} from '@shopify/cli-kit/node/node-package-manager'\nimport {moduleDirectory, normalizePath} from '@shopify/cli-kit/node/path'\nimport {findPathUp} from '@shopify/cli-kit/node/fs'\nimport {CLI_KIT_VERSION} from '@shopify/cli-kit/common/version'\nimport {platform} from 'os'\n\ninterface UpdateCLIDependenciesOptions {\n directory: string\n packageJSON: PackageJson\n local: boolean\n useGlobalCLI: boolean\n}\n\nexport async function updateCLIDependencies({\n packageJSON,\n local,\n useGlobalCLI,\n}: UpdateCLIDependenciesOptions): Promise<PackageJson> {\n packageJSON.dependencies = packageJSON.dependencies || {}\n if (useGlobalCLI) {\n delete packageJSON.dependencies['@shopify/cli']\n } else {\n packageJSON.dependencies['@shopify/cli'] = CLI_KIT_VERSION\n }\n\n delete packageJSON.dependencies['@shopify/app']\n\n if (local) {\n const cliPath = await packagePath('cli')\n\n // eslint-disable-next-line require-atomic-updates\n packageJSON.dependencies['@shopify/cli'] = cliPath\n\n const dependencyOverrides = {\n '@shopify/cli': cliPath,\n }\n\n packageJSON.overrides = packageJSON.overrides\n ? {...packageJSON.overrides, ...dependencyOverrides}\n : dependencyOverrides\n\n packageJSON.resolutions = packageJSON.resolutions\n ? {...packageJSON.resolutions, ...dependencyOverrides}\n : dependencyOverrides\n }\n\n return packageJSON\n}\n\nasync function packagePath(packageName: string): Promise<string> {\n const packageAbsolutePath = (await findPathUp(`packages/${packageName}`, {\n type: 'directory',\n cwd: moduleDirectory(import.meta.url),\n })) as string\n return `file:${packageAbsolutePath}`\n}\n\nexport async function getDeepInstallNPMTasks({\n from,\n packageManager,\n}: {\n from: string\n packageManager: PackageManager\n}): Promise<void> {\n /**\n * Installation of dependencies using Yarn on Windows might lead\n * to \"EPERM: operation not permitted, unlink\" errors when Yarn tries\n * to access the cache. By limiting the network concurrency we mitigate the\n * error:\n *\n * Failing scenario: https://github.com/Shopify/cli/runs/7913938724\n * Reported issue: https://github.com/yarnpkg/yarn/issues/7212\n */\n const args = platform() === 'win32' && packageManager === 'yarn' ? ['--network-concurrency', '1'] : []\n return installNodeModules({directory: normalizePath(from), packageManager, args})\n}\n"]}