@shopify/shop-minis-cli 0.0.38 → 0.0.40

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 (170) hide show
  1. package/.eslintrc.cjs +84 -0
  2. package/.vscode/extensions.json +3 -0
  3. package/.vscode/settings.json +8 -0
  4. package/.vscode/shop-minis-cli.code-workspace +8 -0
  5. package/build/commands/cancel-submission/index.d.ts +2 -0
  6. package/build/commands/cancel-submission/index.js +22 -0
  7. package/build/commands/cancel-submission/index.js.map +1 -0
  8. package/build/commands/cancel-submission/types.d.ts +3 -0
  9. package/build/commands/cancel-submission/types.js +2 -0
  10. package/build/commands/cancel-submission/types.js.map +1 -0
  11. package/build/commands/check-submission/index.d.ts +2 -0
  12. package/build/commands/check-submission/index.js +22 -0
  13. package/build/commands/check-submission/index.js.map +1 -0
  14. package/build/commands/check-submission/types.d.ts +3 -0
  15. package/build/commands/check-submission/types.js +2 -0
  16. package/build/commands/check-submission/types.js.map +1 -0
  17. package/build/commands/config.d.ts +10 -0
  18. package/build/commands/config.js +34 -0
  19. package/build/commands/config.js.map +1 -0
  20. package/build/commands/create-mini/index.js +74 -67
  21. package/build/commands/create-mini/index.js.map +1 -1
  22. package/build/commands/create-mini/utils/template-app.js +20 -25
  23. package/build/commands/create-mini/utils/template-app.js.map +1 -1
  24. package/build/commands/dev/index.js +13 -20
  25. package/build/commands/dev/index.js.map +1 -1
  26. package/build/commands/dev/utils/android.js +34 -48
  27. package/build/commands/dev/utils/android.js.map +1 -1
  28. package/build/commands/dev/utils/binaries.d.ts +1 -22
  29. package/build/commands/dev/utils/binaries.js +19 -98
  30. package/build/commands/dev/utils/binaries.js.map +1 -1
  31. package/build/commands/dev/utils/deeplink.d.ts +1 -1
  32. package/build/commands/dev/utils/deeplink.js +37 -9
  33. package/build/commands/dev/utils/deeplink.js.map +1 -1
  34. package/build/commands/dev/utils/interactive-terminal.d.ts +1 -1
  35. package/build/commands/dev/utils/interactive-terminal.js +46 -52
  36. package/build/commands/dev/utils/interactive-terminal.js.map +1 -1
  37. package/build/commands/dev/utils/metro/metro-config.js +19 -20
  38. package/build/commands/dev/utils/metro/metro-config.js.map +1 -1
  39. package/build/commands/dev/utils/metro/metro-reporter.d.ts +2 -3
  40. package/build/commands/dev/utils/metro/metro-reporter.js +7 -12
  41. package/build/commands/dev/utils/metro/metro-reporter.js.map +1 -1
  42. package/build/commands/dev/utils/metro/metro-server-middleware.js +5 -12
  43. package/build/commands/dev/utils/metro/metro-server-middleware.js.map +1 -1
  44. package/build/commands/dev/utils/metro/metro-server.d.ts +1 -1
  45. package/build/commands/dev/utils/metro/metro-server.js +6 -13
  46. package/build/commands/dev/utils/metro/metro-server.js.map +1 -1
  47. package/build/commands/dev/utils/network.d.ts +20 -0
  48. package/build/commands/dev/utils/network.js +62 -0
  49. package/build/commands/dev/utils/network.js.map +1 -0
  50. package/build/commands/dev/utils/qr-code.js +3 -10
  51. package/build/commands/dev/utils/qr-code.js.map +1 -1
  52. package/build/commands/dev/utils/simulator.js +25 -35
  53. package/build/commands/dev/utils/simulator.js.map +1 -1
  54. package/build/commands/dev/utils/types.d.ts +1 -0
  55. package/build/commands/dev/utils/types.js +2 -0
  56. package/build/commands/dev/utils/types.js.map +1 -0
  57. package/build/commands/dev/utils/with-retries.js +1 -5
  58. package/build/commands/dev/utils/with-retries.js.map +1 -1
  59. package/build/commands/generate-graphql-types/index.js +25 -26
  60. package/build/commands/generate-graphql-types/index.js.map +1 -1
  61. package/build/commands/schemas/contextual-image.schema.d.ts +22 -0
  62. package/build/commands/schemas/contextual-image.schema.js +23 -0
  63. package/build/commands/schemas/contextual-image.schema.js.map +1 -0
  64. package/build/commands/schemas/contextual-object.schema.d.ts +18 -0
  65. package/build/commands/schemas/contextual-object.schema.js +19 -0
  66. package/build/commands/schemas/contextual-object.schema.js.map +1 -0
  67. package/build/commands/schemas/manifest.schema.d.ts +181 -0
  68. package/build/commands/schemas/manifest.schema.js +230 -0
  69. package/build/commands/schemas/manifest.schema.js.map +1 -0
  70. package/build/commands/schemas/visibility.schema.d.ts +18 -0
  71. package/build/commands/schemas/visibility.schema.js +19 -0
  72. package/build/commands/schemas/visibility.schema.js.map +1 -0
  73. package/build/commands/submit/config.d.ts +9 -0
  74. package/build/commands/submit/config.js +18 -0
  75. package/build/commands/submit/config.js.map +1 -0
  76. package/build/commands/submit/errors.d.ts +19 -0
  77. package/build/commands/submit/errors.js +87 -0
  78. package/build/commands/submit/errors.js.map +1 -0
  79. package/build/commands/submit/gcs.d.ts +6 -0
  80. package/build/commands/submit/gcs.js +10 -0
  81. package/build/commands/submit/gcs.js.map +1 -0
  82. package/build/commands/submit/graphql.d.ts +73 -0
  83. package/build/commands/submit/graphql.js +100 -0
  84. package/build/commands/submit/graphql.js.map +1 -0
  85. package/build/commands/submit/index.d.ts +2 -0
  86. package/build/commands/submit/index.js +21 -0
  87. package/build/commands/submit/index.js.map +1 -0
  88. package/build/commands/submit/submit.d.ts +4 -0
  89. package/build/commands/submit/submit.js +171 -0
  90. package/build/commands/submit/submit.js.map +1 -0
  91. package/build/commands/submit/tasks.d.ts +39 -0
  92. package/build/commands/submit/tasks.js +167 -0
  93. package/build/commands/submit/tasks.js.map +1 -0
  94. package/build/commands/submit/types.d.ts +14 -0
  95. package/build/commands/submit/types.js +2 -0
  96. package/build/commands/submit/types.js.map +1 -0
  97. package/build/commands/submit/validation.d.ts +2 -0
  98. package/build/commands/submit/validation.js +14 -0
  99. package/build/commands/submit/validation.js.map +1 -0
  100. package/build/commands/types/autogenerated/shop-minis-admin-api/fragment-masking.d.ts +13 -0
  101. package/build/commands/types/autogenerated/shop-minis-admin-api/fragment-masking.js +7 -0
  102. package/build/commands/types/autogenerated/shop-minis-admin-api/fragment-masking.js.map +1 -0
  103. package/build/commands/types/autogenerated/shop-minis-admin-api/gql.d.ts +54 -0
  104. package/build/commands/types/autogenerated/shop-minis-admin-api/gql.js +21 -0
  105. package/build/commands/types/autogenerated/shop-minis-admin-api/gql.js.map +1 -0
  106. package/build/commands/types/autogenerated/shop-minis-admin-api/graphql.d.ts +704 -0
  107. package/build/commands/types/autogenerated/shop-minis-admin-api/graphql.js +449 -0
  108. package/build/commands/types/autogenerated/shop-minis-admin-api/graphql.js.map +1 -0
  109. package/build/commands/types/autogenerated/shop-minis-admin-api/index.d.ts +2 -0
  110. package/build/commands/types/autogenerated/shop-minis-admin-api/index.js +3 -0
  111. package/build/commands/types/autogenerated/shop-minis-admin-api/index.js.map +1 -0
  112. package/build/commands/types/helpers.d.ts +1 -0
  113. package/build/commands/types/helpers.js +2 -0
  114. package/build/commands/types/helpers.js.map +1 -0
  115. package/build/commands/utils/archive.d.ts +30 -0
  116. package/build/commands/utils/archive.js +38 -0
  117. package/build/commands/utils/archive.js.map +1 -0
  118. package/build/commands/utils/exec-async-child-process.d.ts +1 -1
  119. package/build/commands/utils/exec-async-child-process.js +6 -13
  120. package/build/commands/utils/exec-async-child-process.js.map +1 -1
  121. package/build/commands/utils/file.d.ts +1 -0
  122. package/build/commands/utils/file.js +7 -0
  123. package/build/commands/utils/file.js.map +1 -0
  124. package/build/commands/{check/utils/manifest.d.ts → utils/minis-manifest.d.ts} +1 -0
  125. package/build/commands/utils/minis-manifest.js +42 -0
  126. package/build/commands/utils/minis-manifest.js.map +1 -0
  127. package/build/commands/utils/wrap-with-loading-indicator.js +3 -10
  128. package/build/commands/utils/wrap-with-loading-indicator.js.map +1 -1
  129. package/build/dev-panel/middleware.js +5 -10
  130. package/build/dev-panel/middleware.js.map +1 -1
  131. package/build/index.js +15 -13
  132. package/build/index.js.map +1 -1
  133. package/jest.config.ts +11 -0
  134. package/package.json +5 -8
  135. package/scripts/graphql-codegen.ts +23 -0
  136. package/scripts/test-template.ts +63 -0
  137. package/templates/__template_blank/src/index.tsx +5 -4
  138. package/templates/__template_common/.eslintrc.json +2 -119
  139. package/templates/__template_common/gitignore +2 -0
  140. package/templates/__template_common/index.tsx +2 -3
  141. package/templates/__template_common/metro.config.js +0 -4
  142. package/templates/__template_common/package.json +12 -8
  143. package/templates/__template_common/src/manifest.json +1 -0
  144. package/templates/__template_hello_world/src/components/FeaturedComponents.tsx +2 -2
  145. package/templates/__template_hello_world/src/components/quiz/types.ts +2 -2
  146. package/templates/__template_hello_world/src/index.tsx +5 -4
  147. package/templates/__template_hello_world/src/screens/BottomSheetScreen.tsx +6 -5
  148. package/templates/__template_hello_world/src/screens/QuizScreen.tsx +2 -2
  149. package/templates/__template_hello_world/src/screens/QuizSlideScreen.tsx +2 -2
  150. package/templates/__template_snowboardz/src/index.tsx +5 -4
  151. package/build/commands/check/index.d.ts +0 -6
  152. package/build/commands/check/index.js +0 -87
  153. package/build/commands/check/index.js.map +0 -1
  154. package/build/commands/check/utils/manifest.js +0 -26
  155. package/build/commands/check/utils/manifest.js.map +0 -1
  156. package/build/commands/check/utils/schemas/contextual-image.schema.json +0 -21
  157. package/build/commands/check/utils/schemas/contextual-object.schema.json +0 -17
  158. package/build/commands/check/utils/schemas/manifest.schema.json +0 -226
  159. package/build/commands/check/utils/schemas/visibility.schema.json +0 -17
  160. package/build/commands/check/utils/versions.d.ts +0 -1
  161. package/build/commands/check/utils/versions.js +0 -14
  162. package/build/commands/check/utils/versions.js.map +0 -1
  163. package/build/commands/dev/utils/binaries.test.d.ts +0 -1
  164. package/build/commands/dev/utils/binaries.test.js +0 -275
  165. package/build/commands/dev/utils/binaries.test.js.map +0 -1
  166. package/build/commands/dev/utils/minis-manifest.d.ts +0 -1
  167. package/build/commands/dev/utils/minis-manifest.js +0 -24
  168. package/build/commands/dev/utils/minis-manifest.js.map +0 -1
  169. package/templates/__template_hello_world/src/utils/getFlagEmoji.spec.tsx +0 -19
  170. /package/templates/{__template_blank/src/custom.d.ts → __template_common/assets.d.ts} +0 -0
