@venizia/ignis-boot 0.2.1-1 → 0.2.1-10

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 (91) hide show
  1. package/dist/cjs/bun/auto-group.d.ts.map +1 -1
  2. package/dist/cjs/bun/auto-group.js +4 -3
  3. package/dist/cjs/bun/auto-group.js.map +1 -1
  4. package/dist/cjs/bun/auto-loader.d.ts +5 -1
  5. package/dist/cjs/bun/auto-loader.d.ts.map +1 -1
  6. package/dist/cjs/bun/auto-loader.js +37 -0
  7. package/dist/cjs/bun/auto-loader.js.map +1 -1
  8. package/dist/cjs/bun/group-resolver.d.ts +2 -1
  9. package/dist/cjs/bun/group-resolver.d.ts.map +1 -1
  10. package/dist/cjs/bun/group-resolver.js +11 -5
  11. package/dist/cjs/bun/group-resolver.js.map +1 -1
  12. package/dist/cjs/bun/index.d.ts +1 -0
  13. package/dist/cjs/bun/index.d.ts.map +1 -1
  14. package/dist/cjs/bun/index.js +1 -0
  15. package/dist/cjs/bun/index.js.map +1 -1
  16. package/dist/cjs/bun/plugin.d.ts +9 -4
  17. package/dist/cjs/bun/plugin.d.ts.map +1 -1
  18. package/dist/cjs/bun/plugin.js +145 -70
  19. package/dist/cjs/bun/plugin.js.map +1 -1
  20. package/dist/cjs/bun/scan-cache.d.ts +22 -0
  21. package/dist/cjs/bun/scan-cache.d.ts.map +1 -0
  22. package/dist/cjs/bun/scan-cache.js +89 -0
  23. package/dist/cjs/bun/scan-cache.js.map +1 -0
  24. package/dist/cjs/bun/sources.d.ts +36 -4
  25. package/dist/cjs/bun/sources.d.ts.map +1 -1
  26. package/dist/cjs/bun/sources.js +83 -16
  27. package/dist/cjs/bun/sources.js.map +1 -1
  28. package/dist/cjs/generator/common/constants.d.ts +4 -0
  29. package/dist/cjs/generator/common/constants.d.ts.map +1 -1
  30. package/dist/cjs/generator/common/constants.js +6 -2
  31. package/dist/cjs/generator/common/constants.js.map +1 -1
  32. package/dist/cjs/generator/emitter.d.ts.map +1 -1
  33. package/dist/cjs/generator/emitter.js +5 -2
  34. package/dist/cjs/generator/emitter.js.map +1 -1
  35. package/dist/cjs/generator/scanner.d.ts.map +1 -1
  36. package/dist/cjs/generator/scanner.js +10 -7
  37. package/dist/cjs/generator/scanner.js.map +1 -1
  38. package/dist/cjs/vite/index.d.ts +2 -0
  39. package/dist/cjs/vite/index.d.ts.map +1 -0
  40. package/dist/cjs/vite/index.js +18 -0
  41. package/dist/cjs/vite/index.js.map +1 -0
  42. package/dist/cjs/vite/plugin.d.ts +33 -0
  43. package/dist/cjs/vite/plugin.d.ts.map +1 -0
  44. package/dist/cjs/vite/plugin.js +51 -0
  45. package/dist/cjs/vite/plugin.js.map +1 -0
  46. package/dist/esm/bun/auto-group.d.ts.map +1 -1
  47. package/dist/esm/bun/auto-group.js +2 -1
  48. package/dist/esm/bun/auto-group.js.map +1 -1
  49. package/dist/esm/bun/auto-loader.d.ts +5 -1
  50. package/dist/esm/bun/auto-loader.d.ts.map +1 -1
  51. package/dist/esm/bun/auto-loader.js +37 -0
  52. package/dist/esm/bun/auto-loader.js.map +1 -1
  53. package/dist/esm/bun/group-resolver.d.ts +2 -1
  54. package/dist/esm/bun/group-resolver.d.ts.map +1 -1
  55. package/dist/esm/bun/group-resolver.js +10 -4
  56. package/dist/esm/bun/group-resolver.js.map +1 -1
  57. package/dist/esm/bun/index.d.ts +1 -0
  58. package/dist/esm/bun/index.d.ts.map +1 -1
  59. package/dist/esm/bun/index.js +1 -0
  60. package/dist/esm/bun/index.js.map +1 -1
  61. package/dist/esm/bun/plugin.d.ts +9 -4
  62. package/dist/esm/bun/plugin.d.ts.map +1 -1
  63. package/dist/esm/bun/plugin.js +146 -71
  64. package/dist/esm/bun/plugin.js.map +1 -1
  65. package/dist/esm/bun/scan-cache.d.ts +22 -0
  66. package/dist/esm/bun/scan-cache.d.ts.map +1 -0
  67. package/dist/esm/bun/scan-cache.js +85 -0
  68. package/dist/esm/bun/scan-cache.js.map +1 -0
  69. package/dist/esm/bun/sources.d.ts +36 -4
  70. package/dist/esm/bun/sources.d.ts.map +1 -1
  71. package/dist/esm/bun/sources.js +84 -17
  72. package/dist/esm/bun/sources.js.map +1 -1
  73. package/dist/esm/generator/common/constants.d.ts +4 -0
  74. package/dist/esm/generator/common/constants.d.ts.map +1 -1
  75. package/dist/esm/generator/common/constants.js +6 -2
  76. package/dist/esm/generator/common/constants.js.map +1 -1
  77. package/dist/esm/generator/emitter.d.ts.map +1 -1
  78. package/dist/esm/generator/emitter.js +5 -2
  79. package/dist/esm/generator/emitter.js.map +1 -1
  80. package/dist/esm/generator/scanner.d.ts.map +1 -1
  81. package/dist/esm/generator/scanner.js +12 -9
  82. package/dist/esm/generator/scanner.js.map +1 -1
  83. package/dist/esm/vite/index.d.ts +2 -0
  84. package/dist/esm/vite/index.d.ts.map +1 -0
  85. package/dist/esm/vite/index.js +2 -0
  86. package/dist/esm/vite/index.js.map +1 -0
  87. package/dist/esm/vite/plugin.d.ts +33 -0
  88. package/dist/esm/vite/plugin.d.ts.map +1 -0
  89. package/dist/esm/vite/plugin.js +47 -0
  90. package/dist/esm/vite/plugin.js.map +1 -0
  91. package/package.json +10 -3
