@shopify/shop-minis-cli 0.0.225 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/build/commands/config.js.map +1 -1
  2. package/build/commands/create/examples/default/AGENTS.md +3 -0
  3. package/build/commands/create/examples/default/CLAUDE.md +1 -1
  4. package/build/commands/create/examples/default/README.md +144 -0
  5. package/build/commands/create/examples/default/eslint.config.js +13 -0
  6. package/build/commands/create/examples/default/index.html +13 -0
  7. package/build/commands/create/examples/default/stylelint.config.mjs +14 -1
  8. package/build/commands/create/examples/default/tsconfig.json +5 -0
  9. package/build/commands/dev/utils/android.js +1 -1
  10. package/build/commands/dev/utils/resolve-dev-host.js.map +1 -1
  11. package/build/commands/doctor/index.d.ts +1 -0
  12. package/build/commands/doctor/index.js +46 -3
  13. package/build/commands/doctor/index.js.map +1 -1
  14. package/build/commands/submit/submit.js +59 -1
  15. package/build/commands/submit/submit.js.map +1 -1
  16. package/build/program.js +2 -2
  17. package/build/program.js.map +1 -1
  18. package/build/utils/minis-manifest.js +16 -0
  19. package/build/utils/minis-manifest.js.map +1 -1
  20. package/build/utils/scan-sdk-usage.d.ts +20 -0
  21. package/build/utils/scan-sdk-usage.js +185 -0
  22. package/build/utils/scan-sdk-usage.js.map +1 -0
  23. package/build/utils/scopes-validation.d.ts +54 -0
  24. package/build/utils/scopes-validation.js +163 -0
  25. package/build/utils/scopes-validation.js.map +1 -0
  26. package/build/utils/template-sync.d.ts +14 -0
  27. package/build/utils/template-sync.js +112 -0
  28. package/build/utils/template-sync.js.map +1 -0
  29. package/build/utils/vite-config.js +6 -2
  30. package/build/utils/vite-config.js.map +1 -1
  31. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -293,6 +293,7 @@ shop-minis check-submission # Check status
293
293
 
