@shopify/create-app 3.60.0 → 3.61.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 (52) hide show
  1. package/dist/{chunk-2EVDXDJS.js → chunk-5NBS5LAW.js} +1 -1
  2. package/dist/{chunk-P6YJ2CQU.js → chunk-7F4FS2WD.js} +7 -7
  3. package/dist/{chunk-P3DMHVBI.js → chunk-GQNJWQKC.js} +22 -17
  4. package/dist/{chunk-P6N3DVYZ.js → chunk-H3UBEY47.js} +3 -3
  5. package/dist/{chunk-ZDU6ZNVH.js → chunk-H4N7DG5X.js} +23 -19
  6. package/dist/{chunk-TMGCRPEZ.js → chunk-HTYJDJRZ.js} +685 -215
  7. package/dist/{chunk-3L6KY7Q3.js → chunk-I3IYXB26.js} +23 -6
  8. package/dist/{chunk-OYLUVGUB.js → chunk-J3QAMMY2.js} +1 -1
  9. package/dist/{chunk-ZPB26OWQ.js → chunk-K5EEGEVV.js} +34 -14
  10. package/dist/{chunk-BMMDEPWI.js → chunk-LLFZPH5K.js} +12 -9
  11. package/dist/{chunk-GKVC3752.js → chunk-LR725A3N.js} +3 -3
  12. package/dist/{chunk-P4TVG45N.js → chunk-LUP5VDI4.js} +10 -3
  13. package/dist/{chunk-L5LPMIFP.js → chunk-PGYGWMK7.js} +5 -5
  14. package/dist/{chunk-2YPXES4K.js → chunk-PKFDUXG6.js} +1 -1
  15. package/dist/{chunk-JOQ4LR3M.js → chunk-R5KQZMEG.js} +1 -1
  16. package/dist/{chunk-YLEF4RUH.js → chunk-RAFFEFML.js} +4 -0
  17. package/dist/{chunk-3JNB3A7C.js → chunk-U4YACXEW.js} +567 -357
  18. package/dist/{chunk-Q737A7ZQ.js → chunk-X2I3FAVD.js} +3 -3
  19. package/dist/{chunk-JA2XDFAC.js → chunk-XKDB3ST7.js} +3603 -4080
  20. package/dist/{chunk-ZWN4YW5O.js → chunk-YI3MHBSD.js} +1 -1
  21. package/dist/commands/init.js +19 -19
  22. package/dist/commands/init.js.map +1 -1
  23. package/dist/commands/init.test.js +20 -20
  24. package/dist/{constants-K3R4N3N3.js → constants-NNLQHFRJ.js} +3 -1
  25. package/dist/{custom-oclif-loader-3GZ6YYAB.js → custom-oclif-loader-KLTAWG4B.js} +7 -6
  26. package/dist/{del-A5YM6R3Y.js → del-ICEHOC6W.js} +2 -2
  27. package/dist/{devtools-KQM4GF6J.js → devtools-6HZ2IPFU.js} +154 -252
  28. package/dist/{error-handler-SPIUKOES.js → error-handler-ND7WBMC3.js} +13 -13
  29. package/dist/hooks/postrun.js +12 -12
  30. package/dist/hooks/prerun.js +8 -8
  31. package/dist/index.js +4 -4
  32. package/dist/{lib-TQDGEQFC.js → lib-76RCE6WZ.js} +3 -3
  33. package/dist/{local-7KWUTHJN.js → local-3LWDOA7J.js} +5 -5
  34. package/dist/{magic-string.es-6WMSFIAX.js → magic-string.es-6DE547FE.js} +79 -18
  35. package/dist/{multipart-parser-O2BQODS2.js → multipart-parser-ENLY4BKU.js} +1 -1
  36. package/dist/{node-package-manager-MI2KGR6B.js → node-package-manager-TFY2ROCP.js} +6 -6
  37. package/dist/{out-JZ52TJE3.js → out-M5MRQZP5.js} +1 -1
  38. package/dist/prompts/init.js +6 -6
  39. package/dist/prompts/init.test.js +7 -7
  40. package/dist/services/init.d.ts +3 -0
  41. package/dist/services/init.js +13 -13
  42. package/dist/services/init.js.map +1 -1
  43. package/dist/services/init.test.js +1 -1
  44. package/dist/{system-KQGQETIF.js → system-FTT76GKS.js} +5 -5
  45. package/dist/tsconfig.tsbuildinfo +1 -1
  46. package/dist/{ui-HO5KGT27.js → ui-MUGCNPLG.js} +5 -5
  47. package/dist/utils/template/cleanup.js +6 -6
  48. package/dist/utils/template/cleanup.test.js +7 -7
  49. package/dist/utils/template/npm.js +8 -8
  50. package/dist/utils/template/npm.test.js +9 -9
  51. package/oclif.manifest.json +1 -1
  52. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  glob,