@@ -0,0 +1,33 @@
1
+ /** The slice of Vite's plugin contract this plugin uses - typed here so `@venizia/ignis-boot` does not depend on `vite`. */
2
+ export interface IIgnisVitePlugin {
3
+ name: string;
4
+ enforce: 'pre';
5
+ config: () => {
6
+ optimizeDeps: {
7
+ exclude: string[];
8
+ };
9
+ build: {
10
+ rolldownOptions: {
11
+ output: {
12
+ keepNames: boolean;
13
+ };
14
+ };
15
+ };
16
+ };
17
+ configResolved: (config: {
18
+ root: string;
19
+ }) => void;
20
+ resolveId: (id: string) => string | undefined;
21
+ load: (id: string) => string | undefined;
22
+ transform: (code: string, id: string) => string | undefined;
23
+ watchChange: (id: string) => void;
24
+ }
25
+ /** `IgnisArtifactsPlugin` for Vite: serves `ignis:artifacts`, replaces `@venizia/ignis-boot/auto` with an eager import of it (a browser bundle is tree-shaken only when eager), and inlines every `ArtifactGroup.define` / `application` call. Names are kept in the build, because binding keys are built from `Class.name` and a minifier renames classes. */
26
+ export declare class IgnisArtifactsVitePlugin {
27
+ static readonly RESOLVED_VIRTUAL: string;
28
+ /** `root`: the `src` to scan (default: the one beside the `package.json` of Vite's root). */
29
+ static create(opts?: {
30
+ root?: string;
31
+ }): IIgnisVitePlugin;
32
+ }
33
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/vite/plugin.ts"],"names":[],"mappings":"AAKA,4HAA4H;AAC5H,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM;QACZ,YAAY,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QACpC,KAAK,EAAE;YAAE,eAAe,EAAE;gBAAE,MAAM,EAAE;oBAAE,SAAS,EAAE,OAAO,CAAA;iBAAE,CAAA;aAAE,CAAA;SAAE,CAAC;KAChE,CAAC;IACF,cAAc,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnD,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9C,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACzC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC5D,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,gWAAgW;AAChW,qBAAa,wBAAwB;IACnC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,SAAuC;IAMvE,6FAA6F;IAC7F,MAAM,CAAC,MAAM,CAAC,IAAI,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,gBAAgB;CAqC9D"}
@@ -0,0 +1,47 @@
1
+ import { resolve } from 'node:path';
2
+ import { ArtifactScanner } from '../generator/index.js';
3
+ import { IgnisArtifactsPlugin } from '../bun/plugin.js';
4
+ import { ArtifactSources } from '../bun/sources.js';
5
+ /** `IgnisArtifactsPlugin` for Vite: serves `ignis:artifacts`, replaces `@venizia/ignis-boot/auto` with an eager import of it (a browser bundle is tree-shaken only when eager), and inlines every `ArtifactGroup.define` / `application` call. Names are kept in the build, because binding keys are built from `Class.name` and a minifier renames classes. */
6
+ export class IgnisArtifactsVitePlugin {
7
+ static { this.RESOLVED_VIRTUAL = `\0${IgnisArtifactsPlugin.VIRTUAL}`; }
8
+ static {
9
+ ArtifactSources.useScanner({ scanner: ArtifactScanner.getInstance() });
10
+ }
11
+ /** `root`: the `src` to scan (default: the one beside the `package.json` of Vite's root). */
12
+ static create(opts = {}) {
13
+ let root = opts.root ? resolve(opts.root) : '';
14
+ let groupFiles = new Set();
15
+ const autoModule = `import { ${IgnisArtifactsPlugin.EXPORT_NAME} } from '${IgnisArtifactsPlugin.VIRTUAL}';\nimport { AutoArtifactGroup } from './auto-group';\nexport default new AutoArtifactGroup({ content: ${IgnisArtifactsPlugin.EXPORT_NAME} });\n`;
16
+ return {
17
+ name: IgnisArtifactsPlugin.NAME,
18
+ enforce: 'pre',
19
+ // Pre-bundling would hide `auto` inside a dependency chunk, out of reach of `load`.
20
+ config: () => ({
21
+ optimizeDeps: { exclude: ['@venizia/ignis-boot'] },
22
+ build: { rolldownOptions: { output: { keepNames: true } } },
23
+ }),
24
+ configResolved: config => {
25
+ root ||= ArtifactSources.packageSource({ from: config.root });
26
+ groupFiles = new Set(IgnisArtifactsPlugin.groupDefinitionFiles({ root }));
27
+ },
28
+ resolveId: id => id === IgnisArtifactsPlugin.VIRTUAL ? IgnisArtifactsVitePlugin.RESOLVED_VIRTUAL : undefined,
29
+ load: id => {
30
+ if (id === IgnisArtifactsVitePlugin.RESOLVED_VIRTUAL) {
31
+ return IgnisArtifactsPlugin.render({ root });
32
+ }
33
+ return IgnisArtifactsPlugin.AUTO_MODULE.test(id) ? autoModule : undefined;
34
+ },
35
+ transform: (code, id) => groupFiles.has(id)
36
+ ? IgnisArtifactsPlugin.rewriteGroups({ filePath: id, source: code })
37
+ : undefined,
38
+ // A file added, removed or edited under the root can change the index: rescan on the next load.
39
+ watchChange: id => {
40
+ if (id.startsWith(root)) {
41
+ ArtifactSources.clear();
42
+ }
43
+ },
44
+ };
45
+ }
46
+ }
47
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/vite/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAiBjD,gWAAgW;AAChW,MAAM,OAAO,wBAAwB;aACnB,qBAAgB,GAAG,KAAK,oBAAoB,CAAC,OAAO,EAAE,CAAC;IAEvE;QACE,eAAe,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,6FAA6F;IAC7F,MAAM,CAAC,MAAM,CAAC,OAA0B,EAAE;QACxC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,IAAI,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,MAAM,UAAU,GAAG,YAAY,oBAAoB,CAAC,WAAW,YAAY,oBAAoB,CAAC,OAAO,0GAA0G,oBAAoB,CAAC,WAAW,QAAQ,CAAC;QAE1P,OAAO;YACL,IAAI,EAAE,oBAAoB,CAAC,IAAI;YAC/B,OAAO,EAAE,KAAK;YACd,oFAAoF;YACpF,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;gBACb,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,qBAAqB,CAAC,EAAE;gBAClD,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;aAC5D,CAAC;YACF,cAAc,EAAE,MAAM,CAAC,EAAE;gBACvB,IAAI,KAAK,eAAe,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9D,UAAU,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC;YACD,SAAS,EAAE,EAAE,CAAC,EAAE,CACd,EAAE,KAAK,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;YAC7F,IAAI,EAAE,EAAE,CAAC,EAAE;gBACT,IAAI,EAAE,KAAK,wBAAwB,CAAC,gBAAgB,EAAE,CAAC;oBACrD,OAAO,oBAAoB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/C,CAAC;gBACD,OAAO,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,CAAC;YACD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CACtB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChB,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACpE,CAAC,CAAC,SAAS;YACf,gGAAgG;YAChG,WAAW,EAAE,EAAE,CAAC,EAAE;gBAChB,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,eAAe,CAAC,KAAK,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venizia/ignis-boot",
3
- "version": "0.2.1-1",
3
+ "version": "0.2.1-10",
4
4
  "description": "Build-time artifact index generator for IGNIS applications: scans decorated classes with the TypeScript AST and emits one static registration file per package, so bun build --compile sees plain imports.",