294
294
  ```bash
295
295
  npx shop-minis dev # Start dev server
296
+ npx shop-minis install # Add dependencies
296
297
  npx shop-minis submit # Submit for review
297
298
  npx shop-minis doctor # Diagnose issues
298
299
  npx shop-minis upgrade # Update CLI and shop-minis-react packages
@@ -300,4 +301,6 @@ npx shop-minis upgrade # Update CLI and shop-minis-react packages
300
301
 
301
302
  ---
302
303
 
304
+ **Note**: For project setup, configuration file details, and validation commands, see **README.md**.
305
+
303
306
  **Remember**: You're building for mobile devices only, inside the Shop app. Every decision should prioritize mobile UX and leverage the SDK to its fullest.
@@ -1 +1 @@
1
- @AGENTS.md
1
+ @AGENTS.md
@@ -0,0 +1,144 @@
1
+ # Shop Mini
2
+
3
+ A mobile-only React application that runs inside the Shopify Shop App.
4
+
5
+ ## Getting Started
6
+
7
+ ### Install Dependencies
8
+
9
+ ```bash
10
+ npm install
11
+ ```
12
+
13
+ ### Start Development Server
14
+
15
+ ```bash
16
+ npx shop-minis dev
17
+ ```
18
+
19
+ When the dev server is running, press:
20
+ - `i` - Open in iOS Simulator
21
+ - `a` - Open in Android Emulator
22
+ - `q` - Show QR code for physical device testing
23
+
24
+ ## Adding Dependencies
25
+
26
+ Always use the Shop Minis CLI to add dependencies:
27
+
28
+ ```bash
29
+ npx shop-minis install <package-name>
30
+ ```
31
+
32
+ **Examples:**
33
+
34
+ ```bash
35
+ npx shop-minis install lucide-react
36
+ npx shop-minis install radix-ui
37
+ ```
38
+
39
+ **❌ Don't use npm/yarn/pnpm directly:**
40
+
41
+ ```bash
42
+ # Wrong - don't do this
43
+ npm install some-package
44
+ yarn add some-package
45
+ pnpm add some-package
46
+ ```
47
+
48
+ Dependencies are validated during submission to ensure compatibility with the Shop app.
49
+
50
+ ## Project Structure
51
+
52
+ ```
53
+ src/
54
+ ├── App.tsx # Main component (required)
55
+ ├── main.tsx # Entry point
56
+ ├── manifest.json # Mini configuration
57
+ ├── index.css # Global styles
58
+ ├── components/ # Custom components
59
+ ├── hooks/ # Custom hooks
60
+ └── pages/ # Page components
61
+ ```
62
+
63
+ ## Protected Configuration Files
64
+
65
+ The following files in the root directory are managed by Shop Minis and should generally not be modified:
66
+
67
+ - `tsconfig.json` - TypeScript configuration
68
+ - `eslint.config.js` - Linting rules
69
+ - `stylelint.config.mjs` - Style linting
70
+ - `index.html` - HTML entry point
71
+ - `package.json` - Must be modified via `npx shop-minis install` only
72
+
73
+ ### ⚠️ Modifying Protected Files
74
+
75
+ While you **can** modify these files for custom configurations, be aware that:
76
+
77
+ - Changes will be flagged during submission (you'll be asked to confirm)
78
+ - Modifications may cause issues in the Shop app
79
+ - Files will be reset to template defaults during upgrades
80
+ - Changes may be rejected during review
81
+
82
+ Keep your custom files in the `src/` directory to avoid issues.
83
+
84
+ ## Validation Commands
85
+
86
+ ```bash
87
+ # Check if configuration files have been modified
88
+ npx shop-minis doctor
89
+
90
+ # Reset configuration files to template defaults
91
+ npx shop-minis doctor --fix
92
+
93
+ # Submit your mini for review
94
+ npx shop-minis submit
95
+ ```
96
+
97
+ ## Key Concepts
98
+
99
+ ### Mobile-Only
100
+
101
+ This mini runs exclusively on iOS and Android devices inside the Shop app. Always design and test for mobile, not desktop.
102
+
103
+ ### SDK-First Development
104
+
105
+ Always check `@shopify/shop-minis-react` for components before building custom solutions:
106
+
107
+ ```typescript
108
+ import {Button, ProductCard, List} from '@shopify/shop-minis-react'
109
+ ```
110
+
111
+ ### Performance Requirements
112
+
113
+ - Bundle size: Maximum 5MB
114
+ - Load time: Must load within 3 seconds on 5G
115
+ - Images: Always lazy load with SDK's `<Image>` component
116
+ - Lists: Use `<List>` component for virtualization
117
+
118
+ ## Common Commands
119
+
120
+ ```bash
121
+ npx shop-minis dev # Start dev server
122
+ npx shop-minis install # Add dependencies
123
+ npx shop-minis submit # Submit for review
124
+ npx shop-minis doctor # Diagnose issues
125
+ npx shop-minis upgrade # Update to latest version
126
+ ```
127
+
128
+ ## Learn More
129
+
130
+ - [Shop Minis Documentation](https://shopify.dev/docs/api/shop-minis)
131
+ - [Allowed Dependencies](https://shopify.dev/docs/api/shop-minis/dependencies)
132
+
133
+ ## Getting Help
134
+
135
+ If you encounter issues:
136
+
137
+ 1. Run `npx shop-minis doctor` to diagnose problems
138
+ 2. Check the [documentation](https://shopify.dev/docs/api/shop-minis)
139
+ 3. Contact Shop Minis support [forums](https://community.shopify.dev/c/shop-minis/33)
140
+
141
+ ---
142
+
143
+ **Remember**: You're building for millions of Shop app users. Every decision should prioritize mobile UX and leverage the SDK to its fullest.
144
+
@@ -1,3 +1,16 @@
1
+ /**
2
+ * ⚠️ MANAGED BY SHOP MINIS PLATFORM ⚠️
3
+ *
4
+ * This file is maintained by @shopify/shop-minis-cli and should not be modified.
5
+ *
6
+ * Manual changes will be:
7
+ * • Flagged during validation
8
+ * • Reset during upgrades
9
+ * • May prevent submission
10
+ *
11
+ * To update: Run `npx shop-minis upgrade`
12
+ * Learn more: https://shopify.dev/docs/api/shop-minis/configuration
13
+ */
1
14
  const shopMinisConfig = require("@shopify/shop-minis-react/eslint/config");
2
15
 
3
16
  module.exports = [shopMinisConfig];
@@ -1,3 +1,16 @@
1
+ <!--
2
+ ⚠️ MANAGED BY SHOP MINIS PLATFORM ⚠️
3
+
4
+ This file is maintained by @shopify/shop-minis-cli and should not be modified.
5
+
6
+ Manual changes will be:
7
+ • Flagged during validation
8
+ • Reset during upgrades
9
+ • May prevent submission
10
+
11
+ To update: Run `npx shop-minis upgrade`
12
+ Learn more: https://shopify.dev/docs/api/shop-minis
13
+ -->
1
14
  <!DOCTYPE html>
2
15
  <html lang="en">
3
16
  <head>
@@ -1 +1,14 @@
1
- export {default} from '@shopify/shop-minis-react/stylelint/config'
1
+ /**
2
+ * ⚠️ MANAGED BY SHOP MINIS PLATFORM ⚠️
3
+ *
4
+ * This file is maintained by @shopify/shop-minis-cli and should not be modified.
5
+ *
6
+ * Manual changes will be:
7
+ * • Flagged during validation
8
+ * • Reset during upgrades
9
+ * • May prevent submission
10
+ *
11
+ * To update: Run `npx shop-minis upgrade`
12
+ * Learn more: https://shopify.dev/docs/api/shop-minis/configuration
13
+ */
14
+ export { default } from "@shopify/shop-minis-react/stylelint/config";
@@ -1,4 +1,9 @@
1
1
  {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
3
+ "//": "⚠️ MANAGED BY SHOP MINIS - DO NOT EDIT",
4
+ "//info": "This file is maintained by @shopify/shop-minis-cli",
5
+ "//update": "To update run: npx shop-minis upgrade",
6
+ "//docs": "Learn more: https://shopify.dev/docs/api/shop-minis/configuration",
2
7
  "compilerOptions": {
3
8
  "allowJs": true,
4
9
  "resolveJsonModule": true,
@@ -151,7 +151,7 @@ export async function getInstalledShopVersion(emulatorId) {
151
151
  const versionCode = await execAsync(`${whichAdb()} -s ${emulatorId} shell dumpsys package com.shopify.arrive.internal | grep versionCode`);
152
152
  // stdout: [" versionName=2.86.0"]
153
153
  const version = _.last(versionName.stdout[0]?.trim().split('='));
154
- // stdout: [" versionCode=1680515537 minSdk=21 targetSdk=33"]
154
+ // stdout: [" versionCode=1680515537 minSdk=29 targetSdk=35"]
155
155
  const build = _.last(versionCode.stdout[0]?.trim().split(' ')[0]?.split('='));
156
156
  if (version == null || build == null) {
157
157
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-dev-host.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/resolve-dev-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,OAAO,UAAU,MAAM,aAAa,CAAA;AACpC,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,8BAA8B,CAAA;AAEpE,SAAS,iBAAiB;IACxB,MAAM,UAAU,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAA;IAEzC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACjD,IAAI,CAAC,SAAS;YAAE,SAAQ;QAExB,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;YAC/B,IACE,OAAO;gBACP,CAAC,OAAO,CAAC,QAAQ;gBACjB,OAAO,CAAC,OAAO;gBACf,OAAO,CAAC,MAAM,KAAK,MAAM;gBACzB,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EACvC;gBACA,OAAO,OAAO,CAAC,OAAO,CAAA;aACvB;SACF;KACF;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI;QACF,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,CAAA;QAChC,IAAI,EAAE,EAAE;YACN,OAAO,EAAE,CAAA;SACV;QACD,WAAW,CAAC,oEAAoE,CAAC,CAAA;KAClF;IAAC,OAAO,KAAK,EAAE;QACd,WAAW,CACT,kEAAmE,KAAe,CAAC,OAAO,EAAE,CAC7F,CAAA;KACF;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAChC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAA;QACpC,IAAI,QAAQ,EAAE;YACZ,WAAW,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAA;YACjE,OAAO,QAAQ,CAAA;SAChB;KACF;IAED,UAAU,CACR,qHAAqH,CACtH,CAAA;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,OAAO,EAAC,iBAAiB,IAAI,4BAA4B,EAAC,CAAA"}
1
+ {"version":3,"file":"resolve-dev-host.js","sourceRoot":"","sources":["../../../../src/commands/dev/utils/resolve-dev-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,OAAO,UAAU,MAAM,aAAa,CAAA;AACpC,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,8BAA8B,CAAA;AAEpE,SAAS,iBAAiB;IACxB,MAAM,UAAU,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAA;IAEzC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QACjD,IAAI,CAAC,SAAS;YAAE,SAAQ;QAExB,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;YAC/B,IACE,OAAO;gBACP,CAAC,OAAO,CAAC,QAAQ;gBACjB,OAAO,CAAC,OAAO;gBACf,OAAO,CAAC,MAAM,KAAK,MAAM;gBACzB,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EACvC;gBACA,OAAO,OAAO,CAAC,OAAO,CAAA;aACvB;SACF;KACF;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI;QACF,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,CAAA;QAChC,IAAI,EAAE,EAAE;YACN,OAAO,EAAE,CAAA;SACV;QACD,WAAW,CACT,oEAAoE,CACrE,CAAA;KACF;IAAC,OAAO,KAAK,EAAE;QACd,WAAW,CACT,kEAAmE,KAAe,CAAC,OAAO,EAAE,CAC7F,CAAA;KACF;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;QAChC,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAA;QACpC,IAAI,QAAQ,EAAE;YACZ,WAAW,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAA;YACjE,OAAO,QAAQ,CAAA;SAChB;KACF;IAED,UAAU,CACR,qHAAqH,CACtH,CAAA;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,OAAO,EAAC,iBAAiB,IAAI,4BAA4B,EAAC,CAAA"}
@@ -4,3 +4,4 @@ export interface DoctorCommandArgs {
4
4
  fix?: boolean;
5
5
  }
6
6
  export declare const command: Command;
7
+ export declare function loadCommand(parentProgram: Command): void;
@@ -1,7 +1,9 @@
1
1
  import { Command } from 'commander';
2
2
  import { handler as handleError } from '@shopify/cli-kit/node/error';
3
+ import { renderWarning } from '@shopify/cli-kit/node/ui';
3
4
  import { checkDependencies, fixDependencies } from '../../utils/dependencies.js';
4
5
  import { assertCorePackageVersions, upgradeCorePackages, } from '../../utils/core-dependencies.js';
6
+ import { compareWithTemplate, resetToTemplate, } from '../../utils/template-sync.js';
5
7
  export const command = new Command()
6
8
  .name('doctor')
7
9
  .description('Diagnose and fix common Node.js, iOS and Android issues.')
@@ -9,22 +11,63 @@ export const command = new Command()
9
11
  .option('--fix', 'Attempt to fix all diagnosed issues automatically.')
10
12
  .action(async (options) => {
11
13
  try {
14
+ let allGood = true;
15
+ // Check configuration files against template
16
+ console.log('🔍 Checking configuration files...\n');
17
+ const templateResults = await compareWithTemplate(process.cwd());
18
+ const issues = templateResults.filter(result => result.status !== 'ok');
19
+ if (issues.length > 0) {
20
+ allGood = false;
21
+ console.log('Configuration file issues found:\n');
22
+ issues.forEach(issue => {
23
+ const icon = issue.status === 'modified' ? '⚠️' : '❌';
24
+ console.log(` ${icon} ${issue.file}: ${issue.message}`);
25
+ });
26
+ console.log('');
27
+ if (options.fix) {
28
+ console.log('🔧 Resetting configuration files to template defaults...\n');
29
+ const filesToReset = issues.map(i => i.file);
30
+ await resetToTemplate(process.cwd(), filesToReset);
31
+ console.log(`✅ Reset ${filesToReset.length} file(s) to match template\n`);
32
+ }
33
+ else {
34
+ renderWarning({
35
+ body: [
36
+ 'To fix configuration file issues, run:',
37
+ ' npx shop-minis doctor --fix',
38
+ ],
39
+ });
40
+ }
41
+ }
42
+ else {
43
+ console.log('✅ All configuration files match template\n');
44
+ }
12
45
  // Manage core packages (check or fix based on --fix flag)
46
+ console.log('🔍 Checking dependencies...\n');
13
47
  if (options.fix) {
14
48
  await upgradeCorePackages();
15
49
  await fixDependencies();
16
50
  }
17
51
  else {
18
52
  await assertCorePackageVersions();
19
- const hasIssues = await checkDependencies();
20
- if (!hasIssues) {
21
- console.log('\n✅ The configuration for your mini is correct.');
53
+ const hasDepIssues = await checkDependencies();
54
+ if (hasDepIssues) {
55
+ allGood = false;
56
+ }
57
+ else {
58
+ console.log('✅ All dependencies are correct\n');
22
59
  }
23
60
  }
61
+ if (allGood && !options.fix) {
62
+ console.log('✅ The configuration for your mini is correct.');
63
+ }
24
64
  }
25
65
  catch (error) {
26
66
  handleError(error);
27
67
  process.exit(1);
28
68
  }
29
69
  });
70
+ export function loadCommand(parentProgram) {
71
+ parentProgram.addCommand(command);
72
+ }
30
73
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/doctor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,6BAA6B,CAAA;AAElE,OAAO,EAAC,iBAAiB,EAAE,eAAe,EAAC,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EACL,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,kCAAkC,CAAA;AAOzC,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KACjC,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,WAAW,EAAE,2BAA2B,CAAC;KAChD,MAAM,CAAC,OAAO,EAAE,oDAAoD,CAAC;KACrE,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAE,EAAE;IAC3C,IAAI;QACF,0DAA0D;QAC1D,IAAI,OAAO,CAAC,GAAG,EAAE;YACf,MAAM,mBAAmB,EAAE,CAAA;YAC3B,MAAM,eAAe,EAAE,CAAA;SACxB;aAAM;YACL,MAAM,yBAAyB,EAAE,CAAA;YAEjC,MAAM,SAAS,GAAG,MAAM,iBAAiB,EAAE,CAAA;YAC3C,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;aAC/D;SACF;KACF;IAAC,OAAO,KAAK,EAAE;QACd,WAAW,CAAC,KAAK,CAAC,CAAA;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/doctor/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { promisify } from 'util';
2
2
  import { exec } from 'child_process';
3
- import { renderSuccess, renderTasks, renderConfirmationPrompt, } from '@shopify/cli-kit/node/ui';
3
+ import { renderSuccess, renderInfo, renderTasks, renderConfirmationPrompt, } from '@shopify/cli-kit/node/ui';
4
4
  import { outputInfo, outputDebug, outputWarn } from '@shopify/cli-kit/node/output';
5
5
  import { edit } from 'external-editor';
6
6
  import { handler as handleError, AbortError } from '@shopify/cli-kit/node/error';
@@ -8,6 +8,7 @@ import { getRunBinCommand } from '../../utils/package-manager.js';
8
8
  import { assertNetworkAndAuth } from '../../utils/common-tasks.js';
9
9
  import { assertCorePackageVersions } from '../../utils/core-dependencies.js';
10
10
  import { ALLOWED_EXTENSIONS, ALLOWED_FILES, } from '../../constants/allowed-extensions.js';
11
+ import { compareWithTemplate, findUnexpectedRootFiles, } from '../../utils/template-sync.js';
11
12
  import { validateDescription } from './validation.js';
12
13
  import { assertManifestValid, assertNoPendingSubmissions, assertRequiredAssets, createStagedUpload, createSubmission, packageShopMini, uploadSubmission, } from './tasks.js';
13
14
  import { generateSubmissionArchiveFilename, getSubmissionArchivePath, } from './config.js';
@@ -121,6 +122,9 @@ export const codeBuildChecks = async ({ skipDependencyCheck = false, skipTypescr
121
122
  return true;
122
123
  };
123
124
  export const preSubmitChecks = async () => {
125
+ // Store validation results to check after tasks complete
126
+ let modifiedConfigFiles = [];
127
+ let unexpectedRootFiles = [];
124
128
  const tasks = [
125
129
  {
126
130
  title: `Checking if there are other submissions`,
@@ -140,9 +144,57 @@ export const preSubmitChecks = async () => {
140
144
  await assertRequiredAssets();
141
145
  },
142
146
  },
147
+ {
148
+ title: `Checking configuration files`,
149
+ task: async () => {
150
+ const results = await compareWithTemplate(process.cwd());
151
+ const issues = results.filter(result => result.status !== 'ok');
152
+ if (issues.length > 0) {
153
+ modifiedConfigFiles = issues.map(i => i.file);
154
+ const fileList = modifiedConfigFiles.join(', ');
155
+ outputWarn(`Configuration files have been modified: ${fileList}`);
156
+ }
157
+ },
158
+ },
159
+ {
160
+ title: `Checking for unexpected root files`,
161
+ task: async () => {
162
+ const unexpectedFiles = await findUnexpectedRootFiles(process.cwd());
163
+ if (unexpectedFiles.length > 0) {
164
+ unexpectedRootFiles = unexpectedFiles.map(file => file.file);
165
+ const fileList = unexpectedRootFiles.join(', ');
166
+ outputWarn(`Unexpected files found in root directory. Any files outside src directory will be ignored during your submission: ${fileList}`);
167
+ }
168
+ },
169
+ },
143
170
  ];
144
171
  try {
145
172
  await renderTasks(tasks);
173
+ // After all checks pass, prompt user if config files were modified
174
+ if (modifiedConfigFiles.length > 0) {
175
+ outputInfo('\n'); // Add spacing
176
+ const shouldContinue = await renderConfirmationPrompt({
177
+ message: `You have modified protected configuration files: ${modifiedConfigFiles.join(', ')}.\n\nThese files are managed by Shop Minis and modifications may:
178
+
179
+ • Break your Mini in the Shop app
180
+ • Be rejected during review
181
+ • Be overwritten during upgrades
182
+
183
+ To reset them: npx shop-minis doctor --fix
184
+
185
+ Do you want to continue with submission anyway?`,
186
+ confirmationMessage: 'Yes, continue with submission',
187
+ cancellationMessage: 'No, cancel submission',
188
+ });
189
+ if (!shouldContinue) {
190
+ outputInfo('\nSubmission cancelled. Run "npx shop-minis doctor --fix" to reset config files.');
191
+ process.exit(0);
192
+ }
193
+ }
194
+ // Informational message about unexpected root files (non-blocking)
195
+ if (unexpectedRootFiles.length > 0) {
196
+ outputInfo(`\nNote: Unexpected files in root directory: ${unexpectedRootFiles.join(', ')}\nConsider moving custom files to the src/ directory.\n`);
197
+ }
146
198
  }
147
199
  catch (error) {
148
200
  handleError(error);
@@ -287,6 +339,12 @@ export const doSubmit = async (config, partnersAccessToken) => {
287
339
  ];
288
340
  try {
289
341
  await renderTasks(tasks);
342
+ renderInfo({
343
+ headline: 'Notice',
344
+ body: 'Hello there! Minis reviews are currently paused for the holiday season. ' +
345
+ 'We will resume reviewing on January 5th, 2026.\n\n' +
346
+ 'Thank you for your understanding, and we wish you a wonderful holiday season.',
347
+ });
290
348
  renderSuccess({
291
349
  headline: 'Shop Mini submitted for review',
292
350
  body: [
@@ -1 +1 @@
1
- {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/commands/submit/submit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"submit.js","sourceRoot":"","sources":["../../../src/commands/submit/submit.ts"],"names":[],"mappings":"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"}
package/build/program.js CHANGED
@@ -6,7 +6,7 @@ import { CURRENT_CLI_VERSION } from './commands/config.js';
6
6
  import { loadCommand as loadCreateMiniCommand } from './commands/create/index.js';
7
7
  import { loadCommand as loadDevCommand } from './commands/dev/index.js';
8
8
  import { buildCommand } from './commands/build/index.js';
9
- import { command as doctorCommand } from './commands/doctor/index.js';
9
+ import { loadCommand as loadDoctorCommand } from './commands/doctor/index.js';
10
10
  import { command as featuresCommand } from './commands/features/index.js';
11
11
  import { loadCommand as loadInfoCommand } from './commands/info/index.js';
12
12
  import { loadCommand as loadSetupCommand } from './commands/setup/index.js';
@@ -35,13 +35,13 @@ export async function loadProgram() {
35
35
  loadCodemodCommand(program);
36
36
  loadInfoCommand(program);
37
37
  loadSetupCommand(program);
38
+ loadDoctorCommand(program);
38
39
  loadApiKeysCommand(program);
39
40
  loadSyncUserMetafiledDefinitionsCommand(program);
40
41
  loadSecretsCommand(program);
41
42
  loadProxiesCommand(program);
42
43
  loadReportsCommand(program);
43
44
  program.addCommand(buildCommand);
44
- program.addCommand(doctorCommand);
45
45
  program.addCommand(featuresCommand);
46
46
  program.addCommand(installCommand);
47
47
  return program;
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAC,WAAW,IAAI,2BAA2B,EAAC,MAAM,uCAAuC,CAAA;AAChG,OAAO,EAAC,WAAW,IAAI,0BAA0B,EAAC,MAAM,sCAAsC,CAAA;AAC9F,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAC,WAAW,IAAI,qBAAqB,EAAC,MAAM,4BAA4B,CAAA;AAC/E,OAAO,EAAC,WAAW,IAAI,cAAc,EAAC,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAC,WAAW,IAAI,eAAe,EAAC,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAC,WAAW,IAAI,gBAAgB,EAAC,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAC,WAAW,IAAI,iBAAiB,EAAC,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,IAAI,2BAA2B,EAAC,MAAM,uCAAuC,CAAA;AAChG,OAAO,EAAC,WAAW,IAAI,uCAAuC,EAAC,MAAM,qDAAqD,CAAA;AAC1H,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,8BAA8B,CAAA;AAC9E,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,6BAA6B,CAAA;AAErE,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAE7B,OAAO;SACJ,IAAI,CAAC,YAAY,CAAC;SAClB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAE/B,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC9B,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;IAC7B,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAC1B,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACpC,0BAA0B,CAAC,OAAO,CAAC,CAAA;IACnC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACpC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,eAAe,CAAC,OAAO,CAAC,CAAA;IACxB,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACzB,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,uCAAuC,CAAC,OAAO,CAAC,CAAA;IAChD,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAE3B,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IAChC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;IACjC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;IACnC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;IAElC,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAC,WAAW,IAAI,2BAA2B,EAAC,MAAM,uCAAuC,CAAA;AAChG,OAAO,EAAC,WAAW,IAAI,0BAA0B,EAAC,MAAM,sCAAsC,CAAA;AAC9F,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAC,WAAW,IAAI,qBAAqB,EAAC,MAAM,4BAA4B,CAAA;AAC/E,OAAO,EAAC,WAAW,IAAI,cAAc,EAAC,MAAM,yBAAyB,CAAA;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAC,WAAW,IAAI,iBAAiB,EAAC,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAC,WAAW,IAAI,eAAe,EAAC,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAC,WAAW,IAAI,gBAAgB,EAAC,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAC,WAAW,IAAI,iBAAiB,EAAC,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,IAAI,2BAA2B,EAAC,MAAM,uCAAuC,CAAA;AAChG,OAAO,EAAC,WAAW,IAAI,uCAAuC,EAAC,MAAM,qDAAqD,CAAA;AAC1H,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,8BAA8B,CAAA;AAC9E,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAA;AAC7E,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,6BAA6B,CAAA;AAErE,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAE7B,OAAO;SACJ,IAAI,CAAC,YAAY,CAAC;SAClB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAE/B,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC9B,MAAM,cAAc,CAAC,OAAO,CAAC,CAAA;IAC7B,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAC1B,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACpC,0BAA0B,CAAC,OAAO,CAAC,CAAA;IACnC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,2BAA2B,CAAC,OAAO,CAAC,CAAA;IACpC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,eAAe,CAAC,OAAO,CAAC,CAAA;IACxB,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACzB,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAC1B,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,uCAAuC,CAAC,OAAO,CAAC,CAAA;IAChD,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3B,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAE3B,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IAChC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;IACnC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;IAElC,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -2,8 +2,10 @@ import { createRequire } from 'node:module';
2
2
  import path from 'node:path';
3
3
  import { existsSync, writeFileSync } from 'node:fs';
4
4
  import { AbortError } from '@shopify/cli-kit/node/error';
5
+ import { outputDebug } from '@shopify/cli-kit/node/output';
5
6
  import { Validator } from 'jsonschema';
6
7
  import { getMiniBasePath } from './path.js';
8
+ import { validateUnusedScopes } from './scopes-validation.js';
7
9
  const require = createRequire(import.meta.url);
8
10
  const manifestSchema = require('../schemas/manifest.schema.json');
9
11
  export const DEFAULT_MANIFEST_PATH = path.join('src', 'manifest.json');
@@ -190,6 +192,20 @@ export function validateManifest(manifestPath) {
190
192
  validationErrors.push('trusted_domains must be an array');
191
193
  }
192
194
  }
195
+ // Validate unused scopes
196
+ const miniPath = getMiniBasePath();
197
+ const scopesResult = validateUnusedScopes(miniPath, manifest);
198
+ if (scopesResult.skipped) {
199
+ outputDebug(`Scopes validation skipped: ${scopesResult.skipReason}`);
200
+ }
201
+ else if (!scopesResult.success) {
202
+ if (scopesResult.errors) {
203
+ validationErrors.push(...scopesResult.errors);
204
+ }
205
+ for (const scope of scopesResult.unusedScopes) {
206
+ validationErrors.push(`Unused scope: ${scope}`);
207
+ }
208
+ }
193
209
  return {
194
210
  valid: result.valid && validationErrors.length === 0,
195
211
  errors: validationErrors,
@@ -1 +1 @@
1
- {"version":3,"file":"minis-manifest.js","sourceRoot":"","sources":["../../src/utils/minis-manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"minis-manifest.js","sourceRoot":"","sources":["../../src/utils/minis-manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * SDK Import Scanning Utilities
3
+ *
4
+ * Scans a mini app's source code to find all imports from @shopify/shop-minis-react.
5
+ * Used by scope validation to determine which hooks/components are actually used.
6
+ */
7
+ /**
8
+ * Recursively find all TypeScript/TSX files in a directory
9
+ */
10
+ export declare function findTsFiles(dir: string): string[];
11
+ /**
12
+ * Parse a file and extract import names from @shopify/shop-minis-react
13
+ * Returns just the import names as strings (no metadata needed for validation)
14
+ */
15
+ export declare function extractImports(filePath: string): string[];
16
+ /**
17
+ * Get unique SDK imports from a mini app directory.
18
+ * This is the main entry point for scope validation.
19
+ */
20
+ export declare function getUniqueSdkImports(miniPath: string): Set<string>;
@@ -0,0 +1,185 @@
1
+ /**
2
+ * SDK Import Scanning Utilities
3
+ *
4
+ * Scans a mini app's source code to find all imports from @shopify/shop-minis-react.
5
+ * Used by scope validation to determine which hooks/components are actually used.
6
+ */
7
+ import * as fs from 'fs';
8
+ import * as path from 'path';
9
+ const SDK_PACKAGE = '@shopify/shop-minis-react';
10
+ /**
11
+ * Recursively find all TypeScript/TSX files in a directory
12
+ */
13
+ export function findTsFiles(dir) {
14
+ const files = [];
15
+ function walkDir(currentDir) {
16
+ if (!fs.existsSync(currentDir)) {
17
+ return;
18
+ }
19
+ const entries = fs.readdirSync(currentDir, { withFileTypes: true });
20
+ for (const entry of entries) {
21
+ const fullPath = path.join(currentDir, entry.name);
22
+ // Skip node_modules and build directories
23
+ if (entry.name === 'node_modules' ||
24
+ entry.name === 'dist' ||
25
+ entry.name === 'build' ||
26
+ entry.name === '.minis-cache') {
27
+ continue;
28
+ }
29
+ if (entry.isDirectory()) {
30
+ walkDir(fullPath);
31
+ }
32
+ else if (entry.isFile() &&
33
+ (entry.name.endsWith('.ts') || entry.name.endsWith('.tsx'))) {
34
+ files.push(fullPath);
35
+ }
36
+ }
37
+ }
38
+ if (fs.existsSync(dir)) {
39
+ walkDir(dir);
40
+ }
41
+ return files;
42
+ }
43
+ /**
44
+ * Remove single-line comments from a line of code
45
+ */
46
+ function removeComments(line) {
47
+ const commentIndex = line.indexOf('//');
48
+ if (commentIndex !== -1) {
49
+ return line.substring(0, commentIndex);
50
+ }
51
+ return line;
52
+ }
53
+ /**
54
+ * Check if we're inside a multi-line comment block
55
+ */
56
+ function isInMultiLineComment(lines, currentIndex) {
57
+ let inComment = false;
58
+ for (let i = 0; i <= currentIndex; i++) {
59
+ const line = lines[i];
60
+ if (line.includes('/*')) {
61
+ inComment = true;
62
+ }
63
+ if (line.includes('*/')) {
64
+ inComment = false;
65
+ }
66
+ }
67
+ return inComment;
68
+ }
69
+ /**
70
+ * Parse an individual import item and extract the original name
71
+ * Handles: "Foo", "Foo as Bar", "type Foo", "type Foo as Bar"
72
+ */
73
+ function parseImportItem(item) {
74
+ const trimmed = item.trim();
75
+ // Handle "type Foo" or "type Foo as Bar"
76
+ const typeMatch = trimmed.match(/^type\s+(.+?)(?:\s+as\s+\w+)?$/);
77
+ if (typeMatch) {
78
+ const nameWithAlias = typeMatch[1];
79
+ const asMatch = nameWithAlias.match(/^(.+?)\s+as\s+/);
80
+ return asMatch ? asMatch[1].trim() : nameWithAlias.trim();
81
+ }
82
+ // Handle "Foo as Bar"
83
+ const asMatch = trimmed.match(/^(.+?)\s+as\s+/);
84
+ if (asMatch) {
85
+ return asMatch[1].trim();
86
+ }
87
+ return trimmed;
88
+ }
89
+ /**
90
+ * Parse a file and extract import names from @shopify/shop-minis-react
91
+ * Returns just the import names as strings (no metadata needed for validation)
92
+ */
93
+ export function extractImports(filePath) {
94
+ const imports = [];
95
+ try {
96
+ const content = fs.readFileSync(filePath, 'utf-8');
97
+ const lines = content.split('\n');
98
+ const escapedPackage = SDK_PACKAGE.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
99
+ for (let i = 0; i < lines.length; i++) {
100
+ if (isInMultiLineComment(lines, i)) {
101
+ continue;
102
+ }
103
+ const line = removeComments(lines[i]).trim();
104
+ if (!line)
105
+ continue;
106
+ // Check if this line starts an import/export statement
107
+ const importOrExportStart = /^(import|export)\s/.test(line);
108
+ if (!importOrExportStart) {
109
+ continue;
110
+ }
111
+ // Collect multi-line imports
112
+ let fullStatement = line;
113
+ let currentLine = i;
114
+ while (currentLine < lines.length - 1 &&
115
+ !fullStatement.match(/['"][;]?\s*$/)) {
116
+ currentLine++;
117
+ const nextLine = removeComments(lines[currentLine]).trim();
118
+ fullStatement = `${fullStatement} ${nextLine}`;
119
+ }
120
+ fullStatement = fullStatement.replace(/\s+/g, ' ').trim();
121
+ // Check if this import/export is from our SDK package
122
+ const importOrExportRegex = new RegExp(`(import|export).*from\\s*['"]${escapedPackage}['"]`);
123
+ if (!importOrExportRegex.test(fullStatement)) {
124
+ continue;
125
+ }
126
+ // Match: import type { ... } from '...' or import { ... } from '...'
127
+ const namedImportMatch = fullStatement.match(new RegExp(`import\\s*(?:type\\s*)?{([^}]+)}\\s*from\\s*['"]${escapedPackage}['"]`));
128
+ if (namedImportMatch) {
129
+ const importedItems = namedImportMatch[1]
130
+ .split(',')
131
+ .map(parseImportItem)
132
+ .filter(Boolean);
133
+ imports.push(...importedItems);
134
+ continue;
135
+ }
136
+ // Match: import Something from '...'
137
+ const defaultImportMatch = fullStatement.match(new RegExp(`import\\s+(\\w+)\\s+from\\s*['"]${escapedPackage}['"]`));
138
+ if (defaultImportMatch) {
139
+ imports.push(defaultImportMatch[1]);
140
+ continue;
141
+ }
142
+ // Match: import * as Something from '...'
143
+ const namespaceImportMatch = fullStatement.match(new RegExp(`import\\s*\\*\\s*as\\s+(\\w+)\\s*from\\s*['"]${escapedPackage}['"]`));
144
+ if (namespaceImportMatch) {
145
+ imports.push(`* as ${namespaceImportMatch[1]}`);
146
+ continue;
147
+ }
148
+ // Match: export { ... } from '...'
149
+ const reExportMatch = fullStatement.match(new RegExp(`export\\s*{([^}]+)}\\s*from\\s*['"]${escapedPackage}['"]`));
150
+ if (reExportMatch) {
151
+ const exportedItems = reExportMatch[1]
152
+ .split(',')
153
+ .map(parseImportItem)
154
+ .filter(Boolean);
155
+ imports.push(...exportedItems);
156
+ continue;
157
+ }
158
+ // Match: export * from '...'
159
+ const reExportAllMatch = fullStatement.match(new RegExp(`export\\s*\\*\\s*from\\s*['"]${escapedPackage}['"]`));
160
+ if (reExportAllMatch) {
161
+ imports.push('* (re-export all)');
162
+ }
163
+ }
164
+ }
165
+ catch {
166
+ // Skip files that can't be read
167
+ }
168
+ return imports;
169
+ }
170
+ /**
171
+ * Get unique SDK imports from a mini app directory.
172
+ * This is the main entry point for scope validation.
173
+ */
174
+ export function getUniqueSdkImports(miniPath) {
175
+ const files = findTsFiles(miniPath);
176
+ const uniqueImports = new Set();
177
+ for (const file of files) {
178
+ const imports = extractImports(file);
179
+ for (const name of imports) {
180
+ uniqueImports.add(name);
181
+ }
182
+ }
183
+ return uniqueImports;
184
+ }
185
+ //# sourceMappingURL=scan-sdk-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan-sdk-usage.js","sourceRoot":"","sources":["../../src/utils/scan-sdk-usage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Scope Validation Utilities
3
+ *
4
+ * Validates that all scopes declared in a mini's manifest.json are actually used
5
+ * by the hooks and components imported from @shopify/shop-minis-react.
6
+ *
7
+ * Ported from shop-minis-submissions/scripts/validate-mini-manifest.ts
8
+ */
9
+ export interface ScopesValidationResult {
10
+ success: boolean;
11
+ unusedScopes: string[];
12
+ usedHooksAndComponents: string[];
13
+ /** True if validation was skipped (e.g., SDK maps not found) */
14
+ skipped: boolean;
15
+ /** Reason why validation was skipped */
16
+ skipReason?: string;
17
+ /** Validation errors (e.g., invalid scope types in manifest) */
18
+ errors?: string[];
19
+ }
20
+ /**
21
+ * Loads the hook-to-scopes mapping from the SDK in a Mini's node_modules
22
+ * Returns null if the SDK is not installed or the map file doesn't exist
23
+ */
24
+ export declare function loadHookScopesMap(miniPath: string): Record<string, string[]> | null;
25
+ /**
26
+ * Loads the component-to-scopes mapping from the SDK in a Mini's node_modules
27
+ * Returns a map keyed by component name (not file path) for easier lookup
28
+ * Returns null if the SDK is not installed or the map file doesn't exist
29
+ */
30
+ export declare function loadComponentScopesMap(miniPath: string): Record<string, {
31
+ scopes: string[];
32
+ hooks: string[];
33
+ }> | null;
34
+ /**
35
+ * Checks if a scope is required by any of the used hooks/components
36
+ */
37
+ export declare function isScopeUsed(scope: string, usedItems: Set<string>, hookToScopes: Record<string, string[]>, componentToScopes: Record<string, {
38
+ scopes: string[];
39
+ hooks: string[];
40
+ }>): boolean;
41
+ /**
42
+ * Validates that all scopes declared in the manifest are actually used.
43
+ * Returns a result indicating success/failure and any unused scopes.
44
+ *
45
+ * This function gracefully handles missing SDK installations by skipping
46
+ * validation and returning a successful result.
47
+ *
48
+ * @param miniPath - Path to the mini app directory
49
+ * @param manifest - Already-loaded manifest content (avoids double-loading)
50
+ */
51
+ export declare function validateUnusedScopes(miniPath: string, manifest: {
52
+ scopes?: unknown[];
53
+ [key: string]: unknown;
54
+ }): ScopesValidationResult;
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Scope Validation Utilities
3
+ *
4
+ * Validates that all scopes declared in a mini's manifest.json are actually used
5
+ * by the hooks and components imported from @shopify/shop-minis-react.
6
+ *
7
+ * Ported from shop-minis-submissions/scripts/validate-mini-manifest.ts
8
+ */
9
+ import * as fs from 'fs';
10
+ import * as path from 'path';
11
+ import { getUniqueSdkImports } from './scan-sdk-usage.js';
12
+ /**
13
+ * Loads the hook-to-scopes mapping from the SDK in a Mini's node_modules
14
+ * Returns null if the SDK is not installed or the map file doesn't exist
15
+ */
16
+ export function loadHookScopesMap(miniPath) {
17
+ const mapPath = path.join(miniPath, 'node_modules', '@shopify', 'shop-minis-react', 'generated-hook-maps', 'hook-scopes-map.json');
18
+ if (!fs.existsSync(mapPath)) {
19
+ return null;
20
+ }
21
+ try {
22
+ const mapContent = fs.readFileSync(mapPath, 'utf-8');
23
+ return JSON.parse(mapContent);
24
+ }
25
+ catch {
26
+ return null;
27
+ }
28
+ }
29
+ /**
30
+ * Loads the component-to-scopes mapping from the SDK in a Mini's node_modules
31
+ * Returns a map keyed by component name (not file path) for easier lookup
32
+ * Returns null if the SDK is not installed or the map file doesn't exist
33
+ */
34
+ export function loadComponentScopesMap(miniPath) {
35
+ const mapPath = path.join(miniPath, 'node_modules', '@shopify', 'shop-minis-react', 'generated-hook-maps', 'component-scopes-map.json');
36
+ if (!fs.existsSync(mapPath)) {
37
+ return null;
38
+ }
39
+ try {
40
+ const mapContent = fs.readFileSync(mapPath, 'utf-8');
41
+ const filePathMap = JSON.parse(mapContent);
42
+ // Build reverse map: componentName -> {scopes, hooks}
43
+ const componentNameMap = {};
44
+ for (const [filePath, data] of Object.entries(filePathMap)) {
45
+ if (data.name) {
46
+ // Use componentName field when available
47
+ componentNameMap[data.name] = {
48
+ scopes: data.scopes,
49
+ hooks: data.hooks,
50
+ };
51
+ }
52
+ else {
53
+ // Fallback: derive component name from file path (for backward compatibility)
54
+ // commerce/product-card -> ProductCard
55
+ const fileName = filePath.split('/').pop() || '';
56
+ const componentName = fileName
57
+ .split('-')
58
+ .map(part => part.charAt(0).toUpperCase() + part.slice(1))
59
+ .join('');
60
+ if (componentName) {
61
+ componentNameMap[componentName] = {
62
+ scopes: data.scopes,
63
+ hooks: data.hooks,
64
+ };
65
+ }
66
+ }
67
+ }
68
+ return componentNameMap;
69
+ }
70
+ catch {
71
+ return null;
72
+ }
73
+ }
74
+ /**
75
+ * Checks if a scope is required by any of the used hooks/components
76
+ */
77
+ export function isScopeUsed(scope, usedItems, hookToScopes, componentToScopes) {
78
+ // Check if any used item (hook or component) requires this scope
79
+ for (const item of usedItems) {
80
+ // Check hooks
81
+ const hookScopes = hookToScopes[item];
82
+ if (hookScopes && hookScopes.includes(scope)) {
83
+ return true;
84
+ }
85
+ // Check components (now keyed by component name after loading)
86
+ const componentData = componentToScopes[item];
87
+ if (componentData &&
88
+ componentData.scopes &&
89
+ componentData.scopes.includes(scope)) {
90
+ return true;
91
+ }
92
+ }
93
+ return false;
94
+ }
95
+ /**
96
+ * Validates that all scopes declared in the manifest are actually used.
97
+ * Returns a result indicating success/failure and any unused scopes.
98
+ *
99
+ * This function gracefully handles missing SDK installations by skipping
100
+ * validation and returning a successful result.
101
+ *
102
+ * @param miniPath - Path to the mini app directory
103
+ * @param manifest - Already-loaded manifest content (avoids double-loading)
104
+ */
105
+ export function validateUnusedScopes(miniPath, manifest) {
106
+ // If no scopes declared, nothing to validate
107
+ const declaredScopes = manifest.scopes;
108
+ if (!declaredScopes || declaredScopes.length === 0) {
109
+ return {
110
+ success: true,
111
+ unusedScopes: [],
112
+ usedHooksAndComponents: [],
113
+ skipped: false,
114
+ };
115
+ }
116
+ // Scopes must be an array
117
+ if (!Array.isArray(declaredScopes)) {
118
+ return {
119
+ success: false,
120
+ unusedScopes: [],
121
+ usedHooksAndComponents: [],
122
+ skipped: false,
123
+ errors: ['scopes must be an array'],
124
+ };
125
+ }
126
+ // Load scope maps from SDK
127
+ const hookToScopes = loadHookScopesMap(miniPath);
128
+ const componentToScopes = loadComponentScopesMap(miniPath);
129
+ // If SDK maps are not available, skip validation gracefully
130
+ if (!hookToScopes) {
131
+ return {
132
+ success: true,
133
+ unusedScopes: [],
134
+ usedHooksAndComponents: [],
135
+ skipped: true,
136
+ skipReason: 'SDK scope maps not found. Make sure @shopify/shop-minis-react is installed.',
137
+ };
138
+ }
139
+ // Use empty object if component scopes map doesn't exist (it's optional)
140
+ const componentScopes = componentToScopes || {};
141
+ // Scan mini source for SDK imports
142
+ const usedHooksAndComponents = getUniqueSdkImports(miniPath);
143
+ // Check each declared scope to see if it's actually used
144
+ const unusedScopes = [];
145
+ const errors = [];
146
+ for (const scope of declaredScopes) {
147
+ if (typeof scope !== 'string') {
148
+ errors.push(`scopes must contain only strings, found: ${typeof scope}`);
149
+ continue;
150
+ }
151
+ if (!isScopeUsed(scope, usedHooksAndComponents, hookToScopes, componentScopes)) {
152
+ unusedScopes.push(scope);
153
+ }
154
+ }
155
+ return {
156
+ success: unusedScopes.length === 0 && errors.length === 0,
157
+ unusedScopes,
158
+ usedHooksAndComponents: Array.from(usedHooksAndComponents),
159
+ skipped: false,
160
+ errors: errors.length > 0 ? errors : undefined,
161
+ };
162
+ }
163
+ //# sourceMappingURL=scopes-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopes-validation.js","sourceRoot":"","sources":["../../src/utils/scopes-validation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAA;AAoBvD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAgB;IAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,QAAQ,EACR,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,CACvB,CAAA;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC3B,OAAO,IAAI,CAAA;KACZ;IAED,IAAI;QACF,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;KAC9B;IAAC,MAAM;QACN,OAAO,IAAI,CAAA;KACZ;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAgB;IAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,QAAQ,EACR,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,CAC5B,CAAA;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QAC3B,OAAO,IAAI,CAAA;KACZ;IAED,IAAI;QACF,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAGxC,CAAA;QAED,sDAAsD;QACtD,MAAM,gBAAgB,GAGlB,EAAE,CAAA;QAEN,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC1D,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,yCAAyC;gBACzC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;oBAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAA;aACF;iBAAM;gBACL,8EAA8E;gBAC9E,uCAAuC;gBACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAA;gBAChD,MAAM,aAAa,GAAG,QAAQ;qBAC3B,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;qBACzD,IAAI,CAAC,EAAE,CAAC,CAAA;gBAEX,IAAI,aAAa,EAAE;oBACjB,gBAAgB,CAAC,aAAa,CAAC,GAAG;wBAChC,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;qBAClB,CAAA;iBACF;aACF;SACF;QAED,OAAO,gBAAgB,CAAA;KACxB;IAAC,MAAM;QACN,OAAO,IAAI,CAAA;KACZ;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,KAAa,EACb,SAAsB,EACtB,YAAsC,EACtC,iBAAsE;IAEtE,iEAAiE;IACjE,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;QAC5B,cAAc;QACd,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAA;SACZ;QAED,+DAA+D;QAC/D,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC7C,IACE,aAAa;YACb,aAAa,CAAC,MAAM;YACpB,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EACpC;YACA,OAAO,IAAI,CAAA;SACZ;KACF;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAgB,EAChB,QAAsD;IAEtD,6CAA6C;IAC7C,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAA;IACtC,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAClD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,EAAE;YAChB,sBAAsB,EAAE,EAAE;YAC1B,OAAO,EAAE,KAAK;SACf,CAAA;KACF;IAED,0BAA0B;IAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;QAClC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,EAAE;YAChB,sBAAsB,EAAE,EAAE;YAC1B,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,CAAC,yBAAyB,CAAC;SACpC,CAAA;KACF;IAED,2BAA2B;IAC3B,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAChD,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAA;IAE1D,4DAA4D;IAC5D,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,EAAE;YAChB,sBAAsB,EAAE,EAAE;YAC1B,OAAO,EAAE,IAAI;YACb,UAAU,EACR,6EAA6E;SAChF,CAAA;KACF;IAED,yEAAyE;IACzE,MAAM,eAAe,GAAG,iBAAiB,IAAI,EAAE,CAAA;IAE/C,mCAAmC;IACnC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAE5D,yDAAyD;IACzD,MAAM,YAAY,GAAa,EAAE,CAAA;IACjC,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,CAAC,IAAI,CAAC,4CAA4C,OAAO,KAAK,EAAE,CAAC,CAAA;YACvE,SAAQ;SACT;QAED,IACE,CAAC,WAAW,CAAC,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,eAAe,CAAC,EAC1E;YACA,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SACzB;KACF;IAED,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACzD,YAAY;QACZ,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAC1D,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAC/C,CAAA;AACH,CAAC"}
@@ -0,0 +1,14 @@
1
+ export interface ValidationResult {
2
+ file: string;
3
+ status: 'ok' | 'modified' | 'missing';
4
+ message: string;
5
+ canAutoFix: boolean;
6
+ }
7
+ export interface UnexpectedFileResult {
8
+ file: string;
9
+ message: string;
10
+ }
11
+ export declare function getTemplatePath(): string;
12
+ export declare function compareWithTemplate(projectPath: string): Promise<ValidationResult[]>;
13
+ export declare function findUnexpectedRootFiles(projectPath: string): Promise<UnexpectedFileResult[]>;
14
+ export declare function resetToTemplate(projectPath: string, files?: string[]): Promise<void>;
@@ -0,0 +1,112 @@
1
+ import { readFile, writeFile } from 'fs/promises';
2
+ import { existsSync } from 'fs';
3
+ import path from 'path';
4
+ import { fileURLToPath } from 'url';
5
+ const __dirname = fileURLToPath(new URL('.', import.meta.url));
6
+ // Files that should match the template exactly (no modifications allowed)
7
+ const PROTECTED_FILES = [
8
+ 'eslint.config.js',
9
+ 'tsconfig.json',
10
+ 'stylelint.config.mjs',
11
+ 'index.html',
12
+ ];
13
+ // Files that are expected in the root directory
14
+ const EXPECTED_ROOT_FILES = [
15
+ '.gitignore',
16
+ '.shopminis',
17
+ 'eslint.config.js',
18
+ 'tsconfig.json',
19
+ 'stylelint.config.mjs',
20
+ 'index.html',
21
+ 'types.d.ts',
22
+ 'package.json',
23
+ 'package-lock.json',
24
+ 'node_modules',
25
+ 'src',
26
+ '.git',
27
+ '.minis-cache',
28
+ 'dist',
29
+ 'build',
30
+ 'README.md',
31
+ // Allow common IDE/editor files
32
+ '.vscode',
33
+ '.idea',
34
+ '.DS_Store',
35
+ // Allow common config files that developers might add
36
+ '.env',
37
+ '.env.local',
38
+ '.prettierrc',
39
+ '.prettierignore',
40
+ ];
41
+ export function getTemplatePath() {
42
+ // When running from build: node_modules/@shopify/shop-minis-cli/build/
43
+ // Template files are at: build/commands/create/examples/default/
44
+ return path.resolve(__dirname, '../commands/create/examples/default');
45
+ }
46
+ export async function compareWithTemplate(projectPath) {
47
+ const templatePath = getTemplatePath();
48
+ const results = [];
49
+ for (const file of PROTECTED_FILES) {
50
+ const projectFile = path.join(projectPath, file);
51
+ const templateFile = path.join(templatePath, file);
52
+ if (!existsSync(projectFile)) {
53
+ results.push({
54
+ file,
55
+ status: 'missing',
56
+ message: 'Required file is missing',
57
+ canAutoFix: true,
58
+ });
59
+ continue;
60
+ }
61
+ if (!existsSync(templateFile)) {
62
+ // Template file doesn't exist - skip validation
63
+ continue;
64
+ }
65
+ const projectContent = await readFile(projectFile, 'utf-8');
66
+ const templateContent = await readFile(templateFile, 'utf-8');
67
+ if (projectContent === templateContent) {
68
+ results.push({
69
+ file,
70
+ status: 'ok',
71
+ message: 'File matches template',
72
+ canAutoFix: false,
73
+ });
74
+ }
75
+ else {
76
+ results.push({
77
+ file,
78
+ status: 'modified',
79
+ message: 'File has been modified from template',
80
+ canAutoFix: true,
81
+ });
82
+ }
83
+ }
84
+ return results;
85
+ }
86
+ export async function findUnexpectedRootFiles(projectPath) {
87
+ const { readdirSync } = await import('fs');
88
+ const files = readdirSync(projectPath);
89
+ const unexpected = [];
90
+ for (const file of files) {
91
+ if (!EXPECTED_ROOT_FILES.includes(file)) {
92
+ unexpected.push({
93
+ file,
94
+ message: 'Unexpected file in root directory. Shop Minis projects should keep custom files in the src/ directory.',
95
+ });
96
+ }
97
+ }
98
+ return unexpected;
99
+ }
100
+ export async function resetToTemplate(projectPath, files) {
101
+ const templatePath = getTemplatePath();
102
+ const filesToReset = files || PROTECTED_FILES;
103
+ for (const file of filesToReset) {
104
+ const templateFile = path.join(templatePath, file);
105
+ const projectFile = path.join(projectPath, file);
106
+ if (existsSync(templateFile)) {
107
+ const content = await readFile(templateFile, 'utf-8');
108
+ await writeFile(projectFile, content, 'utf-8');
109
+ }
110
+ }
111
+ }
112
+ //# sourceMappingURL=template-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-sync.js","sourceRoot":"","sources":["../../src/utils/template-sync.ts"],"names":[],"mappings":"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"}
@@ -99,7 +99,7 @@ const restrictImportsPlugin = (additionalAllowedPaths = []) => {
99
99
  allowedImportRoots = [
100
100
  srcDir,
101
101
  nodeModulesDir,
102
- ...additionalAllowedPaths.map(p => normalizePath(path.resolve(p))),
102
+ ...additionalAllowedPaths.map(pathname => normalizePath(path.resolve(pathname))),
103
103
  ];
104
104
  },
