@shopify/cli-kit 3.47.5 → 3.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/assets/cli-ruby/lib/project_types/extension/messages/messages.rb +18 -1
  2. package/assets/cli-ruby/lib/shopify_cli/constants.rb +1 -0
  3. package/assets/cli-ruby/lib/shopify_cli/environment.rb +7 -0
  4. package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server.rb +8 -2
  5. package/dist/private/node/ui/alert.js +3 -1
  6. package/dist/private/node/ui/alert.js.map +1 -1
  7. package/dist/private/node/ui/components/Alert.d.ts +1 -1
  8. package/dist/private/node/ui/components/Alert.js.map +1 -1
  9. package/dist/private/node/ui/components/AutocompletePrompt.d.ts +7 -2
  10. package/dist/private/node/ui/components/AutocompletePrompt.js +28 -91
  11. package/dist/private/node/ui/components/AutocompletePrompt.js.map +1 -1
  12. package/dist/private/node/ui/components/AutocompletePrompt.test.js +317 -257
  13. package/dist/private/node/ui/components/AutocompletePrompt.test.js.map +1 -1
  14. package/dist/private/node/ui/components/ConcurrentOutput.d.ts +1 -0
  15. package/dist/private/node/ui/components/ConcurrentOutput.js +59 -32
  16. package/dist/private/node/ui/components/ConcurrentOutput.js.map +1 -1
  17. package/dist/private/node/ui/components/ConcurrentOutput.test.js +62 -22
  18. package/dist/private/node/ui/components/ConcurrentOutput.test.js.map +1 -1
  19. package/dist/private/node/ui/components/DangerousConfirmationPrompt.d.ts +12 -0
  20. package/dist/private/node/ui/components/DangerousConfirmationPrompt.js +77 -0
  21. package/dist/private/node/ui/components/DangerousConfirmationPrompt.js.map +1 -0
  22. package/dist/private/node/ui/components/DangerousConfirmationPrompt.test.js +101 -0
  23. package/dist/private/node/ui/components/DangerousConfirmationPrompt.test.js.map +1 -0
  24. package/dist/private/node/ui/components/List.d.ts +1 -0
  25. package/dist/private/node/ui/components/List.js +2 -2
  26. package/dist/private/node/ui/components/List.js.map +1 -1
  27. package/dist/private/node/ui/components/{GitDiff.d.ts → Prompts/GitDiff.d.ts} +4 -2
  28. package/dist/private/node/ui/components/{GitDiff.js → Prompts/GitDiff.js} +3 -2
  29. package/dist/private/node/ui/components/Prompts/GitDiff.js.map +1 -0
  30. package/dist/private/node/ui/components/Prompts/GitDiff.test.d.ts +1 -0
  31. package/dist/private/node/ui/components/{GitDiff.test.js → Prompts/GitDiff.test.js} +50 -28
  32. package/dist/private/node/ui/components/Prompts/GitDiff.test.js.map +1 -0
  33. package/dist/private/node/ui/components/Prompts/InfoMessage.d.ts +14 -0
  34. package/dist/private/node/ui/components/Prompts/InfoMessage.js +11 -0
  35. package/dist/private/node/ui/components/Prompts/InfoMessage.js.map +1 -0
  36. package/dist/private/node/ui/components/Prompts/InfoMessage.test.d.ts +1 -0
  37. package/dist/private/node/ui/components/Prompts/InfoMessage.test.js +21 -0
  38. package/dist/private/node/ui/components/Prompts/InfoMessage.test.js.map +1 -0
  39. package/dist/private/node/ui/components/Prompts/InfoTable.d.ts +1 -0
  40. package/dist/private/node/ui/components/Prompts/InfoTable.js +11 -7
  41. package/dist/private/node/ui/components/Prompts/InfoTable.js.map +1 -1
  42. package/dist/private/node/ui/components/Prompts/InfoTable.test.js +6 -4
  43. package/dist/private/node/ui/components/Prompts/InfoTable.test.js.map +1 -1
  44. package/dist/private/node/ui/components/Prompts/PromptLayout.d.ts +21 -0
  45. package/dist/private/node/ui/components/Prompts/PromptLayout.js +73 -0
  46. package/dist/private/node/ui/components/Prompts/PromptLayout.js.map +1 -0
  47. package/dist/private/node/ui/components/Prompts/PromptLayout.test.d.ts +1 -0
  48. package/dist/private/node/ui/components/Prompts/PromptLayout.test.js +129 -0
  49. package/dist/private/node/ui/components/Prompts/PromptLayout.test.js.map +1 -0
  50. package/dist/private/node/ui/components/Scrollbar.d.ts +10 -0
  51. package/dist/private/node/ui/components/Scrollbar.js +44 -0
  52. package/dist/private/node/ui/components/Scrollbar.js.map +1 -0
  53. package/dist/private/node/ui/components/Scrollbar.test.d.ts +1 -0
  54. package/dist/private/node/ui/components/Scrollbar.test.js +96 -0
  55. package/dist/private/node/ui/components/Scrollbar.test.js.map +1 -0
  56. package/dist/private/node/ui/components/SelectInput.d.ts +3 -6
  57. package/dist/private/node/ui/components/SelectInput.js +57 -41
  58. package/dist/private/node/ui/components/SelectInput.js.map +1 -1
  59. package/dist/private/node/ui/components/SelectInput.test.js +120 -192
  60. package/dist/private/node/ui/components/SelectInput.test.js.map +1 -1
  61. package/dist/private/node/ui/components/SelectPrompt.d.ts +7 -6
  62. package/dist/private/node/ui/components/SelectPrompt.js +11 -68
  63. package/dist/private/node/ui/components/SelectPrompt.js.map +1 -1
  64. package/dist/private/node/ui/components/SelectPrompt.test.js +135 -65
  65. package/dist/private/node/ui/components/SelectPrompt.test.js.map +1 -1
  66. package/dist/private/node/ui/components/Table/Row.js +2 -1
  67. package/dist/private/node/ui/components/Table/Row.js.map +1 -1
  68. package/dist/private/node/ui/components/Table/Table.js +2 -1
  69. package/dist/private/node/ui/components/Table/Table.js.map +1 -1
  70. package/dist/private/node/ui/components/Tasks.js +1 -8
  71. package/dist/private/node/ui/components/Tasks.js.map +1 -1
  72. package/dist/private/node/ui/components/TextInput.d.ts +1 -0
  73. package/dist/private/node/ui/components/TextInput.js +10 -4
  74. package/dist/private/node/ui/components/TextInput.js.map +1 -1
  75. package/dist/private/node/ui/components/TextInput.test.js +27 -18
  76. package/dist/private/node/ui/components/TextInput.test.js.map +1 -1
  77. package/dist/private/node/ui/components/TextPrompt.d.ts +2 -3
  78. package/dist/private/node/ui/components/TextPrompt.js +18 -16
  79. package/dist/private/node/ui/components/TextPrompt.js.map +1 -1
  80. package/dist/private/node/ui/components/TextPrompt.test.js +25 -11
  81. package/dist/private/node/ui/components/TextPrompt.test.js.map +1 -1
  82. package/dist/private/node/ui/hooks/use-prompt.d.ts +18 -0
  83. package/dist/private/node/ui/hooks/use-prompt.js +20 -0
  84. package/dist/private/node/ui/hooks/use-prompt.js.map +1 -0
  85. package/dist/private/node/ui/hooks/use-select-state.d.ts +4 -4
  86. package/dist/private/node/ui/hooks/use-select-state.js +9 -9
  87. package/dist/private/node/ui/hooks/use-select-state.js.map +1 -1
  88. package/dist/public/common/object.d.ts +16 -0
  89. package/dist/public/common/object.js +26 -0
  90. package/dist/public/common/object.js.map +1 -1
  91. package/dist/public/common/string.d.ts +16 -0
  92. package/dist/public/common/string.js +30 -0
  93. package/dist/public/common/string.js.map +1 -1
  94. package/dist/public/common/version.d.ts +1 -1
  95. package/dist/public/common/version.js +1 -1
  96. package/dist/public/common/version.js.map +1 -1
  97. package/dist/public/node/analytics.js +3 -1
  98. package/dist/public/node/analytics.js.map +1 -1
  99. package/dist/public/node/base-command.d.ts +1 -0
  100. package/dist/public/node/base-command.js +21 -1
  101. package/dist/public/node/base-command.js.map +1 -1
  102. package/dist/public/node/figures.d.ts +2 -0
  103. package/dist/public/node/figures.js +3 -0
  104. package/dist/public/node/figures.js.map +1 -0
  105. package/dist/public/node/metadata.d.ts +2 -1
  106. package/dist/public/node/metadata.js +5 -2
  107. package/dist/public/node/metadata.js.map +1 -1
  108. package/dist/public/node/monorail.d.ts +22 -1
  109. package/dist/public/node/monorail.js +1 -1
  110. package/dist/public/node/monorail.js.map +1 -1
  111. package/dist/public/node/output.d.ts +1 -1
  112. package/dist/public/node/output.js +1 -1
  113. package/dist/public/node/output.js.map +1 -1
  114. package/dist/public/node/ruby.d.ts +1 -0
  115. package/dist/public/node/ruby.js +1 -0
  116. package/dist/public/node/ruby.js.map +1 -1
  117. package/dist/public/node/system.js +2 -2
  118. package/dist/public/node/system.js.map +1 -1
  119. package/dist/public/node/themes/models/theme.d.ts +2 -1
  120. package/dist/public/node/themes/models/theme.js +2 -1
  121. package/dist/public/node/themes/models/theme.js.map +1 -1
  122. package/dist/public/node/themes/theme-urls.d.ts +1 -0
  123. package/dist/public/node/themes/theme-urls.js +4 -0
  124. package/dist/public/node/themes/theme-urls.js.map +1 -1
  125. package/dist/public/node/themes/themes-api.d.ts +9 -1
  126. package/dist/public/node/themes/themes-api.js +14 -3
  127. package/dist/public/node/themes/themes-api.js.map +1 -1
  128. package/dist/public/node/toml.d.ts +3 -2
  129. package/dist/public/node/toml.js +5 -2
  130. package/dist/public/node/toml.js.map +1 -1
  131. package/dist/public/node/ui.d.ts +82 -27
  132. package/dist/public/node/ui.js +97 -32
  133. package/dist/public/node/ui.js.map +1 -1
  134. package/dist/tsconfig.tsbuildinfo +1 -1
  135. package/package.json +14 -14
  136. package/dist/private/node/ui/components/GitDiff.js.map +0 -1
  137. package/dist/private/node/ui/components/GitDiff.test.js.map +0 -1
  138. /package/dist/private/node/ui/components/{GitDiff.test.d.ts → DangerousConfirmationPrompt.test.d.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shopify/cli-kit",
3
- "version": "3.47.5",
3
+ "version": "3.48.0",
4
4
  "private": false,
5
5
  "description": "A set of utilities, interfaces, and models that are common across all the platform features",
6
6
  "keywords": [
@@ -78,23 +78,23 @@
78
78
  "dependencies": {
79
79
  "@bugsnag/js": "7.20.2",
80
80
  "@iarna/toml": "2.2.5",
81
- "@oclif/core": "2.8.5",
81
+ "@oclif/core": "2.8.11",
82
82
  "@types/archiver": "5.3.2",
83
83
  "abort-controller": "3.0.0",
84
84
  "ansi-escapes": "6.2.0",
85
85
  "archiver": "5.3.1",
86
- "chalk": "5.2.0",
86
+ "chalk": "5.3.0",
87
87
  "change-case": "4.1.2",
88
88
  "color-json": "3.0.5",
89
89
  "commondir": "1.0.1",
90
90
  "conf": "11.0.1",
91
91
  "cross-zip": "4.0.0",
92
92
  "deepmerge": "4.3.1",
93
- "del": "6.0.0",
93
+ "del": "6.1.1",
94
94
  "env-paths": "3.0.0",
95
95
  "envfile": "6.18.0",
96
96
  "execa": "6.0.0",
97
- "fast-glob": "3.2.12",
97
+ "fast-glob": "3.3.0",
98
98
  "figures": "5.0.0",
99
99
  "find-process": "1.4.7",
100
100
  "find-up": "6.3.0",
@@ -112,17 +112,17 @@
112
112
  "js-yaml": "4.1.0",
113
113
  "kill-port-process": "3.1.0",
114
114
  "latest-version": "7.0.0",
115
- "liquidjs": "10.7.1",
115
+ "liquidjs": "10.8.3",
116
116
  "lodash": "4.17.21",
117
117
  "macaddress": "0.5.3",
118
118
  "mrmime": "1.0.1",
119
119
  "node-abort-controller": "3.1.1",
120
120
  "node-fetch": "3.3.1",
121
121
  "open": "8.4.2",
122
- "pathe": "1.1.0",
122
+ "pathe": "1.1.1",
123
123
  "react": "18.2.0",
124
- "semver": "7.5.1",
125
- "simple-git": "3.19.0",
124
+ "semver": "7.5.3",
125
+ "simple-git": "3.19.1",
126
126
  "source-map-support": "0.5.21",
127
127
  "stacktracey": "2.1.8",
128
128
  "strip-ansi": "7.1.0",
@@ -139,20 +139,20 @@
139
139
  "@types/commondir": "^1.0.0",
140
140
  "@types/cross-zip": "^4.0.0",
141
141
  "@types/diff": "^5.0.3",
142
- "@types/git-diff": "^2.0.0",
142
+ "@types/git-diff": "^2.0.3",
143
143
  "@types/fs-extra": "9.0.13",
144
144
  "@types/gradient-string": "^1.1.2",
145
145
  "@types/lodash": "4.14.195",
146
- "@types/node": "14.18.36",
146
+ "@types/node": "14.18.53",
147
147
  "@types/react": "18.2.0",
148
148
  "@types/semver": "^7.5.0",
149
- "@vitest/coverage-istanbul": "^0.31.4",
149
+ "@vitest/coverage-istanbul": "^0.32.2",
150
150
  "node-stream-zip": "^1.15.0",
151
151
  "ts-morph": "^17.0.1",
152
- "typedoc": "^0.24.7",
152
+ "typedoc": "^0.24.8",
153
153
  "typescript": "4.9.5",
154
154
  "vite": "^4.3.9",
155
- "vitest": "^0.31.0"
155
+ "vitest": "^0.32.2"
156
156
  },
157
157
  "engines": {
158
158
  "node": ">=14.17.0"
@@ -1 +0,0 @@
1
- {"version":3,"file":"GitDiff.js","sourceRoot":"","sources":["../../../../../src/private/node/ui/components/GitDiff.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,mBAAmB,EAAC,MAAM,mCAAmC,CAAA;AAC/E,OAAO,EAAC,IAAI,EAAC,MAAM,KAAK,CAAA;AACxB,OAAO,KAA0B,MAAM,OAAO,CAAA;AAC9C,OAAO,EAAC,aAAa,EAAC,MAAM,QAAQ,CAAA;AAEpC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AAOnC;;;;;;;GAOG;AACH,MAAM,OAAO,GAAoC,CAAC,EAAC,eAAe,EAAE,cAAc,EAAC,EAAe,EAAE;IAClG,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,EAAE,cAAc,EAAE;QAC/D,KAAK,EAAE,mBAAmB,EAAE;QAC5B,uDAAuD;QACvD,KAAK,EAAE,oCAAoC;KAC5C,CAAC,CAAA;IACF,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,oBAAC,IAAI,sBAAmB,CAAA;KAChC;IACD,MAAM,YAAY,GAAG,eAAe;SACjC,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAY,EAAE,KAAa,EAAsB,EAAE;QACvD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QACnC,IAAI,YAAY,KAAK,8BAA8B,EAAE;YACnD,OAAO,SAAS,CAAA;SACjB;aAAM,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACpC,MAAM,UAAU,GAAG,KAAK,KAAK,CAAC,CAAA;YAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;SAC3D;aAAM;YACL,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;gBACxC,OAAO,GAAG,KAAK,GAAG,CAAA;YACpB,CAAC,CAAC,CAAA;SACH;IACH,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAwB,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;SACxD,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,EAAE,CAAA;IACZ,OAAO,oBAAC,IAAI,QAAE,YAAY,CAAQ,CAAA;AACpC,CAAC,CAAA;AAED,OAAO,EAAC,OAAO,EAAC,CAAA","sourcesContent":["import {unstyled, shouldDisplayColors} from '../../../../public/node/output.js'\nimport {Text} from 'ink'\nimport React, {FunctionComponent} from 'react'\nimport {createRequire} from 'module'\n\nconst require = createRequire(import.meta.url)\nconst gitDiff = require('git-diff')\n\nexport interface GitDiffProps {\n baselineContent: string\n updatedContent: string\n}\n\n/**\n * `GitDiff` displays a git diff between two strings.\n * @example\n * \\@\\@ -1,2 +1,2 \\@\\@\n * - deleted line\n * unchanged line\n * + added line\n */\nconst GitDiff: FunctionComponent<GitDiffProps> = ({baselineContent, updatedContent}): JSX.Element => {\n const rawDiffContents = gitDiff(baselineContent, updatedContent, {\n color: shouldDisplayColors(),\n // Show minimal context to accommodate small terminals.\n flags: '--unified=1 --inter-hunk-context=1',\n })\n if (!rawDiffContents) {\n return <Text>No changes.</Text>\n }\n const diffContents = rawDiffContents\n .split('\\n')\n .map((line: string, index: number): string | undefined => {\n const unstyledLine = unstyled(line)\n if (unstyledLine === '\\\') {\n return undefined\n } else if (unstyledLine.match(/^@@/)) {\n const addNewline = index !== 0\n return line.replace('@@', `${addNewline ? '\\n' : ''} @@`)\n } else {\n return line.replace(/([+\\- ])/, (match) => {\n return `${match} `\n })\n }\n })\n .filter((line: string | undefined) => line !== undefined)\n .join('\\n')\n .trimEnd()\n return <Text>{diffContents}</Text>\n}\n\nexport {GitDiff}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"GitDiff.test.js","sourceRoot":"","sources":["../../../../../src/private/node/ui/components/GitDiff.test.tsx"],"names":[],"mappings":"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","sourcesContent":["import {GitDiff} from './GitDiff.js'\nimport {render} from '../../testing/ui.js'\nimport {unstyled} from '../../../../public/node/output.js'\nimport {afterEach, describe, expect, test, vi} from 'vitest'\nimport React from 'react'\n\nafterEach(async () => {\n await vi.unstubAllGlobals()\n})\n\ndescribe('GitDiff', async () => {\n test('renders correctly when no changes exist', async () => {\n const {lastFrame} = render(<GitDiff baselineContent=\"hello\" updatedContent=\"hello\" />)\n\n expect(lastFrame()).toEqual('No changes.')\n })\n\n test('renders correctly when changes exist', async () => {\n const {lastFrame} = render(<GitDiff baselineContent=\"hello\\n\" updatedContent=\"world\\n\" />)\n\n expect(unstyled(lastFrame()!)).toMatchInlineSnapshot(`\n \" @@ -1 +1 @@\n - hello\n + world\"\n `)\n })\n\n test('renders correctly when changes exist and are several lines long', async () => {\n const {lastFrame} = render(<GitDiff baselineContent=\"hello\\nworld\\n\" updatedContent=\"world\\nhello\\n\" />)\n\n expect(unstyled(lastFrame()!)).toMatchInlineSnapshot(`\n \" @@ -1,2 +1,2 @@\n - hello\n world\n + hello\"\n `)\n })\n\n test('displays color correctly', async () => {\n const {lastFrame} = render(<GitDiff baselineContent=\"hello\\nworld\\n\" updatedContent=\"world\\nhello\\n\" />)\n\n expect(lastFrame()).toMatchInlineSnapshot(`\n \"\\u001b[36m @@ -1,2 +1,2 @@\\u001b[m\n \\u001b[31m- hello\\u001b[m\n world\\u001b[m\n \\u001b[32m+ \\u001b[m\\u001b[32mhello\\u001b[m\"\n `)\n })\n\n test('respects no-color mode', async () => {\n vi.stubGlobal('process', {...process, env: {...process.env, FORCE_COLOR: '0'}})\n const {lastFrame} = render(<GitDiff baselineContent=\"hello\\nworld\\n\" updatedContent=\"world\\nhello\\n\" />)\n\n expect(lastFrame()!).toMatchInlineSnapshot(`\n \" @@ -1,2 +1,2 @@\n - hello\n world\n + hello\"\n `)\n })\n\n test('ignores newline changes', async () => {\n const expectedDiff = `\n \" @@ -1,2 +1,2 @@\n - hello\n world\n + hello\"\n `\n // Removing a newline\n\n const {lastFrame} = render(<GitDiff baselineContent=\"hello\\nworld\\n\" updatedContent=\"world\\nhello\" />)\n\n expect(unstyled(lastFrame()!)).toMatchInlineSnapshot(expectedDiff)\n\n const lastFrame2 = render(<GitDiff baselineContent=\"hello\\nworld\\n\" updatedContent=\"world\\nhello\" />).lastFrame\n\n expect(unstyled(lastFrame()!)).toMatchInlineSnapshot(expectedDiff)\n })\n\n test('renders correctly when changes exist in multiple areas of a file', async () => {\n const baselineContent = `hello\nworld\nlorem\nipsum\ndolor\nsit\namet\nfoo\nbar\n`\n const updatedContent = `world\nhello\nlorem\nipsum\ndolor\nsit\namet\nfoo\nqux`\n const {lastFrame} = render(<GitDiff baselineContent={baselineContent} updatedContent={updatedContent} />)\n\n expect(unstyled(lastFrame()!)).toMatchInlineSnapshot(`\n \" @@ -1,3 +1,3 @@\n - hello\n world\n + hello\n lorem\n\n @@ -8,2 +8,2 @@ amet\n foo\n - bar\n + qux\"`)\n })\n})\n"]}