package/.eslintrc.cjs ADDED
@@ -0,0 +1,84 @@
1
+ module.exports = {
2
+ root: true,
3
+ extends: [
4
+ '@react-native-community',
5
+ 'plugin:@shopify/typescript',
6
+ 'plugin:@shopify/jest',
7
+ 'plugin:@shopify/prettier',
8
+ ],
9
+ plugins: ['jest'],
10
+ parserOptions: {
11
+ ecmaVersion: 6,
12
+ project: './tsconfig.eslint.json',
13
+ },
14
+ rules: {
15
+ '@babel/no-unused-expressions': 0,
16
+ '@typescript-eslint/no-unused-expressions': [
17
+ 'error',
18
+ {
19
+ allowShortCircuit: true,
20
+ },
21
+ ],
22
+ 'line-comment-position': 0,
23
+ 'no-implicit-coercion': 2,
24
+ 'consistent-return': 0,
25
+ 'no-console': 0,
26
+ 'spaced-comment': 0,
27
+ 'no-warning-comments': 'off',
28
+ 'no-process-env': 'off',
29
+ 'lines-around-comment': 'off',
30
+ '@shopify/typescript/prefer-pascal-case-enums': 'off',
31
+ '@typescript-eslint/naming-convention': 'off',
32
+ '@typescript-eslint/ban-ts-comment': 'off',
33
+ '@typescript-eslint/consistent-indexed-object-style': 'off',
34
+ '@typescript-eslint/member-ordering': 'off',
35
+ '@shopify/jest/no-vague-titles': 'off',
36
+ 'import/no-named-as-default': 'off',
37
+ 'import/named': 'off',
38
+ 'id-blacklist': [2, 'blacklist', 'whitelist'],
39
+ '@typescript-eslint/camelcase': 'off',
40
+ '@typescript-eslint/ban-ts-ignore': 'off',
41
+ '@typescript-eslint/ban-types': 'off',
42
+ '@typescript-eslint/class-name-casing': 'off',
43
+ '@typescript-eslint/array-type': 'off',
44
+ 'jest/no-standalone-expect': 'off',
45
+ 'jest/no-test-callback': 'off',
46
+ '@typescript-eslint/no-namespace': 'off',
47
+ 'jest/valid-title': 'off',
48
+ '@typescript-eslint/no-unused-vars': [
49
+ 'error',
50
+ {
51
+ argsIgnorePattern: '^_',
52
+ varsIgnorePattern: '^_.{1,}',
53
+ },
54
+ ],
55
+ '@typescript-eslint/no-shadow': 'error',
56
+ 'no-shadow': 'off',
57
+ 'max-len': [
58
+ 'error',
59
+ {
60
+ code: 200,
61
+ ignoreUrls: true,
62
+ },
63
+ ],
64
+
65
+ // Type files generated by codegen have eslint disabled with a comment
66
+ 'eslint-comments/no-unlimited-disable': 'off',
67
+ },
68
+ overrides: [
69
+ {
70
+ files: ['*.ts'],
71
+ rules: {
72
+ '@typescript-eslint/no-non-null-assertion': 0,
73
+ 'shopify/typescript/prefer-pascal-case-enums': 0,
74
+ },
75
+ },
76
+ {
77
+ files: ['*.spec.*', '*.test.*'],
78
+ rules: {
79
+ 'require-await': 2,
80
+ '@typescript-eslint/no-floating-promises': 2,
81
+ },
82
+ },
83
+ ],
84
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "recommendations": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"]
3
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "editor.formatOnSave": true,
3
+ "files.trimTrailingWhitespace": false,
4
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
5
+ "editor.codeActionsOnSave": {
6
+ "source.fixAll.eslint": true
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "folders": [
3
+ {
4
+ "path": ".."
5
+ }
6
+ ],
7
+ "settings": {}
8
+ }
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare function loadCommand(parentProgram: Command): void;
@@ -0,0 +1,22 @@
1
+ import { Command } from 'commander';
2
+ import { outputDebug } from '@shopify/cli-kit/node/output';
3
+ import { AbortError, handler as handleError } from '@shopify/cli-kit/node/error';
4
+ import { getMiniManifest } from '../utils/minis-manifest.js';
5
+ import { EMAILS } from '../config.js';
6
+ export function loadCommand(parentProgram) {
7
+ const command = new Command()
8
+ .name('cancel-submission')
9
+ .description('cancel a pending submission')
10
+ .option('--verbose', 'print debugging messages') // compatible with cli-kit
11
+ .action(async (args) => {
12
+ const miniHandle = getMiniManifest().handle;
13
+ outputDebug(`Cancel submission args ${JSON.stringify(args)}`);
14
+ outputDebug(`Cancelling submission for mini "${miniHandle}" at ${process.cwd()}`);
15
+ handleError(new AbortError(`Cancelling a submission is not available yet`, 'The feature is a work-in-progress, and should be available soon.', [
16
+ `Contact us in Slack, or email ${EMAILS.CONTACT_US} to cancel the submission.`,
17
+ ]));
18
+ process.exit(1);
19
+ });
20
+ parentProgram.addCommand(command);
21
+ }
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/cancel-submission/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAC,UAAU,EAAE,OAAO,IAAI,WAAW,EAAC,MAAM,6BAA6B,CAAA;AAE9E,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAInC,MAAM,UAAU,WAAW,CAAC,aAAsB;IAChD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,mBAAmB,CAAC;SACzB,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC,0BAA0B;SAC1E,MAAM,CAAC,KAAK,EAAE,IAAiC,EAAE,EAAE;QAClD,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC,MAAM,CAAA;QAE3C,WAAW,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7D,WAAW,CACT,mCAAmC,UAAU,QAAQ,OAAO,CAAC,GAAG,EAAE,EAAE,CACrE,CAAA;QAED,WAAW,CACT,IAAI,UAAU,CACZ,8CAA8C,EAC9C,kEAAkE,EAClE;YACE,iCAAiC,MAAM,CAAC,UAAU,4BAA4B;SAC/E,CACF,CACF,CAAA;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IAEJ,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export interface CancelSubmissionCommandArgs {
2
+ verbose?: boolean;
3
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/cancel-submission/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'commander';
2
+ export declare function loadCommand(parentProgram: Command): void;
@@ -0,0 +1,22 @@
1
+ import { Command } from 'commander';
2
+ import { outputDebug } from '@shopify/cli-kit/node/output';
3
+ import { AbortError, handler as handleError } from '@shopify/cli-kit/node/error';
4
+ import { getMiniManifest } from '../utils/minis-manifest.js';
5
+ import { EMAILS } from '../config.js';
6
+ export function loadCommand(parentProgram) {
7
+ const command = new Command()
8
+ .name('check-submission')
9
+ .description('check submissions')
10
+ .option('--verbose', 'print debugging messages') // compatible with cli-kit
11
+ .action(async (args) => {
12
+ const miniHandle = getMiniManifest().handle;
13
+ outputDebug(`Check submission args ${JSON.stringify(args)}`);
14
+ outputDebug(`Checking submissions for mini "${miniHandle}" at ${process.cwd()}`);
15
+ handleError(new AbortError(`Checking on a submission is not available yet`, 'The feature is a work-in-progress, and should be available soon.', [
16
+ `Contact us in Slack, or email ${EMAILS.CONTACT_US} to check the status on the latest submission.`,
17
+ ]));
18
+ process.exit(1);
19
+ });
20
+ parentProgram.addCommand(command);
21
+ }
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/check-submission/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAC,UAAU,EAAE,OAAO,IAAI,WAAW,EAAC,MAAM,6BAA6B,CAAA;AAE9E,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAInC,MAAM,UAAU,WAAW,CAAC,aAAsB;IAChD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,kBAAkB,CAAC;SACxB,WAAW,CAAC,mBAAmB,CAAC;SAChC,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC,0BAA0B;SAC1E,MAAM,CAAC,KAAK,EAAE,IAAiC,EAAE,EAAE;QAClD,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC,MAAM,CAAA;QAE3C,WAAW,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5D,WAAW,CACT,kCAAkC,UAAU,QAAQ,OAAO,CAAC,GAAG,EAAE,EAAE,CACpE,CAAA;QAED,WAAW,CACT,IAAI,UAAU,CACZ,+CAA+C,EAC/C,kEAAkE,EAClE;YACE,iCAAiC,MAAM,CAAC,UAAU,gDAAgD;SACnG,CACF,CACF,CAAA;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IAEJ,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export interface CancelSubmissionCommandArgs {
2
+ verbose?: boolean;
3
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/check-submission/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ export declare const getPackageManager: () => Promise<"yarn" | "npm" | "pnpm">;
2
+ export declare const CLI_VERSION: any;
3
+ export declare const PATHS: {
4
+ CACHE_DIR: string;
5
+ };
6
+ export declare const EMAILS: {
7
+ CONTACT_US: string;
8
+ };
9
+ export declare const SHOP_MINIS_ADMIN_API = "https://server.shop.app/minis/admin-api/alpha/graphql.json";
10
+ export declare const SHOP_MINIS_ADMIN_API_KEY: string | undefined;
@@ -0,0 +1,34 @@
1
+ import { createRequire } from 'node:module';
2
+ import path from 'node:path';
3
+ import fs from 'fs-extra';
4
+ import { getPackageManager as _getPackageManager, } from '@shopify/cli-kit/node/node-package-manager';
5
+ import { outputDebug } from '@shopify/cli-kit/node/output';
6
+ import * as dotenv from 'dotenv';
7
+ dotenv.config();
8
+ // Guess which package manager the minis developer use based on some heuristics from cli-kit
9
+ let packageManager = null;
10
+ export const getPackageManager = async () => {
11
+ if (!packageManager) {
12
+ // eslint-disable-next-line require-atomic-updates
13
+ packageManager = await _getPackageManager(process.cwd());
14
+ outputDebug(`Preferred package manager has been detected as: ${packageManager}`);
15
+ }
16
+ return packageManager;
17
+ };
18
+ export const CLI_VERSION = createRequire(import.meta.url)('../../package.json').version;
19
+ export const PATHS = {
20
+ CACHE_DIR: path.resolve(process.cwd(), '.minis-cache'),
21
+ };
22
+ export const EMAILS = {
23
+ CONTACT_US: 'shopminisdevelopers@shopify.com',
24
+ };
25
+ export const SHOP_MINIS_ADMIN_API = 'https://server.shop.app/minis/admin-api/alpha/graphql.json';
26
+ export const SHOP_MINIS_ADMIN_API_KEY = process.env.SHOP_MINIS_API_KEY;
27
+ // Create the cache directory if it doesn't exist.
28
+ try {
29
+ fs.mkdirSync(PATHS.CACHE_DIR);
30
+ }
31
+ catch {
32
+ // directory already exists. do nothing
33
+ }
34
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAA;AACzC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,MAAM,UAAU,CAAA;AACzB,OAAO,EACL,iBAAiB,IAAI,kBAAkB,GAExC,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAEhC,MAAM,CAAC,MAAM,EAAE,CAAA;AAEf,4FAA4F;AAC5F,IAAI,cAAc,GAA0B,IAAI,CAAA;AAChD,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;IAC1C,IAAI,CAAC,cAAc,EAAE;QACnB,kDAAkD;QAClD,cAAc,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAExD,WAAW,CACT,mDAAmD,cAAc,EAAE,CACpE,CAAA;KACF;IAED,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CACvD,oBAAoB,CACrB,CAAC,OAAO,CAAA;AAET,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC;CACvD,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,UAAU,EAAE,iCAAiC;CAC9C,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAC/B,4DAA4D,CAAA;AAE9D,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAA;AAEtE,kDAAkD;AAClD,IAAI;IACF,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;CAC9B;AAAC,MAAM;IACN,uCAAuC;CACxC"}
@@ -1,109 +1,117 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.loadCommand = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const commander_1 = require("commander");
10
- const prompts_1 = __importDefault(require("prompts"));
11
- const chalk_1 = __importDefault(require("chalk"));
12
- const lodash_1 = __importDefault(require("lodash"));
13
- const exec_async_child_process_1 = require("../utils/exec-async-child-process");
14
- const wrap_with_loading_indicator_1 = require("../utils/wrap-with-loading-indicator");
15
- const template_app_1 = require("./utils/template-app");
16
- function logSuccess(handle, useYarn, outputDir = '.') {
17
- console.log(`\n \nShop Mini`, chalk_1.default.green.bold(`${handle}`), 'created. Next steps:\n');
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { packageManagerUsedForCreating } from '@shopify/cli-kit/node/node-package-manager';
4
+ import { Command } from 'commander';
5
+ import prompts from 'prompts';
6
+ import chalk from 'chalk';
7
+ import _ from 'lodash';
8
+ import { execAsync } from '../utils/exec-async-child-process.js';
9
+ import { wrapWithLoadingIndicator } from '../utils/wrap-with-loading-indicator.js';
10
+ import { generateMiniFromTemplate } from './utils/template-app.js';
11
+ const TEMPLATES = [
12
+ {
13
+ title: 'Snowdevil',
14
+ description: 'Example of a Shop Mini using prebuilt components',
15
+ value: 'snowboardz',
16
+ },
17
+ {
18
+ title: 'Hello World',
19
+ description: 'Prebuilt components you can play around with',
20
+ value: 'hello_world',
21
+ },
22
+ {
23
+ title: 'Blank',
24
+ value: 'blank',
25
+ description: 'A blank canvas so you can create from scratch',
26
+ },
27
+ ];
28
+ const TEMPLATE_VALUES = TEMPLATES.map(template => template.value);
29
+ function logSuccess(handle, outputDir, useYarn) {
30
+ console.log(`\n \nShop Mini`, chalk.green.bold(`${handle}`), 'created. Next steps:\n');
18
31
  const currentPath = `${process.cwd()}/`;
19
- const cdAbsolutePath = path_1.default.resolve(outputDir, handle);
32
+ const cdAbsolutePath = path.resolve(outputDir, handle);
20
33
  const cdPath = cdAbsolutePath.startsWith(currentPath)
21
34
  ? cdAbsolutePath.replace(currentPath, '')
22
35
  : cdAbsolutePath;
23
- console.log(chalk_1.default.cyan.bold(` cd ${cdPath}`));
24
- console.log(chalk_1.default.dim(' Open your Shop Mini’s directory\n'));
25
- console.log(chalk_1.default.cyan.bold(` ↪ ${useYarn ? 'yarn' : 'npm'} start`));
26
- console.log(chalk_1.default.dim(' Run Shop Mini, and open it on an iOS or Android device.\n'));
27
- console.log(chalk_1.default.cyan(' ↪ ') +
28
- chalk_1.default.cyan.underline.bold('https://shop.app/minis/docs/'));
29
- console.log(chalk_1.default.dim(' Shop Minis documentation.\n \n'));
36
+ console.log(chalk.cyan.bold(` cd ${cdPath}`));
37
+ console.log(chalk.dim(' Open your Shop Mini’s directory\n'));
38
+ console.log(chalk.cyan.bold(` ↪ ${useYarn ? 'yarn' : 'npm'} start`));
39
+ console.log(chalk.dim(' Run Shop Mini, and open it on an iOS or Android device.\n'));
40
+ console.log(chalk.cyan(' ↪ ') +
41
+ chalk.cyan.underline.bold('https://shop.app/minis/docs/'));
42
+ console.log(chalk.dim(' Shop Minis documentation.\n \n'));
30
43
  }
31
- async function promptUser(miniNameArg) {
44
+ async function promptUser(miniNameArg, templateNameArg) {
32
45
  const questions = [];
33
- if (miniNameArg === undefined) {
46
+ if (!miniNameArg) {
34
47
  questions.push({
35
48
  type: 'text',
36
49
  name: 'miniName',
37
- message: `Give your Shop Mini a name. ${chalk_1.default.dim('You can change it later.\n')}`,
50
+ message: `Give your Shop Mini a name. ${chalk.dim('You can change it later.\n')}`,
38
51
  });
39
52
  }
40
- questions.push({
41
- type: 'select',
42
- name: 'templateName',
43
- message: 'Select a template',
44
- choices: [
45
- {
46
- title: 'Snowdevil',
47
- description: 'Example of a Shop Mini using prebuilt components',
48
- value: 'snowboardz',
49
- },
50
- {
51
- title: 'Hello World',
52
- description: 'Prebuilt components you can play around with',
53
- value: 'hello_world',
54
- },
55
- {
56
- title: 'Blank',
57
- value: 'blank',
58
- description: 'A blank canvas so you can create from scratch',
59
- },
60
- ],
61
- initial: 0,
62
- });
53
+ if (!templateNameArg || !TEMPLATE_VALUES.includes(templateNameArg)) {
54
+ // TODO: add some logs if the template name was wrong and explain why we are still prompting for selection
55
+ questions.push({
56
+ type: 'select',
57
+ name: 'templateName',
58
+ message: 'Select a template',
59
+ choices: TEMPLATES,
60
+ initial: 0,
61
+ });
62
+ }
63
+ if (!questions.length) {
64
+ return { miniName: miniNameArg, templateName: templateNameArg };
65
+ }
63
66
  const onCancel = () => {
64
67
  console.log('\nShop Mini creation stopped at your request. Name not saved.\n');
65
68
  process.exit(0);
66
69
  };
67
- const response = await prompts_1.default.prompt(questions, { onCancel });
70
+ const response = await prompts.prompt(questions, { onCancel });
68
71
  return {
69
72
  miniName: miniNameArg || response.miniName,
70
73
  templateName: response.templateName,
71
74
  };
72
75
  }
73
- function loadCommand(parentProgram) {
74
- const command = new commander_1.Command()
76
+ export function loadCommand(parentProgram) {
77
+ const command = new Command()
75
78
  .name('create')
76
79
  .description('Create a new Shop Mini')
77
80
  .argument('[mini name]', 'the name of your mini')
78
- .option('--useYarn', 'Use yarn as package manager instead of npm')
81
+ // TODO: Remove `--useYarn` https://github.com/Shopify/shop-minis-cli/issues/190
82
+ .option('--useYarn', '(deprecated) Use yarn as package manager instead of npm')
83
+ .option('--template [template name]', 'Name of the template to use (blank, hello_world, snowboardz)')
79
84
  .option('--output-dir [path]', 'Specify an output directory for the mini')
80
85
  .action(async (miniNameArg, options = {}) => {
81
- const outputDir = options.outputDir ?? '.';
82
- if (!fs_1.default.existsSync(outputDir)) {
86
+ const currentDirectoryName = path.basename(process.cwd());
87
+ // The default has to be out of the 'shop-minis-cli' directory because the cli is using
88
+ // modules but the mini is a commonjs app. Running a cjs project inside a modules project causes various issues.
89
+ const defaultOutputDir = currentDirectoryName === 'shop-minis-cli' ? '..' : '.';
90
+ const outputDir = options.outputDir ?? defaultOutputDir;
91
+ if (!fs.existsSync(outputDir)) {
83
92
  console.error(`Unable to create a mini at the specified output dir of ${outputDir}`);
84
93
  process.exit(1);
85
94
  }
86
95
  try {
87
- const { miniName, templateName } = await promptUser(miniNameArg);
88
- const handle = lodash_1.default.kebabCase(miniName);
89
- await (0, wrap_with_loading_indicator_1.wrapWithLoadingIndicator)((0, template_app_1.generateMiniFromTemplate)(miniName, handle, templateName, outputDir), {
96
+ const { miniName, templateName } = await promptUser(miniNameArg, options.template);
97
+ const handle = _.kebabCase(miniName);
98
+ await wrapWithLoadingIndicator(generateMiniFromTemplate(miniName, handle, templateName, outputDir), {
90
99
  loadingMessage: 'Fetching template...',
91
100
  successMessage: 'Template fetched',
92
101
  });
102
+ const useYarn = packageManagerUsedForCreating() === 'yarn';
93
103
  // Yarn is ignoring the `resolutions` when you install
94
104
  // via `yarn create @shopify/shop-mini` so use `--ignore-engines` to work around the
95
105
  // problem with `@apollo/federation`
96
106
  // npm fails to install for a similar reason on node 15 but runs fine so we will
97
107
  // use `--force` to get everything installed
98
- const installCmd = options.useYarn
99
- ? 'yarn --ignore-engines'
100
- : 'npm i --force';
101
- await (0, exec_async_child_process_1.execAsync)({
102
- cmd: `cd ${path_1.default.resolve(outputDir, handle)} && ${installCmd}`,
108
+ const installCmd = useYarn ? 'yarn --ignore-engines' : 'npm i --force';
109
+ await execAsync({
110
+ cmd: `cd ${path.resolve(outputDir, handle)} && ${installCmd}`,
103
111
  loadingMessage: 'Installing dependencies. This might take a minute...',
104
112
  successMessage: 'Dependencies installed',
105
113
  });
106
- logSuccess(handle, options.useYarn, outputDir);
114
+ logSuccess(handle, outputDir, useYarn);
107
115
  }
108
116
  catch (err) {
109
117
  console.error(err?.message || err);
@@ -112,5 +120,4 @@ function loadCommand(parentProgram) {
112
120
  });
113
121
  parentProgram.addCommand(command);
114
122
  }
115
- exports.loadCommand = loadCommand;
116
123
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/create-mini/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/create-mini/index.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,11 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateMiniFromTemplate = void 0;
7
- const path_1 = __importDefault(require("path"));
8
- const os_1 = __importDefault(require("os"));
9
- const fs_extra_1 = __importDefault(require("fs-extra"));
10
- const replace_in_file_1 = require("replace-in-file");
11
- const lodash_1 = __importDefault(require("lodash"));
1
+ import url from 'node:url';
2
+ import path from 'path';
3
+ import os from 'os';
4
+ import fs from 'fs-extra';
5
+ import replaceInFile from 'replace-in-file';
6
+ import _ from 'lodash';
7
+ import { CLI_VERSION } from '../../config.js';
8
+ const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
12
9
  async function replaceStringsInTemplate(dir, stringsToReplace) {
13
10
  for (const [replaceKey, replaceValue] of Object.entries(stringsToReplace)) {
14
11
  const replaceOptions = {
@@ -19,26 +16,24 @@ async function replaceStringsInTemplate(dir, stringsToReplace) {
19
16
  ignore: ['**/node_modules/**'],
20
17
  },
21
18
  };
22
- await (0, replace_in_file_1.replaceInFile)(replaceOptions);
19
+ await replaceInFile.replaceInFile(replaceOptions);
23
20
  }
24
21
  }
25
- async function generateMiniFromTemplate(name, handle, templateName, outputDir = '.') {
26
- const tmpDir = await fs_extra_1.default.mkdtemp(path_1.default.join(os_1.default.tmpdir(), `${handle}-`));
27
- const miniTemplateDir = await path_1.default.join(__dirname, '../../../../templates', `__template_${templateName}`);
28
- const miniDestinationDir = path_1.default.resolve(process.cwd(), outputDir, handle);
29
- const CLIVersion = require('../../../../package.json').version; // eslint-disable-line @typescript-eslint/no-var-requires
22
+ export async function generateMiniFromTemplate(name, handle, templateName, outputDir = '.') {
23
+ const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), `${handle}-`));
24
+ const miniTemplateDir = await path.join(__dirname, '../../../../templates', `__template_${templateName}`);
25
+ const miniDestinationDir = path.resolve(process.cwd(), outputDir, handle);
30
26
  const stringsToReplace = {
31
27
  __MINI_APP_NAME__: name,
32
- __MINI_APP_HANDLE_PASCAL_CASE__: lodash_1.default.startCase(handle).replace(/ /g, ''),
28
+ __MINI_APP_HANDLE_PASCAL_CASE__: _.startCase(handle).replace(/ /g, ''),
33
29
  __MINI_APP_HANDLE_KEBAB_CASE__: handle,
34
- __SHOP_MINIS_CLI_VERSION__: CLIVersion,
30
+ __SHOP_MINIS_CLI_VERSION__: CLI_VERSION,
35
31
  };
36
- const commonTemplateFilesDir = await path_1.default.join(__dirname, '../../../../templates', '__template_common');
37
- await fs_extra_1.default.copy(commonTemplateFilesDir, tmpDir);
38
- await fs_extra_1.default.copy(miniTemplateDir, tmpDir);
39
- await fs_extra_1.default.move(path_1.default.join(tmpDir, 'gitignore'), path_1.default.join(tmpDir, '.gitignore'));
32
+ const commonTemplateFilesDir = await path.join(__dirname, '../../../../templates', '__template_common');
33
+ await fs.copy(commonTemplateFilesDir, tmpDir);
34
+ await fs.copy(miniTemplateDir, tmpDir);
35
+ await fs.move(path.join(tmpDir, 'gitignore'), path.join(tmpDir, '.gitignore'));
40
36
  await replaceStringsInTemplate(tmpDir, stringsToReplace);
41
- await fs_extra_1.default.copy(tmpDir, miniDestinationDir);
37
+ await fs.copy(tmpDir, miniDestinationDir);
42
38
  }
43
- exports.generateMiniFromTemplate = generateMiniFromTemplate;
44
39
  //# sourceMappingURL=template-app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-app.js","sourceRoot":"","sources":["../../../../src/commands/create-mini/utils/template-app.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,4CAAmB;AAEnB,wDAAyB;AACzB,qDAA6C;AAC7C,oDAAsB;AAEtB,KAAK,UAAU,wBAAwB,CACrC,GAAW,EACX,gBAAwC;IAExC,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QACzE,MAAM,cAAc,GAAG;YACrB,KAAK,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC;YACxB,IAAI,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC;YACjC,EAAE,EAAE,YAAY;YAChB,eAAe,EAAE;gBACf,MAAM,EAAE,CAAC,oBAAoB,CAAC;aAC/B;SACF,CAAA;QAED,MAAM,IAAA,+BAAa,EAAC,cAAc,CAAC,CAAA;KACpC;AACH,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,IAAY,EACZ,MAAc,EACd,YAAoB,EACpB,SAAS,GAAG,GAAG;IAEf,MAAM,MAAM,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,CAAA;IACrE,MAAM,eAAe,GAAG,MAAM,cAAI,CAAC,IAAI,CACrC,SAAS,EACT,uBAAuB,EACvB,cAAc,YAAY,EAAE,CAC7B,CAAA;IACD,MAAM,kBAAkB,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAEzE,MAAM,UAAU,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAA,CAAC,yDAAyD;IACxH,MAAM,gBAAgB,GAAG;QACvB,iBAAiB,EAAE,IAAI;QACvB,+BAA+B,EAAE,gBAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACtE,8BAA8B,EAAE,MAAM;QACtC,0BAA0B,EAAE,UAAU;KACvC,CAAA;IAED,MAAM,sBAAsB,GAAG,MAAM,cAAI,CAAC,IAAI,CAC5C,SAAS,EACT,uBAAuB,EACvB,mBAAmB,CACpB,CAAA;IAED,MAAM,kBAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAA;IAC7C,MAAM,kBAAE,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IACtC,MAAM,kBAAE,CAAC,IAAI,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IAC9E,MAAM,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACxD,MAAM,kBAAE,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;AAC3C,CAAC;AAjCD,4DAiCC"}
1
+ {"version":3,"file":"template-app.js","sourceRoot":"","sources":["../../../../src/commands/create-mini/utils/template-app.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,OAAO,EAAE,MAAM,UAAU,CAAA;AACzB,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAC3C,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAE3C,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAElE,KAAK,UAAU,wBAAwB,CACrC,GAAW,EACX,gBAAwC;IAExC,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QACzE,MAAM,cAAc,GAAG;YACrB,KAAK,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC;YACxB,IAAI,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC;YACjC,EAAE,EAAE,YAAY;YAChB,eAAe,EAAE;gBACf,MAAM,EAAE,CAAC,oBAAoB,CAAC;aAC/B;SACF,CAAA;QAED,MAAM,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;KAClD;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAY,EACZ,MAAc,EACd,YAAoB,EACpB,SAAS,GAAG,GAAG;IAEf,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC,CAAA;IACrE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,IAAI,CACrC,SAAS,EACT,uBAAuB,EACvB,cAAc,YAAY,EAAE,CAC7B,CAAA;IACD,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAEzE,MAAM,gBAAgB,GAAG;QACvB,iBAAiB,EAAE,IAAI;QACvB,+BAA+B,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACtE,8BAA8B,EAAE,MAAM;QACtC,0BAA0B,EAAE,WAAW;KACxC,CAAA;IAED,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,IAAI,CAC5C,SAAS,EACT,uBAAuB,EACvB,mBAAmB,CACpB,CAAA;IAED,MAAM,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAA;IAC7C,MAAM,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IACtC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IAC9E,MAAM,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACxD,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;AAC3C,CAAC"}
@@ -1,31 +1,24 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.loadCommand = void 0;
7
- const commander_1 = require("commander");
8
- const chalk_1 = __importDefault(require("chalk"));
9
- const internal_ip_1 = require("internal-ip");
10
- const interactive_terminal_1 = require("./utils/interactive-terminal");
11
- const metro_server_1 = require("./utils/metro/metro-server");
12
- const minis_manifest_1 = require("./utils/minis-manifest");
13
- async function loadCommand(parentProgram) {
14
- const ip = await (0, internal_ip_1.v4)();
15
- const command = new commander_1.Command()
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import internalIp from 'internal-ip';
4
+ import { getMiniManifest } from '../utils/minis-manifest.js';
5
+ import { InteractiveTerminal } from './utils/interactive-terminal.js';
6
+ import { runMetro } from './utils/metro/metro-server.js';
7
+ export async function loadCommand(parentProgram) {
8
+ const ip = await internalIp.v4();
9
+ const command = new Command()
16
10
  .name('dev')
17
11
  .version('2.0.0')
18
12
  .description('Start a local dev server for the mini app')
19
13
  .option('--reset-cache', 'reset the dev server cache')
20
14
  .option('--host <host>', "packager's host", ip)
21
15
  .action(async (options) => {
22
- await (0, metro_server_1.runMetro)(options);
23
- const miniHandle = (0, minis_manifest_1.getMiniManifest)().handle;
24
- console.log('Local development environment for', chalk_1.default.green(miniHandle), 'is running...');
25
- const interactiveTerminal = new interactive_terminal_1.InteractiveTerminal(options);
16
+ await runMetro(options);
17
+ const miniHandle = getMiniManifest().handle;
18
+ console.log('Local development environment for', chalk.green(miniHandle), 'is running...');
19
+ const interactiveTerminal = new InteractiveTerminal(options);
26
20
  interactiveTerminal.start();
27
21
  });
28
22
  parentProgram.addCommand(command);
29
23
  }
30
- exports.loadCommand = loadCommand;
31
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/dev/index.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAiC;AACjC,kDAAyB;AACzB,6CAAsC;AAEtC,uEAAgE;AAChE,6DAAmD;AACnD,2DAAsD;AAO/C,KAAK,UAAU,WAAW,CAAC,aAAsB;IACtD,MAAM,EAAE,GAAG,MAAM,IAAA,gBAAI,GAAE,CAAA;IAEvB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE;SAC1B,IAAI,CAAC,KAAK,CAAC;SACX,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,eAAe,EAAE,4BAA4B,CAAC;SACrD,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,EAAE,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAE,EAAE;QAC3C,MAAM,IAAA,uBAAQ,EAAC,OAAO,CAAC,CAAA;QAEvB,MAAM,UAAU,GAAG,IAAA,gCAAe,GAAE,CAAC,MAAM,CAAA;QAC3C,OAAO,CAAC,GAAG,CACT,mCAAmC,EACnC,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EACvB,eAAe,CAChB,CAAA;QAED,MAAM,mBAAmB,GAAG,IAAI,0CAAmB,CAAC,OAAO,CAAC,CAAA;QAC5D,mBAAmB,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEJ,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC;AAxBD,kCAwBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/dev/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,UAAU,MAAM,aAAa,CAAA;AAEpC,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAA;AAE1D,OAAO,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAA;AAOtD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,aAAsB;IACtD,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,CAAA;IAEhC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;SAC1B,IAAI,CAAC,KAAK,CAAC;SACX,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,eAAe,EAAE,4BAA4B,CAAC;SACrD,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,EAAE,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,OAA0B,EAAE,EAAE;QAC3C,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEvB,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC,MAAM,CAAA;QAC3C,OAAO,CAAC,GAAG,CACT,mCAAmC,EACnC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EACvB,eAAe,CAChB,CAAA;QAED,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAA;QAC5D,mBAAmB,CAAC,KAAK,EAAE,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEJ,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC"}