3
3
  rmdir
4
- } from "./chunk-JA2XDFAC.js";
4
+ } from "./chunk-XKDB3ST7.js";
5
5
  import {
6
6
  joinPath
7
7
  } from "./chunk-G6FN5VUE.js";
@@ -1,28 +1,28 @@
1
1
  import {
2
2
  Init
3
- } from "../chunk-BMMDEPWI.js";
4
- import "../chunk-P3DMHVBI.js";
3
+ } from "../chunk-LLFZPH5K.js";
4
+ import "../chunk-GQNJWQKC.js";
5
5
  import "../chunk-LKGDG6WW.js";
6
- import "../chunk-3L6KY7Q3.js";
7
- import "../chunk-ZWN4YW5O.js";
8
- import "../chunk-P6N3DVYZ.js";
9
- import "../chunk-L5LPMIFP.js";
10
- import "../chunk-Q737A7ZQ.js";
11
- import "../chunk-2EVDXDJS.js";
12
- import "../chunk-TMGCRPEZ.js";
13
- import "../chunk-GKVC3752.js";
14
- import "../chunk-OYLUVGUB.js";
15
- import "../chunk-ZDU6ZNVH.js";
16
- import "../chunk-P6YJ2CQU.js";
17
- import "../chunk-2YPXES4K.js";
18
- import "../chunk-JA2XDFAC.js";
6
+ import "../chunk-I3IYXB26.js";
7
+ import "../chunk-YI3MHBSD.js";
8
+ import "../chunk-H3UBEY47.js";
9
+ import "../chunk-PGYGWMK7.js";
10
+ import "../chunk-X2I3FAVD.js";
11
+ import "../chunk-5NBS5LAW.js";
12
+ import "../chunk-HTYJDJRZ.js";
13
+ import "../chunk-LR725A3N.js";
14
+ import "../chunk-J3QAMMY2.js";
15
+ import "../chunk-H4N7DG5X.js";
16
+ import "../chunk-7F4FS2WD.js";
17
+ import "../chunk-PKFDUXG6.js";
18
+ import "../chunk-XKDB3ST7.js";
19
19
  import "../chunk-FBB6KUZG.js";
20
- import "../chunk-YLEF4RUH.js";
20
+ import "../chunk-RAFFEFML.js";
21
21
  import "../chunk-G6FN5VUE.js";
22
22
  import "../chunk-UVY6LL5H.js";
23
- import "../chunk-JOQ4LR3M.js";
24
- import "../chunk-P4TVG45N.js";
25
- import "../chunk-ZPB26OWQ.js";
23
+ import "../chunk-R5KQZMEG.js";
24
+ import "../chunk-LUP5VDI4.js";
25
+ import "../chunk-K5EEGEVV.js";
26
26
  import "../chunk-WCNR75S2.js";
27
27
  import "../chunk-3JLUTHGR.js";
28
28
  import "../chunk-GXPKATXW.js";
@@ -1 +1 @@
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 })\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
+ {"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,41 +1,41 @@
1
1
  import {
2
2
  Init
3
- } from "../chunk-BMMDEPWI.js";
3
+ } from "../chunk-LLFZPH5K.js";
4
4
  import {
5
5
  errorHandler
6
- } from "../chunk-P3DMHVBI.js";
6
+ } from "../chunk-GQNJWQKC.js";
7
7
  import "../chunk-LKGDG6WW.js";
8
8
  import {
9
9
  init_default
10
- } from "../chunk-3L6KY7Q3.js";
11
- import "../chunk-ZWN4YW5O.js";
12
- import "../chunk-P6N3DVYZ.js";
13
- import "../chunk-L5LPMIFP.js";
14
- import "../chunk-Q737A7ZQ.js";
15
- import "../chunk-2EVDXDJS.js";
16
- import "../chunk-TMGCRPEZ.js";
17
- import "../chunk-GKVC3752.js";
18
- import "../chunk-OYLUVGUB.js";
19
- import "../chunk-ZDU6ZNVH.js";
20
- import "../chunk-P6YJ2CQU.js";
10
+ } from "../chunk-I3IYXB26.js";
11
+ import "../chunk-YI3MHBSD.js";
12
+ import "../chunk-H3UBEY47.js";
13
+ import "../chunk-PGYGWMK7.js";
14
+ import "../chunk-X2I3FAVD.js";
15
+ import "../chunk-5NBS5LAW.js";
16
+ import "../chunk-HTYJDJRZ.js";
17
+ import "../chunk-LR725A3N.js";
18
+ import "../chunk-J3QAMMY2.js";
19
+ import "../chunk-H4N7DG5X.js";
20
+ import "../chunk-7F4FS2WD.js";
21
21
  import {
22
22
  init_exports,
23
23
  visibleTemplates
24
- } from "../chunk-2YPXES4K.js";
24
+ } from "../chunk-PKFDUXG6.js";
25
25
  import {
26
26
  AbortError,
27
27
  outputContent,
28
28
  outputToken
29
- } from "../chunk-JA2XDFAC.js";
29
+ } from "../chunk-XKDB3ST7.js";
30
30
  import "../chunk-FBB6KUZG.js";
