@shopify/cli-kit 3.44.1 → 3.45.0-pre.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 (105) hide show
  1. package/README.md +15 -7
  2. package/assets/cli-ruby/lib/project_types/extension/messages/messages.rb +0 -2
  3. package/assets/cli-ruby/lib/project_types/theme/commands/pull.rb +6 -0
  4. package/assets/cli-ruby/lib/project_types/theme/commands/push.rb +6 -0
  5. package/assets/cli-ruby/lib/shopify_cli/constants.rb +1 -0
  6. package/assets/cli-ruby/lib/shopify_cli/environment.rb +4 -0
  7. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/hot_reload.rb +1 -1
  8. package/assets/cli-ruby/lib/shopify_cli/theme/dev_server/proxy.rb +3 -0
  9. package/assets/cli-ruby/lib/shopify_cli/theme/extension/dev_server.rb +3 -3
  10. package/assets/cli-ruby/lib/shopify_cli/theme/extension/host_theme.rb +4 -4
  11. package/assets/cli-ruby/lib/shopify_cli/theme/extension/syncer/extension_serve_job.rb +4 -6
  12. package/assets/cli-ruby/lib/shopify_cli/theme/extension/ui/host_theme_raw_progress_bar.rb +40 -0
  13. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui/progress_plain.rb +50 -0
  14. package/assets/cli-ruby/vendor/deps/cli-ui/lib/cli/ui.rb +15 -14
  15. package/dist/private/node/api/graphql.js +12 -23
  16. package/dist/private/node/api/graphql.js.map +1 -1
  17. package/dist/private/node/api.d.ts +1 -1
  18. package/dist/private/node/api.js +28 -9
  19. package/dist/private/node/api.js.map +1 -1
  20. package/dist/private/node/constants.d.ts +0 -1
  21. package/dist/private/node/constants.js +0 -1
  22. package/dist/private/node/constants.js.map +1 -1
  23. package/dist/private/node/session/redirect-listener.js +2 -3
  24. package/dist/private/node/session/redirect-listener.js.map +1 -1
  25. package/dist/private/node/session/schema.d.ts +28 -28
  26. package/dist/private/node/session/schema.js +12 -12
  27. package/dist/private/node/session/schema.js.map +1 -1
  28. package/dist/private/node/testing/ui.d.ts +11 -0
  29. package/dist/private/node/testing/ui.js +15 -1
  30. package/dist/private/node/testing/ui.js.map +1 -1
  31. package/dist/private/node/ui/alert.d.ts +5 -1
  32. package/dist/private/node/ui/alert.js +2 -2
  33. package/dist/private/node/ui/alert.js.map +1 -1
  34. package/dist/private/node/ui/components/AutocompletePrompt.js +38 -12
  35. package/dist/private/node/ui/components/AutocompletePrompt.js.map +1 -1
  36. package/dist/private/node/ui/components/AutocompletePrompt.test.js +56 -36
  37. package/dist/private/node/ui/components/AutocompletePrompt.test.js.map +1 -1
  38. package/dist/private/node/ui/components/ConcurrentOutput.d.ts +5 -1
  39. package/dist/private/node/ui/components/ConcurrentOutput.js +15 -13
  40. package/dist/private/node/ui/components/ConcurrentOutput.js.map +1 -1
  41. package/dist/private/node/ui/components/ConcurrentOutput.test.js +20 -11
  42. package/dist/private/node/ui/components/ConcurrentOutput.test.js.map +1 -1
  43. package/dist/private/node/ui/components/FullScreen.js +1 -1
  44. package/dist/private/node/ui/components/FullScreen.js.map +1 -1
  45. package/dist/private/node/ui/components/SelectInput.d.ts +7 -2
  46. package/dist/private/node/ui/components/SelectInput.js +73 -60
  47. package/dist/private/node/ui/components/SelectInput.js.map +1 -1
  48. package/dist/private/node/ui/components/SelectInput.test.js +72 -2
  49. package/dist/private/node/ui/components/SelectInput.test.js.map +1 -1
  50. package/dist/private/node/ui/components/SelectPrompt.js +38 -12
  51. package/dist/private/node/ui/components/SelectPrompt.js.map +1 -1
  52. package/dist/private/node/ui/components/SelectPrompt.test.js +52 -1
  53. package/dist/private/node/ui/components/SelectPrompt.test.js.map +1 -1
  54. package/dist/private/node/ui/components/Tasks.js +9 -1
  55. package/dist/private/node/ui/components/Tasks.js.map +1 -1
  56. package/dist/private/node/ui/components/TextAnimation.js +4 -4
  57. package/dist/private/node/ui/components/TextAnimation.js.map +1 -1
  58. package/dist/private/node/ui/components/TextPrompt.js +4 -4
  59. package/dist/private/node/ui/components/TextPrompt.js.map +1 -1
  60. package/dist/private/node/ui/hooks/use-layout.d.ts +6 -0
  61. package/dist/private/node/ui/hooks/use-layout.js +31 -12
  62. package/dist/private/node/ui/hooks/use-layout.js.map +1 -1
  63. package/dist/private/node/ui.d.ts +11 -3
  64. package/dist/private/node/ui.js +14 -10
  65. package/dist/private/node/ui.js.map +1 -1
  66. package/dist/public/common/object.d.ts +1 -1
  67. package/dist/public/common/object.js +1 -1
  68. package/dist/public/common/object.js.map +1 -1
  69. package/dist/public/common/version.d.ts +1 -1
  70. package/dist/public/common/version.js +1 -1
  71. package/dist/public/common/version.js.map +1 -1
  72. package/dist/public/node/base-command.d.ts +1 -4
  73. package/dist/public/node/base-command.js +17 -19
  74. package/dist/public/node/base-command.js.map +1 -1
  75. package/dist/public/node/context/local.d.ts +0 -7
  76. package/dist/public/node/context/local.js +0 -9
  77. package/dist/public/node/context/local.js.map +1 -1
  78. package/dist/public/node/environments.d.ts +7 -8
  79. package/dist/public/node/environments.js +23 -25
  80. package/dist/public/node/environments.js.map +1 -1
  81. package/dist/public/node/http.d.ts +0 -1
  82. package/dist/public/node/http.js +0 -1
  83. package/dist/public/node/http.js.map +1 -1
  84. package/dist/public/node/node-package-manager.d.ts +1 -1
  85. package/dist/public/node/node-package-manager.js.map +1 -1
  86. package/dist/public/node/output.d.ts +1 -1
  87. package/dist/public/node/output.js.map +1 -1
  88. package/dist/public/node/path.js +1 -1
  89. package/dist/public/node/path.js.map +1 -1
  90. package/dist/public/node/ruby.d.ts +1 -0
  91. package/dist/public/node/ruby.js +35 -15
  92. package/dist/public/node/ruby.js.map +1 -1
  93. package/dist/public/node/schema.d.ts +1 -1
  94. package/dist/public/node/schema.js +1 -1
  95. package/dist/public/node/schema.js.map +1 -1
  96. package/dist/public/node/themes/theme-manager.d.ts +1 -1
  97. package/dist/public/node/themes/theme-manager.js.map +1 -1
  98. package/dist/public/node/ui.d.ts +182 -121
  99. package/dist/public/node/ui.js +172 -120
  100. package/dist/public/node/ui.js.map +1 -1
  101. package/dist/tsconfig.tsbuildinfo +1 -1
  102. package/package.json +20 -19
  103. package/dist/private/node/ui/components/TextWithBackground.d.ts +0 -12
  104. package/dist/private/node/ui/components/TextWithBackground.js +0 -39
  105. package/dist/private/node/ui/components/TextWithBackground.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shopify/cli-kit",
