@shopify/ui-extensions-server-kit 5.2.1 → 5.3.1

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/CHANGELOG.md +12 -0
  2. package/README.md +2 -2
  3. package/dist/ExtensionServerClient/ExtensionServerClient.cjs.js +1 -1
  4. package/dist/ExtensionServerClient/ExtensionServerClient.d.ts +1 -0
  5. package/dist/ExtensionServerClient/ExtensionServerClient.es.js +1 -1
  6. package/dist/ExtensionServerClient/ExtensionServerClient.test.d.ts +8 -0
  7. package/dist/ExtensionServerClient/server-types.d.ts +42 -0
  8. package/dist/context/constants.cjs.js +1 -1
  9. package/dist/context/constants.d.ts +0 -1
  10. package/dist/context/constants.es.js +0 -1
  11. package/dist/context/types.d.ts +1 -0
  12. package/dist/hooks/index.d.ts +0 -2
  13. package/dist/i18n.cjs.js +1 -1
  14. package/dist/i18n.d.ts +1 -20
  15. package/dist/i18n.es.js +0 -1
  16. package/dist/index.cjs.js +1 -1
  17. package/dist/index.es.js +40 -48
  18. package/dist/testing/extensions.cjs.js +1 -1
  19. package/dist/testing/extensions.es.js +2 -2
  20. package/dist/types.cjs.js +1 -1
  21. package/dist/types.d.ts +10 -4
  22. package/dist/types.es.js +2 -2
  23. package/dist/utilities/index.d.ts +0 -1
  24. package/node_modules/@shopify/ui-extensions-test-utils/dist/index.d.ts +3 -0
  25. package/node_modules/@shopify/ui-extensions-test-utils/dist/render.d.ts +2 -0
  26. package/node_modules/@shopify/ui-extensions-test-utils/dist/renderHook.d.ts +17 -0
  27. package/node_modules/@shopify/ui-extensions-test-utils/dist/withProviders.d.ts +9 -0
  28. package/node_modules/@shopify/ui-extensions-test-utils/dist/withProviders.js +1 -0
  29. package/node_modules/@shopify/ui-extensions-test-utils/package.json +2 -3
  30. package/package.json +8 -7
  31. package/project.json +0 -16
  32. package/src/ExtensionServerClient/ExtensionServerClient.test.ts +837 -330
  33. package/src/ExtensionServerClient/ExtensionServerClient.ts +10 -8
  34. package/src/ExtensionServerClient/server-types.ts +55 -0
  35. package/src/ExtensionServerClient/types.ts +2 -0
  36. package/src/context/ExtensionServerProvider.test.tsx +202 -39
  37. package/src/context/ExtensionServerProvider.tsx +1 -0
  38. package/src/context/constants.ts +3 -2
  39. package/src/context/types.ts +1 -0
  40. package/src/hooks/index.ts +0 -2
  41. package/src/i18n.ts +3 -3
  42. package/src/state/reducers/extensionServerReducer.test.ts +2 -2
  43. package/src/testing/extensions.ts +2 -2
  44. package/src/types.ts +9 -4
  45. package/src/utilities/index.ts +0 -1
  46. package/src/utilities/replaceUpdated.ts +1 -0
  47. package/src/utilities/set.ts +1 -0
  48. package/dist/hooks/useExtensionClient.cjs.js +0 -1
  49. package/dist/hooks/useExtensionClient.d.ts +0 -1
  50. package/dist/hooks/useExtensionClient.es.js +0 -8
  51. package/dist/hooks/useExtensionServerEvent.cjs.js +0 -1
  52. package/dist/hooks/useExtensionServerEvent.d.ts +0 -1
  53. package/dist/hooks/useExtensionServerEvent.es.js +0 -9
  54. package/dist/utilities/groupByKey.cjs.js +0 -1
  55. package/dist/utilities/groupByKey.d.ts +0 -3
  56. package/dist/utilities/groupByKey.es.js +0 -6
  57. package/node_modules/@types/node/LICENSE +0 -21
  58. package/node_modules/@types/node/README.md +0 -15
  59. package/node_modules/@types/node/assert/strict.d.ts +0 -8
  60. package/node_modules/@types/node/assert.d.ts +0 -985
  61. package/node_modules/@types/node/async_hooks.d.ts +0 -522
  62. package/node_modules/@types/node/buffer.d.ts +0 -2321
  63. package/node_modules/@types/node/child_process.d.ts +0 -1544
  64. package/node_modules/@types/node/cluster.d.ts +0 -432
  65. package/node_modules/@types/node/console.d.ts +0 -412
  66. package/node_modules/@types/node/constants.d.ts +0 -19
  67. package/node_modules/@types/node/crypto.d.ts +0 -4451
  68. package/node_modules/@types/node/dgram.d.ts +0 -586
  69. package/node_modules/@types/node/diagnostics_channel.d.ts +0 -192
  70. package/node_modules/@types/node/dns/promises.d.ts +0 -381
  71. package/node_modules/@types/node/dns.d.ts +0 -809
  72. package/node_modules/@types/node/dom-events.d.ts +0 -122
  73. package/node_modules/@types/node/domain.d.ts +0 -170
  74. package/node_modules/@types/node/events.d.ts +0 -803
  75. package/node_modules/@types/node/fs/promises.d.ts +0 -1205
  76. package/node_modules/@types/node/fs.d.ts +0 -4211
  77. package/node_modules/@types/node/globals.d.ts +0 -377
  78. package/node_modules/@types/node/globals.global.d.ts +0 -1
  79. package/node_modules/@types/node/http.d.ts +0 -1801
  80. package/node_modules/@types/node/http2.d.ts +0 -2386
  81. package/node_modules/@types/node/https.d.ts +0 -544
  82. package/node_modules/@types/node/index.d.ts +0 -88
  83. package/node_modules/@types/node/inspector.d.ts +0 -2739
  84. package/node_modules/@types/node/module.d.ts +0 -298
  85. package/node_modules/@types/node/net.d.ts +0 -913
  86. package/node_modules/@types/node/os.d.ts +0 -473
  87. package/node_modules/@types/node/package.json +0 -235
  88. package/node_modules/@types/node/path.d.ts +0 -191
  89. package/node_modules/@types/node/perf_hooks.d.ts +0 -626
  90. package/node_modules/@types/node/process.d.ts +0 -1531
  91. package/node_modules/@types/node/punycode.d.ts +0 -117
  92. package/node_modules/@types/node/querystring.d.ts +0 -141
  93. package/node_modules/@types/node/readline/promises.d.ts +0 -143
  94. package/node_modules/@types/node/readline.d.ts +0 -666
  95. package/node_modules/@types/node/repl.d.ts +0 -430
  96. package/node_modules/@types/node/stream/consumers.d.ts +0 -12
  97. package/node_modules/@types/node/stream/promises.d.ts +0 -83
  98. package/node_modules/@types/node/stream/web.d.ts +0 -336
  99. package/node_modules/@types/node/stream.d.ts +0 -1731
  100. package/node_modules/@types/node/string_decoder.d.ts +0 -67
  101. package/node_modules/@types/node/test.d.ts +0 -1113
  102. package/node_modules/@types/node/timers/promises.d.ts +0 -93
  103. package/node_modules/@types/node/timers.d.ts +0 -126
  104. package/node_modules/@types/node/tls.d.ts +0 -1203
  105. package/node_modules/@types/node/trace_events.d.ts +0 -171
  106. package/node_modules/@types/node/ts4.8/assert/strict.d.ts +0 -8
  107. package/node_modules/@types/node/ts4.8/assert.d.ts +0 -985
  108. package/node_modules/@types/node/ts4.8/async_hooks.d.ts +0 -522
  109. package/node_modules/@types/node/ts4.8/buffer.d.ts +0 -2321
  110. package/node_modules/@types/node/ts4.8/child_process.d.ts +0 -1544
  111. package/node_modules/@types/node/ts4.8/cluster.d.ts +0 -432
  112. package/node_modules/@types/node/ts4.8/console.d.ts +0 -412
  113. package/node_modules/@types/node/ts4.8/constants.d.ts +0 -19
  114. package/node_modules/@types/node/ts4.8/crypto.d.ts +0 -4450
  115. package/node_modules/@types/node/ts4.8/dgram.d.ts +0 -586
  116. package/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +0 -192
  117. package/node_modules/@types/node/ts4.8/dns/promises.d.ts +0 -381
  118. package/node_modules/@types/node/ts4.8/dns.d.ts +0 -809
  119. package/node_modules/@types/node/ts4.8/dom-events.d.ts +0 -122
  120. package/node_modules/@types/node/ts4.8/domain.d.ts +0 -170
  121. package/node_modules/@types/node/ts4.8/events.d.ts +0 -754
  122. package/node_modules/@types/node/ts4.8/fs/promises.d.ts +0 -1205
  123. package/node_modules/@types/node/ts4.8/fs.d.ts +0 -4211
  124. package/node_modules/@types/node/ts4.8/globals.d.ts +0 -377
  125. package/node_modules/@types/node/ts4.8/globals.global.d.ts +0 -1
  126. package/node_modules/@types/node/ts4.8/http.d.ts +0 -1801
  127. package/node_modules/@types/node/ts4.8/http2.d.ts +0 -2386
  128. package/node_modules/@types/node/ts4.8/https.d.ts +0 -544
  129. package/node_modules/@types/node/ts4.8/index.d.ts +0 -88
  130. package/node_modules/@types/node/ts4.8/inspector.d.ts +0 -2739
  131. package/node_modules/@types/node/ts4.8/module.d.ts +0 -298
  132. package/node_modules/@types/node/ts4.8/net.d.ts +0 -913
  133. package/node_modules/@types/node/ts4.8/os.d.ts +0 -473
  134. package/node_modules/@types/node/ts4.8/path.d.ts +0 -191
  135. package/node_modules/@types/node/ts4.8/perf_hooks.d.ts +0 -626
  136. package/node_modules/@types/node/ts4.8/process.d.ts +0 -1531
  137. package/node_modules/@types/node/ts4.8/punycode.d.ts +0 -117
  138. package/node_modules/@types/node/ts4.8/querystring.d.ts +0 -141
  139. package/node_modules/@types/node/ts4.8/readline/promises.d.ts +0 -143
  140. package/node_modules/@types/node/ts4.8/readline.d.ts +0 -666
  141. package/node_modules/@types/node/ts4.8/repl.d.ts +0 -430
  142. package/node_modules/@types/node/ts4.8/stream/consumers.d.ts +0 -12
  143. package/node_modules/@types/node/ts4.8/stream/promises.d.ts +0 -83
  144. package/node_modules/@types/node/ts4.8/stream/web.d.ts +0 -336
  145. package/node_modules/@types/node/ts4.8/stream.d.ts +0 -1731
  146. package/node_modules/@types/node/ts4.8/string_decoder.d.ts +0 -67
  147. package/node_modules/@types/node/ts4.8/test.d.ts +0 -1113
  148. package/node_modules/@types/node/ts4.8/timers/promises.d.ts +0 -93
  149. package/node_modules/@types/node/ts4.8/timers.d.ts +0 -126
  150. package/node_modules/@types/node/ts4.8/tls.d.ts +0 -1203
  151. package/node_modules/@types/node/ts4.8/trace_events.d.ts +0 -171
  152. package/node_modules/@types/node/ts4.8/tty.d.ts +0 -206
  153. package/node_modules/@types/node/ts4.8/url.d.ts +0 -937
  154. package/node_modules/@types/node/ts4.8/util.d.ts +0 -2075
  155. package/node_modules/@types/node/ts4.8/v8.d.ts +0 -541
  156. package/node_modules/@types/node/ts4.8/vm.d.ts +0 -667
  157. package/node_modules/@types/node/ts4.8/wasi.d.ts +0 -158
  158. package/node_modules/@types/node/ts4.8/worker_threads.d.ts +0 -692
  159. package/node_modules/@types/node/ts4.8/zlib.d.ts +0 -517
  160. package/node_modules/@types/node/tty.d.ts +0 -206
  161. package/node_modules/@types/node/url.d.ts +0 -937
  162. package/node_modules/@types/node/util.d.ts +0 -2075
  163. package/node_modules/@types/node/v8.d.ts +0 -541
  164. package/node_modules/@types/node/vm.d.ts +0 -667
  165. package/node_modules/@types/node/wasi.d.ts +0 -158
  166. package/node_modules/@types/node/worker_threads.d.ts +0 -692
  167. package/node_modules/@types/node/zlib.d.ts +0 -517
  168. package/src/hooks/useExtensionClient.ts +0 -6
  169. package/src/hooks/useExtensionServerEvent.ts +0 -11
  170. package/src/utilities/groupByKey.ts +0 -3
