@jskit-ai/shell-web 0.1.102 → 0.1.103

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.
@@ -1,7 +1,7 @@
1
1
  export default Object.freeze({
2
2
  packageVersion: 1,
3
3
  packageId: "@jskit-ai/shell-web",
4
- version: "0.1.102",
4
+ version: "0.1.103",
5
5
  kind: "runtime",
6
6
  description: "Web shell layout runtime with outlet-based placement contributions.",
7
7
  dependsOn: [],
@@ -307,7 +307,7 @@ export default Object.freeze({
307
307
  dependencies: {
308
308
  runtime: {
309
309
  "@mdi/js": "^7.4.47",
310
- "@jskit-ai/kernel": "0.1.103"
310
+ "@jskit-ai/kernel": "0.1.104"
311
311
  },
312
312
  dev: {}
313
313
  },
@@ -318,63 +318,61 @@ export default Object.freeze({
318
318
  }
319
319
  },
320
320
  procfile: {},
321
- text: [
321
+ text: [],
322
+ source: [
322
323
  {
323
- op: "append-text",
324
+ op: "ensure-import",
324
325
  file: "packages/main/src/client/providers/MainClientProvider.js",
325
- position: "top",
326
- skipIfContains: "import MenuLinkItem from \"/src/components/menus/MenuLinkItem.vue\";",
327
- value: "import MenuLinkItem from \"/src/components/menus/MenuLinkItem.vue\";\n",
326
+ defaultImport: "MenuLinkItem",
327
+ from: "/src/components/menus/MenuLinkItem.vue",
328
328
  reason: "Bind app-owned shell menu link-item scaffold into local main client provider imports.",
329
329
  category: "shell-web",
330
330
  id: "shell-web-main-client-provider-menu-link-item-import"
331
331
  },
332
332
  {
333
- op: "append-text",
333
+ op: "ensure-import",
334
334
  file: "packages/main/src/client/providers/MainClientProvider.js",
335
- position: "top",
336
- skipIfContains: "import SurfaceAwareMenuLinkItem from \"/src/components/menus/SurfaceAwareMenuLinkItem.vue\";",
337
- value: "import SurfaceAwareMenuLinkItem from \"/src/components/menus/SurfaceAwareMenuLinkItem.vue\";\n",
335
+ defaultImport: "SurfaceAwareMenuLinkItem",
336
+ from: "/src/components/menus/SurfaceAwareMenuLinkItem.vue",
338
337
  reason: "Bind app-owned shell surface-aware menu link-item scaffold into local main client provider imports.",
339
338
  category: "shell-web",
340
339
  id: "shell-web-main-client-provider-surface-aware-menu-link-item-import"
341
340
  },
342
341
  {
343
- op: "append-text",
342
+ op: "ensure-import",
344
343
  file: "packages/main/src/client/providers/MainClientProvider.js",
345
- position: "top",
346
- skipIfContains: "import TabLinkItem from \"/src/components/menus/TabLinkItem.vue\";",
347
- value: "import TabLinkItem from \"/src/components/menus/TabLinkItem.vue\";\n",
344
+ defaultImport: "TabLinkItem",
345
+ from: "/src/components/menus/TabLinkItem.vue",
348
346
  reason: "Bind app-owned shell tab link-item scaffold into local main client provider imports.",
349
347
  category: "shell-web",
350
348
  id: "shell-web-main-client-provider-tab-link-item-import"
351
349
  },
352
350
  {
353
- op: "append-text",
351
+ op: "ensure-call",
354
352
  file: "packages/main/src/client/providers/MainClientProvider.js",
355
- position: "bottom",
356
- skipIfContains: "registerMainClientComponent(\"local.main.ui.menu-link-item\", () => MenuLinkItem);",
357
- value: "\nregisterMainClientComponent(\"local.main.ui.menu-link-item\", () => MenuLinkItem);\n",
353
+ callee: "registerMainClientComponent",
354
+ args: ["\"local.main.ui.menu-link-item\"", "() => MenuLinkItem"],
355
+ beforeClass: "MainClientProvider",
358
356
  reason: "Bind app-owned shell menu link-item token into local main client provider registry.",
359
357
  category: "shell-web",
360
358
  id: "shell-web-main-client-provider-menu-link-item-register"
361
359
  },
362
360
  {
363
- op: "append-text",
361
+ op: "ensure-call",
364
362
  file: "packages/main/src/client/providers/MainClientProvider.js",
365
- position: "bottom",
366
- skipIfContains: "registerMainClientComponent(\"local.main.ui.surface-aware-menu-link-item\", () => SurfaceAwareMenuLinkItem);",
367
- value: "\nregisterMainClientComponent(\"local.main.ui.surface-aware-menu-link-item\", () => SurfaceAwareMenuLinkItem);\n",
363
+ callee: "registerMainClientComponent",
364
+ args: ["\"local.main.ui.surface-aware-menu-link-item\"", "() => SurfaceAwareMenuLinkItem"],
365
+ beforeClass: "MainClientProvider",
368
366
  reason: "Bind app-owned shell surface-aware menu link-item token into local main client provider registry.",
369
367
  category: "shell-web",
370
368
  id: "shell-web-main-client-provider-surface-aware-menu-link-item-register"
371
369
  },
372
370
  {
373
- op: "append-text",
371
+ op: "ensure-call",
374
372
  file: "packages/main/src/client/providers/MainClientProvider.js",
375
- position: "bottom",
376
- skipIfContains: "registerMainClientComponent(\"local.main.ui.tab-link-item\", () => TabLinkItem);",
377
- value: "\nregisterMainClientComponent(\"local.main.ui.tab-link-item\", () => TabLinkItem);\n",
373
+ callee: "registerMainClientComponent",
374
+ args: ["\"local.main.ui.tab-link-item\"", "() => TabLinkItem"],
375
+ beforeClass: "MainClientProvider",
378
376
  reason: "Bind app-owned shell tab link-item token into local main client provider registry.",
379
377
  category: "shell-web",
380
378
  id: "shell-web-main-client-provider-tab-link-item-register"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jskit-ai/shell-web",
3
- "version": "0.1.102",
3
+ "version": "0.1.103",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "test": "node --test"
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@mdi/js": "^7.4.47",
31
- "@jskit-ai/kernel": "0.1.103"
31
+ "@jskit-ai/kernel": "0.1.104"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "pinia": "^3.0.4",
@@ -20,10 +20,10 @@ function findFileMutation(id) {
20
20
  : null;
21
21
  }
22
22
 
23
- function findTextMutation(id) {
24
- const textMutations = descriptor?.mutations?.text;
25
- return Array.isArray(textMutations)
26
- ? textMutations.find((entry) => String(entry?.id || "").trim() === id) || null
23
+ function findSourceMutation(id) {
24
+ const sourceMutations = descriptor?.mutations?.source;
25
+ return Array.isArray(sourceMutations)
26
+ ? sourceMutations.find((entry) => String(entry?.id || "").trim() === id) || null
27
27
  : null;
28
28
  }
29
29
 
@@ -166,62 +166,59 @@ test("shell-web generic link items support the expected shared route and icon be
166
166
  });
167
167
 
168
168
  test("shell-web binds the local link-item wrapper tokens into MainClientProvider", () => {
169
- assert.deepEqual(findTextMutation("shell-web-main-client-provider-menu-link-item-import"), {
170
- op: "append-text",
169
+ assert.deepEqual(findSourceMutation("shell-web-main-client-provider-menu-link-item-import"), {
170
+ op: "ensure-import",
171
171
  file: "packages/main/src/client/providers/MainClientProvider.js",
172
- position: "top",
173
- skipIfContains: "import MenuLinkItem from \"/src/components/menus/MenuLinkItem.vue\";",
174
- value: "import MenuLinkItem from \"/src/components/menus/MenuLinkItem.vue\";\n",
172
+ defaultImport: "MenuLinkItem",
173
+ from: "/src/components/menus/MenuLinkItem.vue",
175
174
  reason: "Bind app-owned shell menu link-item scaffold into local main client provider imports.",
176
175
  category: "shell-web",
177
176
  id: "shell-web-main-client-provider-menu-link-item-import"
178
177
  });
179
- assert.deepEqual(findTextMutation("shell-web-main-client-provider-surface-aware-menu-link-item-import"), {
180
- op: "append-text",
178
+ assert.deepEqual(findSourceMutation("shell-web-main-client-provider-surface-aware-menu-link-item-import"), {
179
+ op: "ensure-import",
181
180
  file: "packages/main/src/client/providers/MainClientProvider.js",
182
- position: "top",
183
- skipIfContains: "import SurfaceAwareMenuLinkItem from \"/src/components/menus/SurfaceAwareMenuLinkItem.vue\";",
184
- value: "import SurfaceAwareMenuLinkItem from \"/src/components/menus/SurfaceAwareMenuLinkItem.vue\";\n",
181
+ defaultImport: "SurfaceAwareMenuLinkItem",
182
+ from: "/src/components/menus/SurfaceAwareMenuLinkItem.vue",
185
183
  reason: "Bind app-owned shell surface-aware menu link-item scaffold into local main client provider imports.",
186
184
  category: "shell-web",
187
185
  id: "shell-web-main-client-provider-surface-aware-menu-link-item-import"
188
186
  });
189
- assert.deepEqual(findTextMutation("shell-web-main-client-provider-tab-link-item-import"), {
190
- op: "append-text",
187
+ assert.deepEqual(findSourceMutation("shell-web-main-client-provider-tab-link-item-import"), {
188
+ op: "ensure-import",
191
189
  file: "packages/main/src/client/providers/MainClientProvider.js",
192
- position: "top",
193
- skipIfContains: "import TabLinkItem from \"/src/components/menus/TabLinkItem.vue\";",
194
- value: "import TabLinkItem from \"/src/components/menus/TabLinkItem.vue\";\n",
190
+ defaultImport: "TabLinkItem",
191
+ from: "/src/components/menus/TabLinkItem.vue",
195
192
  reason: "Bind app-owned shell tab link-item scaffold into local main client provider imports.",
196
193
  category: "shell-web",
197
194
  id: "shell-web-main-client-provider-tab-link-item-import"
198
195
  });
199
- assert.deepEqual(findTextMutation("shell-web-main-client-provider-menu-link-item-register"), {
200
- op: "append-text",
196
+ assert.deepEqual(findSourceMutation("shell-web-main-client-provider-menu-link-item-register"), {
197
+ op: "ensure-call",
201
198
  file: "packages/main/src/client/providers/MainClientProvider.js",
202
- position: "bottom",
203
- skipIfContains: "registerMainClientComponent(\"local.main.ui.menu-link-item\", () => MenuLinkItem);",
204
- value: "\nregisterMainClientComponent(\"local.main.ui.menu-link-item\", () => MenuLinkItem);\n",
199
+ callee: "registerMainClientComponent",
200
+ args: ["\"local.main.ui.menu-link-item\"", "() => MenuLinkItem"],
201
+ beforeClass: "MainClientProvider",
205
202
  reason: "Bind app-owned shell menu link-item token into local main client provider registry.",
206
203
  category: "shell-web",
207
204
  id: "shell-web-main-client-provider-menu-link-item-register"
208
205
  });
209
- assert.deepEqual(findTextMutation("shell-web-main-client-provider-surface-aware-menu-link-item-register"), {
210
- op: "append-text",
206
+ assert.deepEqual(findSourceMutation("shell-web-main-client-provider-surface-aware-menu-link-item-register"), {
207
+ op: "ensure-call",
211
208
  file: "packages/main/src/client/providers/MainClientProvider.js",
212
- position: "bottom",
213
- skipIfContains: "registerMainClientComponent(\"local.main.ui.surface-aware-menu-link-item\", () => SurfaceAwareMenuLinkItem);",
214
- value: "\nregisterMainClientComponent(\"local.main.ui.surface-aware-menu-link-item\", () => SurfaceAwareMenuLinkItem);\n",
209
+ callee: "registerMainClientComponent",
210
+ args: ["\"local.main.ui.surface-aware-menu-link-item\"", "() => SurfaceAwareMenuLinkItem"],
211
+ beforeClass: "MainClientProvider",
215
212
  reason: "Bind app-owned shell surface-aware menu link-item token into local main client provider registry.",
216
213
  category: "shell-web",
217
214
  id: "shell-web-main-client-provider-surface-aware-menu-link-item-register"
218
215
  });
219
- assert.deepEqual(findTextMutation("shell-web-main-client-provider-tab-link-item-register"), {
220
- op: "append-text",
216
+ assert.deepEqual(findSourceMutation("shell-web-main-client-provider-tab-link-item-register"), {
217
+ op: "ensure-call",
221
218
  file: "packages/main/src/client/providers/MainClientProvider.js",
222
- position: "bottom",
223
- skipIfContains: "registerMainClientComponent(\"local.main.ui.tab-link-item\", () => TabLinkItem);",
224
- value: "\nregisterMainClientComponent(\"local.main.ui.tab-link-item\", () => TabLinkItem);\n",
219
+ callee: "registerMainClientComponent",
220
+ args: ["\"local.main.ui.tab-link-item\"", "() => TabLinkItem"],
221
+ beforeClass: "MainClientProvider",
225
222
  reason: "Bind app-owned shell tab link-item token into local main client provider registry.",
226
223
  category: "shell-web",
227
224
  id: "shell-web-main-client-provider-tab-link-item-register"