3
- "version": "3.44.1",
3
+ "version": "3.45.0-pre.2",
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": [
@@ -51,7 +51,7 @@
51
51
  "**/node/cli.ts"
52
52
  ],
53
53
  "rules": {
54
- "rulesdir/specific-imports-in-bootstrap-code": [
54
+ "@shopify/cli/specific-imports-in-bootstrap-code": [
55
55
  "error",
56
56
  {
57
57
  "dynamic": [
@@ -82,41 +82,40 @@
82
82
  "abort-controller": "3.0.0",
83
83
  "ansi-escapes": "6.0.0",
84
84
  "archiver": "5.3.1",
85
- "chalk": "5.1.0",
85
+ "chalk": "5.2.0",
86
86
  "change-case": "4.1.2",
87
- "color-json": "3.0.0",
87
+ "color-json": "3.0.5",
88
88
  "commondir": "1.0.1",
89
89
  "conf": "11.0.1",
90
90
  "cross-zip": "4.0.0",
91
- "deepmerge": "4.2.2",
91
+ "deepmerge": "4.3.0",
92
92
  "del": "6.0.0",
93
93
  "env-paths": "3.0.0",
94
94
  "envfile": "6.18.0",
95
95
  "execa": "6.0.0",
96
- "fast-glob": "3.2.11",
96
+ "fast-glob": "3.2.12",
97
97
  "figures": "5.0.0",
98
98
  "find-process": "1.4.7",
99
- "find-up": "6.2.0",
100
- "find-versions": "5.0.0",
99
+ "find-up": "6.3.0",
100
+ "find-versions": "5.1.0",
101
101
  "form-data": "4.0.0",
102
102
  "fs-extra": "11.1.0",
103
103
  "fuzzy": "0.1.3",
104
104
  "get-port-please": "3.0.1",
105
105
  "gradient-string": "2.0.2",
106
106
  "graphql": "16.4.0",
107
- "graphql-request": "4.3.0",
108
- "h3": "0.7.21",
107
+ "graphql-request": "5.2.0",
109
108
  "ink": "3.2.0",
110
109
  "is-interactive": "2.0.0",
111
110
  "js-yaml": "4.1.0",
112
111
  "kill-port-process": "3.1.0",
113
112
  "latest-version": "7.0.0",
114
- "liquidjs": "10.5.0",
113
+ "liquidjs": "10.6.0",
115
114
  "lodash": "4.17.21",
116
115
  "macaddress": "0.5.3",
117
116
  "node-abort-controller": "3.0.1",
118
117
  "node-fetch": "3.2.4",
119
- "open": "8.4.0",
118
+ "open": "8.4.2",
120
119
  "pathe": "1.0.0",
121
120
  "react": "17.0.2",
122
121
  "semver": "7.3.6",
@@ -125,7 +124,7 @@
125
124
  "stacktracey": "2.1.8",
126
125
  "strip-ansi": "7.0.1",
127
126
  "tempy": "3.0.0",
128
- "term-size": "3.0.1",
127
+ "term-size": "3.0.2",
129
128
  "terminal-link": "3.0.0",
130
129
  "tree-kill": "1.2.2",
131
130
  "ts-error": "1.0.6",
@@ -141,14 +140,15 @@
141
140
  "@types/lodash": "4.14.191",
142
141
  "@types/node": "14.18.36",
143
142
  "@types/react": "17.0.2",
144
- "@types/semver": "^7.3.9",
145
- "@vitest/coverage-istanbul": "^0.26.3",
143
+ "@types/semver": "^7.3.13",
144
+ "@vitest/coverage-istanbul": "0.28.5",
146
145
  "ink-testing-library": "^2.1.0",
147
146
  "node-stream-zip": "^1.15.0",
148
- "typedoc": "^0.23.25",
149
- "typescript": "4.9.4",
147
+ "typedoc": "^0.23.26",
148
+ "typescript": "4.9.5",
149
+ "ts-morph": "^17.0.1",
150
150
  "vite": "^2.9.13",
151
- "vitest": "^0.26.3"
151
+ "vitest": "^0.28.5"
152
152
  },
153
153
  "engines": {
154
154
  "node": ">=14.17.0"
@@ -179,6 +179,7 @@
179
179
  "test:js": "nx test:js",
180
180
  "test:coverage": "nx test:coverage",
181
181
  "test:watch": "nx test:watch",
182
- "type-check": "nx type-check"
182
+ "type-check": "nx type-check",
183
+ "refresh-documentation": "nx refresh-documentation"
183
184
  }
184
185
  }
@@ -1,12 +0,0 @@
1
- import { FunctionComponent } from 'react';
2
- import { ForegroundColor } from 'chalk';
3
- interface TextWithBackgroundProps {
4
- text: string;
5
- backgroundColor?: ForegroundColor;
6
- inverse?: boolean;
7
- padding?: number;
8
- paddingX?: number;
9
- paddingY?: number;
10
- }
11
- declare const TextWithBackground: FunctionComponent<TextWithBackgroundProps>;
12
- export { TextWithBackground };
@@ -1,39 +0,0 @@
1
- import useLayout from '../hooks/use-layout.js';
2
- import { Box, Text } from 'ink';
3
- import React, { useCallback } from 'react';
4
- import chalk from 'chalk';
5
- const TopBottomPadding = ({ padding, color, width, inverse }) => {
6
- return (React.createElement(React.Fragment, null, [...Array(padding).keys()].map((index) => (React.createElement(Text, { key: index, backgroundColor: color, inverse: inverse }, ' '.repeat(width))))));
7
- };
8
- const TextWithBackground = ({ backgroundColor, inverse, padding, paddingX, paddingY, text, }) => {
9
- const pY = (padding ? padding : paddingY) ?? 0;
10
- const pX = (padding ? padding : paddingX) ?? 0;
11
- const color = backgroundColor;
12
- const { fullWidth: width } = useLayout();
13
- const textWidth = width - pX * 2;
14
- let colorName;
15
- if (color) {
16
- colorName = `bg${color[0].toUpperCase() + color.slice(1)}`;
17
- }
18
- else if (inverse) {
19
- colorName = 'inverse';
20
- }
21
- else {
22
- throw new Error('Either backgroundColor or inverse must be set');
23
- }
24
- const textTransform = useCallback((textToTransform) => {
25
- // split text into lines of width length
26
- const lines = textToTransform.match(new RegExp(`.{1,${textWidth}}`, 'g')) || [];
27
- // pad each line to width length
28
- const paddedLines = lines.map((line) => `${' '.repeat(pX)}${line}${' '.repeat(pX)}`.padEnd(width, ' '));
29
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
- return chalk[colorName](paddedLines.join('\n'));
31
- }, [colorName, pX, textWidth]);
32
- return (React.createElement(Box, { flexDirection: "column" },
33
- pY ? React.createElement(TopBottomPadding, { padding: pY, color: color, width: width, inverse: inverse }) : null,
34
- React.createElement(Box, { flexGrow: 1 },
35
- React.createElement(Text, null, textTransform(text))),
36
- pY ? React.createElement(TopBottomPadding, { padding: pY, color: color, width: width, inverse: inverse }) : null));
37
- };
38
- export { TextWithBackground };
39
- //# sourceMappingURL=TextWithBackground.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextWithBackground.js","sourceRoot":"","sources":["../../../../../src/private/node/ui/components/TextWithBackground.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAA;AAC7B,OAAO,KAAK,EAAE,EAAoB,WAAW,EAAC,MAAM,OAAO,CAAA;AAC3D,OAAO,KAAwB,MAAM,OAAO,CAAA;AAS5C,MAAM,gBAAgB,GAA6C,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAC,EAAE,EAAE;IACtG,OAAO,CACL,0CACG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACzC,oBAAC,IAAI,IAAC,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,IACvD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CACb,CACR,CAAC,CACD,CACJ,CAAA;AACH,CAAC,CAAA;AAWD,MAAM,kBAAkB,GAA+C,CAAC,EACtE,eAAe,EACf,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,IAAI,GACL,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9C,MAAM,KAAK,GAAG,eAAe,CAAA;IAC7B,MAAM,EAAC,SAAS,EAAE,KAAK,EAAC,GAAG,SAAS,EAAE,CAAA;IACtC,MAAM,SAAS,GAAG,KAAK,GAAG,EAAE,GAAG,CAAC,CAAA;IAChC,IAAI,SAAiB,CAAA;IAErB,IAAI,KAAK,EAAE;QACT,SAAS,GAAG,KAAK,KAAK,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;KAC5D;SAAM,IAAI,OAAO,EAAE;QAClB,SAAS,GAAG,SAAS,CAAA;KACtB;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;KACjE;IAED,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,eAAuB,EAAE,EAAE;QAC1B,wCAAwC;QACxC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QAC/E,gCAAgC;QAChC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;QACvG,8DAA8D;QAC9D,OAAQ,KAAa,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC1D,CAAC,EACD,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,CAAC,CAC3B,CAAA;IAED,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACxB,EAAE,CAAC,CAAC,CAAC,oBAAC,gBAAgB,IAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI;QAE5F,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC;YACd,oBAAC,IAAI,QAAE,aAAa,CAAC,IAAI,CAAC,CAAQ,CAC9B;QAEL,EAAE,CAAC,CAAC,CAAC,oBAAC,gBAAgB,IAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,CACxF,CACP,CAAA;AACH,CAAC,CAAA;AAED,OAAO,EAAC,kBAAkB,EAAC,CAAA","sourcesContent":["import useLayout from '../hooks/use-layout.js'\nimport {Box, Text} from 'ink'\nimport React, {FunctionComponent, useCallback} from 'react'\nimport chalk, {ForegroundColor} from 'chalk'\n\ninterface TopBottomPaddingProps {\n padding: number\n color?: ForegroundColor\n width: number\n inverse?: boolean\n}\n\nconst TopBottomPadding: FunctionComponent<TopBottomPaddingProps> = ({padding, color, width, inverse}) => {\n return (\n <>\n {[...Array(padding).keys()].map((index) => (\n <Text key={index} backgroundColor={color} inverse={inverse}>\n {' '.repeat(width)}\n </Text>\n ))}\n </>\n )\n}\n\ninterface TextWithBackgroundProps {\n text: string\n backgroundColor?: ForegroundColor\n inverse?: boolean\n padding?: number\n paddingX?: number\n paddingY?: number\n}\n\nconst TextWithBackground: FunctionComponent<TextWithBackgroundProps> = ({\n backgroundColor,\n inverse,\n padding,\n paddingX,\n paddingY,\n text,\n}) => {\n const pY = (padding ? padding : paddingY) ?? 0\n const pX = (padding ? padding : paddingX) ?? 0\n const color = backgroundColor\n const {fullWidth: width} = useLayout()\n const textWidth = width - pX * 2\n let colorName: string\n\n if (color) {\n colorName = `bg${color[0]!.toUpperCase() + color.slice(1)}`\n } else if (inverse) {\n colorName = 'inverse'\n } else {\n throw new Error('Either backgroundColor or inverse must be set')\n }\n\n const textTransform = useCallback(\n (textToTransform: string) => {\n // split text into lines of width length\n const lines = textToTransform.match(new RegExp(`.{1,${textWidth}}`, 'g')) || []\n // pad each line to width length\n const paddedLines = lines.map((line) => `${' '.repeat(pX)}${line}${' '.repeat(pX)}`.padEnd(width, ' '))\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (chalk as any)[colorName](paddedLines.join('\\n'))\n },\n [colorName, pX, textWidth],\n )\n\n return (\n <Box flexDirection=\"column\">\n {pY ? <TopBottomPadding padding={pY} color={color} width={width} inverse={inverse} /> : null}\n\n <Box flexGrow={1}>\n <Text>{textTransform(text)}</Text>\n </Box>\n\n {pY ? <TopBottomPadding padding={pY} color={color} width={width} inverse={inverse} /> : null}\n </Box>\n )\n}\n\nexport {TextWithBackground}\n"]}