105
105
  generateBundle(_options, bundle) {
@@ -133,7 +133,11 @@ export const createViteConfig = ({ mode, allowedExternalPaths = [], }) => {
133
133
  return {
134
134
  root: process.cwd(),
135
135
  publicDir: false,
136
- plugins: [restrictImportsPlugin(allowedExternalPaths), react(), tailwindcss()],
136
+ plugins: [
137
+ restrictImportsPlugin(allowedExternalPaths),
138
+ react(),
139
+ tailwindcss(),
140
+ ],
137
141
  assetsInclude: ['**/*.glb', '**/*.gltf'],
138
142
  optimizeDeps: {
139
143
  include: ['@shopify/shop-minis-react'],
@@ -1 +1 @@
1
- {"version":3,"file":"vite-config.js","sourceRoot":"","sources":["../../src/utils/vite-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-config.js","sourceRoot":"","sources":["../../src/utils/vite-config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public",
5
5
  "@shopify:registry": "https://registry.npmjs.org/"
6
6
  },
7
- "version": "0.0.225",
7
+ "version": "0.1.2",
8
8
  "description": "Shop Minis CLI",
9
9
  "main": "build/index.js",
10
10
  "bin": {
@@ -94,7 +94,7 @@
94
94
  "build:cli": "tsc -p tsconfig.build.json && chmod 755 build/index.js && cp src/commands/dev/utils/safari-inspector.applescript build/commands/dev/utils && cpx \"src/schemas/*.json\" build/schemas && pnpm build:cli:examples",
95
95
  "build:cli:watch": "chokidar \"./src/**/*.ts\" -c \"pnpm run build:cli\" --silent --initial --ignore '(build|node_modules)'",
96
96
  "build:cli:examples": "cpx \"src/commands/create/examples/**/{*,.*}\" build/commands/create/examples",
97
- "build:cli:graphql": "node --import tsx scripts/graphql-codegen.ts",
97
+ "build:cli:graphql": "node --import tsx scripts/graphql-codegen.ts && pnpm lint:fix",
98
98
  "type-check": "tsc --noEmit --incremental false",
99
99
  "lint": "eslint . --ext .js,.mjs,.ts,.tsx --format codeframe --cache",
100
100
  "lint:fix": "eslint . --ext .js,.mjs,.ts,.tsx --format codeframe --cache --fix",