@@ -1,298 +0,0 @@
1
- /**
2
- * @since v0.3.7
3
- */
4
- declare module "module" {
5
- import { URL } from "node:url";
6
- import { MessagePort } from "node:worker_threads";
7
- namespace Module {
8
- /**
9
- * The `module.syncBuiltinESMExports()` method updates all the live bindings for
10
- * builtin `ES Modules` to match the properties of the `CommonJS` exports. It
11
- * does not add or remove exported names from the `ES Modules`.
12
- *
13
- * ```js
14
- * const fs = require('fs');
15
- * const assert = require('assert');
16
- * const { syncBuiltinESMExports } = require('module');
17
- *
18
- * fs.readFile = newAPI;
19
- *
20
- * delete fs.readFileSync;
21
- *
22
- * function newAPI() {
23
- * // ...
24
- * }
25
- *
26
- * fs.newAPI = newAPI;
27
- *
28
- * syncBuiltinESMExports();
29
- *
30
- * import('fs').then((esmFS) => {
31
- * // It syncs the existing readFile property with the new value
32
- * assert.strictEqual(esmFS.readFile, newAPI);
33
- * // readFileSync has been deleted from the required fs
34
- * assert.strictEqual('readFileSync' in fs, false);
35
- * // syncBuiltinESMExports() does not remove readFileSync from esmFS
36
- * assert.strictEqual('readFileSync' in esmFS, true);
37
- * // syncBuiltinESMExports() does not add names
38
- * assert.strictEqual(esmFS.newAPI, undefined);
39
- * });
40
- * ```
41
- * @since v12.12.0
42
- */
43
- function syncBuiltinESMExports(): void;
44
- /**
45
- * `path` is the resolved path for the file for which a corresponding source map
46
- * should be fetched.
47
- * @since v13.7.0, v12.17.0
48
- */
49
- function findSourceMap(path: string, error?: Error): SourceMap;
50
- interface SourceMapPayload {
51
- file: string;
52
- version: number;
53
- sources: string[];
54
- sourcesContent: string[];
55
- names: string[];
56
- mappings: string;
57
- sourceRoot: string;
58
- }
59
- interface SourceMapping {
60
- generatedLine: number;
61
- generatedColumn: number;
62
- originalSource: string;
63
- originalLine: number;
64
- originalColumn: number;
65
- }
66
- interface SourceOrigin {
67
- /**
68
- * The name of the range in the source map, if one was provided
69
- */
70
- name?: string;
71
- /**
72
- * The file name of the original source, as reported in the SourceMap
73
- */
74
- fileName: string;
75
- /**
76
- * The 1-indexed lineNumber of the corresponding call site in the original source
77
- */
78
- lineNumber: number;
79
- /**
80
- * The 1-indexed columnNumber of the corresponding call site in the original source
81
- */
82
- columnNumber: number;
83
- }
84
- /**
85
- * @since v13.7.0, v12.17.0
86
- */
87
- class SourceMap {
88
- /**
89
- * Getter for the payload used to construct the `SourceMap` instance.
90
- */
91
- readonly payload: SourceMapPayload;
92
- constructor(payload: SourceMapPayload);
93
- /**
94
- * Given a line offset and column offset in the generated source
95
- * file, returns an object representing the SourceMap range in the
96
- * original file if found, or an empty object if not.
97
- *
98
- * The object returned contains the following keys:
99
- *
100
- * The returned value represents the raw range as it appears in the
101
- * SourceMap, based on zero-indexed offsets, _not_ 1-indexed line and
102
- * column numbers as they appear in Error messages and CallSite
103
- * objects.
104
- *
105
- * To get the corresponding 1-indexed line and column numbers from a
106
- * lineNumber and columnNumber as they are reported by Error stacks
107
- * and CallSite objects, use `sourceMap.findOrigin(lineNumber, columnNumber)`
108
- * @param lineOffset The zero-indexed line number offset in the generated source
109
- * @param columnOffset The zero-indexed column number offset in the generated source
110
- */
111
- findEntry(lineOffset: number, columnOffset: number): SourceMapping;
112
- /**
113
- * Given a 1-indexed `lineNumber` and `columnNumber` from a call site in the generated source,
114
- * find the corresponding call site location in the original source.
115
- *
116
- * If the `lineNumber` and `columnNumber` provided are not found in any source map,
117
- * then an empty object is returned.
118
- * @param lineNumber The 1-indexed line number of the call site in the generated source
119
- * @param columnNumber The 1-indexed column number of the call site in the generated source
120
- */
121
- findOrigin(lineNumber: number, columnNumber: number): SourceOrigin | {};
122
- }
123
- /** @deprecated Use `ImportAttributes` instead */
124
- interface ImportAssertions extends ImportAttributes {}
125
- interface ImportAttributes extends NodeJS.Dict<string> {
126
- type?: string | undefined;
127
- }
128
- type ModuleFormat = "builtin" | "commonjs" | "json" | "module" | "wasm";
129
- type ModuleSource = string | ArrayBuffer | NodeJS.TypedArray;
130
- interface GlobalPreloadContext {
131
- port: MessagePort;
132
- }
133
- /**
134
- * @deprecated This hook will be removed in a future version.
135
- * Use `initialize` instead. When a loader has an `initialize` export, `globalPreload` will be ignored.
136
- *
137
- * Sometimes it might be necessary to run some code inside of the same global scope that the application runs in.
138
- * This hook allows the return of a string that is run as a sloppy-mode script on startup.
139
- *
140
- * @param context Information to assist the preload code
141
- * @return Code to run before application startup
142
- */
143
- type GlobalPreloadHook = (context: GlobalPreloadContext) => string;
144
- /**
145
- * The `initialize` hook provides a way to define a custom function that runs in the hooks thread
146
- * when the hooks module is initialized. Initialization happens when the hooks module is registered via `register`.
147
- *
148
- * This hook can receive data from a `register` invocation, including ports and other transferrable objects.
149
- * The return value of `initialize` can be a `Promise`, in which case it will be awaited before the main application thread execution resumes.
150
- */
151
- type InitializeHook<Data = any> = (data: Data) => void | Promise<void>;
152
- interface ResolveHookContext {
153
- /**
154
- * Export conditions of the relevant `package.json`
155
- */
156
- conditions: string[];
157
- /**
158
- * @deprecated Use `importAttributes` instead
159
- */
160
- importAssertions: ImportAttributes;
161
- /**
162
- * An object whose key-value pairs represent the assertions for the module to import
163
- */
164
- importAttributes: ImportAttributes;
165
- /**
166
- * The module importing this one, or undefined if this is the Node.js entry point
167
- */
168
- parentURL: string | undefined;
169
- }
170
- interface ResolveFnOutput {
171
- /**
172
- * A hint to the load hook (it might be ignored)
173
- */
174
- format?: ModuleFormat | null | undefined;
175
- /**
176
- * @deprecated Use `importAttributes` instead
177
- */
178
- importAssertions?: ImportAttributes | undefined;
179
- /**
180
- * The import attributes to use when caching the module (optional; if excluded the input will be used)
181
- */
182
- importAttributes?: ImportAttributes | undefined;
183
- /**
184
- * A signal that this hook intends to terminate the chain of `resolve` hooks.
185
- * @default false
186
- */
187
- shortCircuit?: boolean | undefined;
188
- /**
189
- * The absolute URL to which this input resolves
190
- */
191
- url: string;
192
- }
193
- /**
194
- * The `resolve` hook chain is responsible for resolving file URL for a given module specifier and parent URL, and optionally its format (such as `'module'`) as a hint to the `load` hook.
195
- * If a format is specified, the load hook is ultimately responsible for providing the final `format` value (and it is free to ignore the hint provided by `resolve`);
196
- * if `resolve` provides a format, a custom `load` hook is required even if only to pass the value to the Node.js default `load` hook.
197
- *
198
- * @param specifier The specified URL path of the module to be resolved
199
- * @param context
200
- * @param nextResolve The subsequent `resolve` hook in the chain, or the Node.js default `resolve` hook after the last user-supplied resolve hook
201
- */
202
- type ResolveHook = (
203
- specifier: string,
204
- context: ResolveHookContext,
205
- nextResolve: (
206
- specifier: string,
207
- context?: ResolveHookContext,
208
- ) => ResolveFnOutput | Promise<ResolveFnOutput>,
209
- ) => ResolveFnOutput | Promise<ResolveFnOutput>;
210
- interface LoadHookContext {
211
- /**
212
- * Export conditions of the relevant `package.json`
213
- */
214
- conditions: string[];
215
- /**
216
- * The format optionally supplied by the `resolve` hook chain
217
- */
218
- format: ModuleFormat;
219
- /**
220
- * @deprecated Use `importAttributes` instead
221
- */
222
- importAssertions: ImportAttributes;
223
- /**
224
- * An object whose key-value pairs represent the assertions for the module to import
225
- */
226
- importAttributes: ImportAttributes;
227
- }
228
- interface LoadFnOutput {
229
- format: ModuleFormat;
230
- /**
231
- * A signal that this hook intends to terminate the chain of `resolve` hooks.
232
- * @default false
233
- */
234
- shortCircuit?: boolean | undefined;
235
- /**
236
- * The source for Node.js to evaluate
237
- */
238
- source?: ModuleSource;
239
- }
240
- /**
241
- * The `load` hook provides a way to define a custom method of determining how a URL should be interpreted, retrieved, and parsed.
242
- * It is also in charge of validating the import assertion.
243
- *
244
- * @param url The URL/path of the module to be loaded
245
- * @param context Metadata about the module
246
- * @param nextLoad The subsequent `load` hook in the chain, or the Node.js default `load` hook after the last user-supplied `load` hook
247
- */
248
- type LoadHook = (
249
- url: string,
250
- context: LoadHookContext,
251
- nextLoad: (url: string, context?: LoadHookContext) => LoadFnOutput | Promise<LoadFnOutput>,
252
- ) => LoadFnOutput | Promise<LoadFnOutput>;
253
- }
254
- interface RegisterOptions<Data> {
255
- parentURL: string | URL;
256
- data?: Data | undefined;
257
- transferList?: any[] | undefined;
258
- }
259
- interface Module extends NodeModule {}
260
- class Module {
261
- static runMain(): void;
262
- static wrap(code: string): string;
263
- static createRequire(path: string | URL): NodeRequire;
264
- static builtinModules: string[];
265
- static isBuiltin(moduleName: string): boolean;
266
- static Module: typeof Module;
267
- static register<Data = any>(
268
- specifier: string | URL,
269
- parentURL?: string | URL,
270
- options?: RegisterOptions<Data>,
271
- ): void;
272
- static register<Data = any>(specifier: string | URL, options?: RegisterOptions<Data>): void;
273
- constructor(id: string, parent?: Module);
274
- }
275
- global {
276
- interface ImportMeta {
277
- url: string;
278
- /**
279
- * @experimental
280
- * This feature is only available with the `--experimental-import-meta-resolve`
281
- * command flag enabled.
282
- *
283
- * Provides a module-relative resolution function scoped to each module, returning
284
- * the URL string.
285
- *
286
- * @param specified The module specifier to resolve relative to `parent`.
287
- * @param parent The absolute parent module URL to resolve from. If none
288
- * is specified, the value of `import.meta.url` is used as the default.
289
- */
290
- resolve?(specified: string, parent?: string | URL): Promise<string>;
291
- }
292
- }
293
- export = Module;
294
- }
295
- declare module "node:module" {
296
- import module = require("module");
297
- export = module;
298
- }