31
- import "../chunk-YLEF4RUH.js";
31
+ import "../chunk-RAFFEFML.js";
32
32
  import "../chunk-G6FN5VUE.js";
33
33
  import "../chunk-UVY6LL5H.js";
34
34
  import {
35
35
  require_lib
36
- } from "../chunk-JOQ4LR3M.js";
37
- import "../chunk-P4TVG45N.js";
38
- import "../chunk-ZPB26OWQ.js";
36
+ } from "../chunk-R5KQZMEG.js";
37
+ import "../chunk-LUP5VDI4.js";
38
+ import "../chunk-K5EEGEVV.js";
39
39
  import "../chunk-WCNR75S2.js";
40
40
  import {
41
41
  beforeEach,
@@ -43,7 +43,7 @@ import {
43
43
  globalExpect,
44
44
  test,
45
45
  vi
46
- } from "../chunk-3JNB3A7C.js";
46
+ } from "../chunk-U4YACXEW.js";
47
47
  import "../chunk-3JLUTHGR.js";
48
48
  import "../chunk-GXPKATXW.js";
49
49
  import {
@@ -2,10 +2,11 @@ import {
2
2
  bugsnagApiKey,
3
3
  defaultThemeKitAccessDomain,
4
4
  environmentVariables,
5
+ logsFolder,
5
6
  pathConstants,
6
7
  sessionConstants,
7
8
  systemEnvironmentVariables
8
- } from "./chunk-YLEF4RUH.js";
9
+ } from "./chunk-RAFFEFML.js";
9
10
  import "./chunk-G6FN5VUE.js";
10
11
  import "./chunk-GXPKATXW.js";
11
12
  import "./chunk-M63RTPGR.js";
@@ -13,6 +14,7 @@ export {
13
14
  bugsnagApiKey,
14
15
  defaultThemeKitAccessDomain,
15
16
  environmentVariables,
17
+ logsFolder,
16
18
  pathConstants,
17
19
  sessionConstants,
18
20
  systemEnvironmentVariables
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  fileExistsSync
3
- } from "./chunk-JA2XDFAC.js";
3
+ } from "./chunk-XKDB3ST7.js";
4
4
  import "./chunk-FBB6KUZG.js";
5
- import "./chunk-YLEF4RUH.js";
5
+ import "./chunk-RAFFEFML.js";
6
6
  import {
7
7
  cwd,
8
8
  joinPath
@@ -10,9 +10,9 @@ import {
10
10
  import "./chunk-UVY6LL5H.js";
11
11
  import {
12
12
  require_lib
13
- } from "./chunk-JOQ4LR3M.js";
14
- import "./chunk-P4TVG45N.js";
15
- import "./chunk-ZPB26OWQ.js";
13
+ } from "./chunk-R5KQZMEG.js";
14
+ import "./chunk-LUP5VDI4.js";
15
+ import "./chunk-K5EEGEVV.js";
16
16
  import "./chunk-WCNR75S2.js";
17
17
  import "./chunk-3JLUTHGR.js";
18
18
  import "./chunk-GXPKATXW.js";
@@ -79,5 +79,6 @@ function sniffForPath() {
79
79
  return pathFlag;
80
80
  }
81
81
  export {
82
- ShopifyConfig
82
+ ShopifyConfig,
83
+ sniffForPath
83
84
  };
@@ -10,10 +10,10 @@ import {
10
10
  require_globby,
11
11
  require_indent_string,
12
12
  require_slash
13
- } from "./chunk-P4TVG45N.js";
13
+ } from "./chunk-LUP5VDI4.js";
14
14
  import {
15
15
  require_is_glob
16
- } from "./chunk-ZPB26OWQ.js";
16
+ } from "./chunk-K5EEGEVV.js";
17
17
  import {
18
18
  __commonJS,
19
19
  __require,