5
5
  "keywords": [
6
6
  "artifact-index",
@@ -61,6 +61,12 @@
61
61
  "require": "./dist/cjs/bun/auto.js",
62
62
  "default": "./dist/cjs/bun/auto.js"
63
63
  },
64
+ "./vite": {
65
+ "types": "./dist/cjs/vite/index.d.ts",
66
+ "import": "./dist/esm/vite/index.js",
67
+ "require": "./dist/cjs/vite/index.js",
68
+ "default": "./dist/cjs/vite/index.js"
69
+ },
64
70
  "./build-info": {
65
71
  "types": "./dist/cjs/build-info/index.d.ts",
66
72
  "import": "./dist/esm/build-info/index.js",
@@ -91,11 +97,12 @@
91
97
  "test:watch": "NODE_ENV=test bun test --watch --env-file=.env.test"
92
98
  },
93
99
  "dependencies": {
94
- "@venizia/ignis-helpers": "^0.2.2-6"
100
+ "@venizia/ignis-helpers": "0.2.2-9",
101
+ "@venizia/ignis-inversion": "0.2.2-6"
95
102
  },
96
103
  "devDependencies": {
97
104
  "@types/bun": "^1.4.1",
98
- "@venizia/dev-configs": "^0.3.1-1",
105
+ "@venizia/dev-configs": "0.3.1-4",
99
106
  "eslint": "^10.10.0",
100
107
  "oxfmt": "0.73.0",
101
108
  "oxlint": "1.88.0",