@vigla/vite-plugin 0.0.0-stage → 0.1.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 (137) hide show
  1. package/dist/api.d.ts +12 -0
  2. package/dist/api.d.ts.map +1 -0
  3. package/dist/api.js +1 -0
  4. package/dist/api.js.map +1 -0
  5. package/dist/compile.d.ts +16 -0
  6. package/dist/compile.d.ts.map +1 -0
  7. package/dist/compile.js +48 -0
  8. package/dist/compile.js.map +1 -0
  9. package/dist/compiler.d.ts +115 -0
  10. package/dist/compiler.d.ts.map +1 -0
  11. package/dist/compiler.js +1 -0
  12. package/dist/compiler.js.map +1 -0
  13. package/dist/config-file.d.ts +10 -0
  14. package/dist/config-file.d.ts.map +1 -0
  15. package/dist/config-file.js +63 -0
  16. package/dist/config-file.js.map +1 -0
  17. package/dist/dependencies.d.ts +3 -0
  18. package/dist/dependencies.d.ts.map +1 -0
  19. package/dist/dependencies.js +40 -0
  20. package/dist/dependencies.js.map +1 -0
  21. package/dist/error.d.ts +7 -0
  22. package/dist/error.d.ts.map +1 -0
  23. package/dist/error.js +49 -0
  24. package/dist/error.js.map +1 -0
  25. package/dist/front-end.d.ts +24 -0
  26. package/dist/front-end.d.ts.map +1 -0
  27. package/dist/front-end.js +120 -0
  28. package/dist/front-end.js.map +1 -0
  29. package/dist/id.d.ts +40 -0
  30. package/dist/id.d.ts.map +1 -0
  31. package/dist/id.js +144 -0
  32. package/dist/id.js.map +1 -0
  33. package/dist/identity.d.ts +41 -0
  34. package/dist/identity.d.ts.map +1 -0
  35. package/dist/identity.js +31 -0
  36. package/dist/identity.js.map +1 -0
  37. package/dist/index.d.ts +21 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +37 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/log.d.ts +17 -0
  42. package/dist/log.d.ts.map +1 -0
  43. package/dist/log.js +92 -0
  44. package/dist/log.js.map +1 -0
  45. package/dist/maps.d.ts +8 -0
  46. package/dist/maps.d.ts.map +1 -0
  47. package/dist/maps.js +37 -0
  48. package/dist/maps.js.map +1 -0
  49. package/dist/messages.d.ts +17 -0
  50. package/dist/messages.d.ts.map +1 -0
  51. package/dist/messages.js +16 -0
  52. package/dist/messages.js.map +1 -0
  53. package/dist/options.d.ts +26 -0
  54. package/dist/options.d.ts.map +1 -0
  55. package/dist/options.js +187 -0
  56. package/dist/options.js.map +1 -0
  57. package/dist/plugins/compile-module.d.ts +5 -0
  58. package/dist/plugins/compile-module.d.ts.map +1 -0
  59. package/dist/plugins/compile-module.js +50 -0
  60. package/dist/plugins/compile-module.js.map +1 -0
  61. package/dist/plugins/compile.d.ts +5 -0
  62. package/dist/plugins/compile.d.ts.map +1 -0
  63. package/dist/plugins/compile.js +40 -0
  64. package/dist/plugins/compile.js.map +1 -0
  65. package/dist/plugins/configure.d.ts +6 -0
  66. package/dist/plugins/configure.d.ts.map +1 -0
  67. package/dist/plugins/configure.js +54 -0
  68. package/dist/plugins/configure.js.map +1 -0
  69. package/dist/plugins/hot-update.d.ts +5 -0
  70. package/dist/plugins/hot-update.d.ts.map +1 -0
  71. package/dist/plugins/hot-update.js +137 -0
  72. package/dist/plugins/hot-update.js.map +1 -0
  73. package/dist/plugins/load.d.ts +6 -0
  74. package/dist/plugins/load.d.ts.map +1 -0
  75. package/dist/plugins/load.js +77 -0
  76. package/dist/plugins/load.js.map +1 -0
  77. package/dist/plugins/optimizer.d.ts +5 -0
  78. package/dist/plugins/optimizer.d.ts.map +1 -0
  79. package/dist/plugins/optimizer.js +174 -0
  80. package/dist/plugins/optimizer.js.map +1 -0
  81. package/dist/plugins/preprocess.d.ts +11 -0
  82. package/dist/plugins/preprocess.d.ts.map +1 -0
  83. package/dist/plugins/preprocess.js +142 -0
  84. package/dist/plugins/preprocess.js.map +1 -0
  85. package/dist/plugins/runtime-scan.d.ts +4 -0
  86. package/dist/plugins/runtime-scan.d.ts.map +1 -0
  87. package/dist/plugins/runtime-scan.js +56 -0
  88. package/dist/plugins/runtime-scan.js.map +1 -0
  89. package/dist/plugins/scan.d.ts +5 -0
  90. package/dist/plugins/scan.d.ts.map +1 -0
  91. package/dist/plugins/scan.js +198 -0
  92. package/dist/plugins/scan.js.map +1 -0
  93. package/dist/preprocess.d.ts +6 -0
  94. package/dist/preprocess.d.ts.map +1 -0
  95. package/dist/preprocess.js +164 -0
  96. package/dist/preprocess.js.map +1 -0
  97. package/dist/public.d.ts +47 -0
  98. package/dist/public.d.ts.map +1 -0
  99. package/dist/public.js +1 -0
  100. package/dist/public.js.map +1 -0
  101. package/dist/vite-config.d.ts +14 -0
  102. package/dist/vite-config.d.ts.map +1 -0
  103. package/dist/vite-config.js +167 -0
  104. package/dist/vite-config.js.map +1 -0
  105. package/dist/warnings.d.ts +6 -0
  106. package/dist/warnings.d.ts.map +1 -0
  107. package/dist/warnings.js +57 -0
  108. package/dist/warnings.js.map +1 -0
  109. package/package.json +24 -5
  110. package/src/api.ts +12 -0
  111. package/src/compile.ts +96 -0
  112. package/src/compiler.ts +129 -0
  113. package/src/config-file.ts +75 -0
  114. package/src/dependencies.ts +47 -0
  115. package/src/error.ts +64 -0
  116. package/src/front-end.ts +146 -0
  117. package/src/id.ts +225 -0
  118. package/src/identity.ts +74 -0
  119. package/src/index.ts +61 -0
  120. package/src/log.ts +105 -0
  121. package/src/maps.ts +36 -0
  122. package/src/messages.ts +40 -0
  123. package/src/options.ts +257 -0
  124. package/src/plugins/compile-module.ts +65 -0
  125. package/src/plugins/compile.ts +49 -0
  126. package/src/plugins/configure.ts +63 -0
  127. package/src/plugins/hot-update.ts +159 -0
  128. package/src/plugins/load.ts +89 -0
  129. package/src/plugins/optimizer.ts +262 -0
  130. package/src/plugins/preprocess.ts +163 -0
  131. package/src/plugins/runtime-scan.ts +75 -0
  132. package/src/plugins/scan.ts +206 -0
  133. package/src/preprocess.ts +190 -0
  134. package/src/public.ts +56 -0
  135. package/src/vite-config.ts +252 -0
  136. package/src/warnings.ts +66 -0
  137. package/README.md +0 -3
package/dist/api.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ import type { CompileOptions } from './compiler.ts';
2
+ import type { FrontEnd } from './front-end.ts';
3
+ import type { IdFilter, IdParser } from './id.ts';
4
+ import type { ResolvedOptions } from './options.ts';
5
+ export interface PluginAPI {
6
+ options: ResolvedOptions;
7
+ moduleOptions: CompileOptions;
8
+ frontEnds: readonly FrontEnd[];
9
+ filter: IdFilter;
10
+ idParser: IdParser;
11
+ }
12
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,aAAa,EAAE,cAAc,CAAC;IAC9B,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC/B,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;CACnB"}
package/dist/api.js ADDED
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import type { Environment } from 'vite';
2
+ import type { CompileOptions, CompileResult } from './compiler.ts';
3
+ import type { ComponentRequest } from './id.ts';
4
+ import type { Identity } from './identity.ts';
5
+ import type { Log } from './log.ts';
6
+ import type { ResolvedOptions } from './options.ts';
7
+ export interface Compiled {
8
+ filename: string;
9
+ normalizedFilename: string;
10
+ cssId: string;
11
+ compiled: CompileResult;
12
+ ssr: boolean;
13
+ }
14
+ export declare function dynamicOptions(options: ResolvedOptions, filename: string, code: string, compileOptions: CompileOptions, environment: Environment, log: Log, scope: string): Promise<Partial<CompileOptions> | undefined>;
15
+ export declare function compileComponent(request: ComponentRequest, code: string, options: ResolvedOptions, environment: Environment, { log, names }: Identity, sourcemap?: object): Promise<Compiled>;
16
+ //# sourceMappingURL=compile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,KAAK,EAAgB,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,QAAQ;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,CAAC;IACxB,GAAG,EAAE,OAAO,CAAC;CACb;AAED,wBAAsB,cAAc,CACnC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC,CAe9C;AAED,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,WAAW,EACxB,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,QAAQ,EACxB,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,CAAC,CA6CnB"}
@@ -0,0 +1,48 @@
1
+ import { basename, combine } from 'vigla/compiler';
2
+ import { enhanceCompileError } from './error.js';
3
+ import { mapToRelative } from './maps.js';
4
+ export async function dynamicOptions(options, filename, code, compileOptions, environment, log, scope) {
5
+ const dynamic = await options.dynamicCompileOptions?.({
6
+ filename,
7
+ code,
8
+ compileOptions,
9
+ environment
10
+ });
11
+ if (dynamic && log.debug.enabled) {
12
+ log.debug(`dynamic compile options for ${filename}: ${JSON.stringify(dynamic)}`, undefined, scope);
13
+ }
14
+ return dynamic || undefined;
15
+ }
16
+ export async function compileComponent(request, code, options, environment, { log, names }, sourcemap) {
17
+ const { filename, normalizedFilename, cssId, ssr, raw, frontEnd } = request;
18
+ const compileOptions = {
19
+ ...options.compilerOptions,
20
+ filename,
21
+ generate: ssr ? 'server' : 'client'
22
+ };
23
+ const dynamic = await dynamicOptions(options, filename, code, compileOptions, environment, log, 'compile');
24
+ const final = dynamic ? { ...compileOptions, ...dynamic } : compileOptions;
25
+ delete final.sourcemap;
26
+ let compiled;
27
+ try {
28
+ compiled = frontEnd.compiler.compile(code, { ...final, filename });
29
+ if (options.server?.config.experimental.hmrPartialAccept &&
30
+ compiled.js.code.includes('import.meta.hot.accept(')) {
31
+ compiled.js.code = compiled.js.code.replaceAll('import.meta.hot.accept(', 'import.meta.hot.acceptExports(["default"],');
32
+ }
33
+ }
34
+ catch (error) {
35
+ enhanceCompileError(error, code, options.preprocess, names.links);
36
+ throw error;
37
+ }
38
+ if (compiled.css?.map && sourcemap) {
39
+ compiled.css.map = combine(basename(filename), [compiled.css.map, sourcemap]);
40
+ }
41
+ mapToRelative(compiled.js?.map, filename);
42
+ mapToRelative(compiled.css?.map, filename);
43
+ if (!raw && options.emitCss !== false && (compiled.css?.code?.trim().length ?? 0) > 0) {
44
+ compiled.js.code += `\nimport ${JSON.stringify(cssId)};\n`;
45
+ }
46
+ return { filename, normalizedFilename, cssId, compiled, ssr };
47
+ }
48
+ //# sourceMappingURL=compile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ import type { Format } from 'vigla/compiler';
2
+ export interface Position {
3
+ line: number;
4
+ column: number;
5
+ character?: number;
6
+ }
7
+ export interface Warning {
8
+ code: string;
9
+ message: string;
10
+ filename?: string;
11
+ start?: Position;
12
+ end?: Position;
13
+ frame?: string;
14
+ }
15
+ export interface CompileError extends Error, Warning {
16
+ }
17
+ export interface SourceMap {
18
+ file?: string;
19
+ sources?: (string | null)[];
20
+ sourceRoot?: string;
21
+ mappings: unknown;
22
+ toUrl?: () => string;
23
+ }
24
+ export interface Code {
25
+ code: string;
26
+ map: SourceMap | null;
27
+ }
28
+ export interface Css extends Code {
29
+ hasGlobal: boolean;
30
+ }
31
+ export interface CompileResult {
32
+ js: Code;
33
+ css: Css | null;
34
+ warnings: Warning[];
35
+ }
36
+ export interface CssHashInput {
37
+ name: string;
38
+ filename: string;
39
+ css: string;
40
+ hash: (input: string) => string;
41
+ }
42
+ export interface Experimental {
43
+ async?: boolean;
44
+ [name: string]: unknown;
45
+ }
46
+ export interface ModuleCompileOptions {
47
+ filename?: string;
48
+ rootDir?: string;
49
+ dev?: boolean;
50
+ generate?: 'client' | 'server' | false;
51
+ warningFilter?: (warning: Warning) => boolean;
52
+ experimental?: Experimental;
53
+ }
54
+ export interface CompileOptions extends ModuleCompileOptions {
55
+ css?: 'injected' | 'external';
56
+ cssHash?: (input: CssHashInput) => string;
57
+ hmr?: boolean;
58
+ sourcemap?: object | string;
59
+ [name: string]: unknown;
60
+ }
61
+ export interface Processed {
62
+ code: string;
63
+ map?: string | object;
64
+ dependencies?: string[];
65
+ attributes?: Record<string, string | boolean>;
66
+ toString?: () => string;
67
+ }
68
+ export type MarkupPreprocessor = (options: {
69
+ content: string;
70
+ filename?: string;
71
+ }) => Processed | void | Promise<Processed | void>;
72
+ export type Preprocessor = (options: {
73
+ content: string;
74
+ attributes: Record<string, string | boolean>;
75
+ markup: string;
76
+ filename?: string;
77
+ }) => Processed | void | Promise<Processed | void>;
78
+ export interface PreprocessorGroup {
79
+ name?: string;
80
+ markup?: MarkupPreprocessor;
81
+ style?: Preprocessor;
82
+ script?: Preprocessor;
83
+ }
84
+ export interface ScriptAttribute {
85
+ name: string;
86
+ value: true | readonly {
87
+ data?: string;
88
+ }[] | object;
89
+ }
90
+ export interface Script {
91
+ attributes: readonly ScriptAttribute[];
92
+ content: {
93
+ start: number;
94
+ end: number;
95
+ body: readonly object[];
96
+ };
97
+ }
98
+ export interface ParsedComponent {
99
+ module?: Script | null;
100
+ instance?: Script | null;
101
+ }
102
+ export type Parse = (source: string, options: {
103
+ modern: true;
104
+ filename?: string;
105
+ }) => ParsedComponent;
106
+ export interface Compiler {
107
+ readonly format?: Format;
108
+ readonly parse?: Parse;
109
+ compile(source: string, options: CompileOptions): CompileResult;
110
+ compileModule(source: string, options: ModuleCompileOptions): CompileResult;
111
+ preprocess(source: string, preprocessor: PreprocessorGroup | PreprocessorGroup[], options?: {
112
+ filename?: string;
113
+ }): Promise<Processed>;
114
+ }
115
+ //# sourceMappingURL=compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import type { UserConfig } from 'vite';
2
+ import type { Identity } from './identity.ts';
3
+ import type { Config, Options } from './public.ts';
4
+ export type LoadedConfig = Partial<Config> & {
5
+ configFile?: string;
6
+ };
7
+ export declare function configNames(stems: readonly string[]): string[];
8
+ export declare function loadConfigFile(viteConfig: UserConfig | undefined, inline: Partial<Options> | undefined, stems: readonly string[], identity: Identity): Promise<LoadedConfig | undefined>;
9
+ export declare function loadConfig(identity: Identity, viteConfig?: UserConfig, inline?: Partial<Options>, stem?: string): Promise<LoadedConfig | undefined>;
10
+ //# sourceMappingURL=config-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../src/config-file.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErE,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAI9D;AA4BD,wBAAsB,cAAc,CACnC,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,EACpC,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAanC;AAED,wBAAsB,UAAU,CAC/B,QAAQ,EAAE,QAAQ,EAClB,UAAU,CAAC,EAAE,UAAU,EACvB,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAMnC"}
@@ -0,0 +1,63 @@
1
+ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
2
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
3
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
4
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
5
+ });
6
+ }
7
+ return path;
8
+ };
9
+ import fs from 'node:fs';
10
+ import path from 'node:path';
11
+ import process from 'node:process';
12
+ import { pathToFileURL } from 'node:url';
13
+ import { frontEnds } from './front-end.js';
14
+ export function configNames(stems) {
15
+ return stems.flatMap((stem) => ['js', 'ts', 'mjs', 'mts'].map((extension) => `${stem}.${extension}`));
16
+ }
17
+ function find(root, inline, stems, { log, messages }) {
18
+ if (inline?.configFile) {
19
+ const file = path.isAbsolute(inline.configFile)
20
+ ? inline.configFile
21
+ : path.resolve(root, inline.configFile);
22
+ if (!fs.existsSync(file))
23
+ throw new Error(messages.configNotFound(file));
24
+ return file;
25
+ }
26
+ const existing = configNames(stems)
27
+ .map((name) => path.resolve(root, name))
28
+ .filter((file) => fs.existsSync(file));
29
+ if (existing.length === 0) {
30
+ log.info(messages.configAbsent(root));
31
+ return undefined;
32
+ }
33
+ if (existing.length > 1) {
34
+ log.warn(messages.configsMultiple(existing[0]), existing);
35
+ }
36
+ return existing[0];
37
+ }
38
+ export async function loadConfigFile(viteConfig, inline, stems, identity) {
39
+ if (inline?.configFile === false)
40
+ return undefined;
41
+ const file = find(viteConfig?.root || process.cwd(), inline, stems, identity);
42
+ if (file === undefined)
43
+ return undefined;
44
+ try {
45
+ const url = `${pathToFileURL(file).href}?t=${fs.statSync(file).mtimeMs}`;
46
+ const loaded = (await import(__rewriteRelativeImportExtension(url))).default;
47
+ if (loaded == null)
48
+ throw new Error(`invalid export in ${file}`);
49
+ return { ...loaded, configFile: file };
50
+ }
51
+ catch (error) {
52
+ identity.log.error(`failed to import config ${file}`, error);
53
+ throw error;
54
+ }
55
+ }
56
+ export async function loadConfig(identity, viteConfig, inline, stem) {
57
+ if (inline?.configFile === false)
58
+ return undefined;
59
+ const root = viteConfig?.root || process.cwd();
60
+ const stems = stem === undefined ? (await frontEnds(root)).map((frontEnd) => frontEnd.config) : [stem];
61
+ return loadConfigFile(viteConfig, inline, stems, identity);
62
+ }
63
+ //# sourceMappingURL=config-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-file.js","sourceRoot":"","sources":["../src/config-file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Names } from './identity.ts';
2
+ export declare function shipsNoSources(names: Names, dependency: string): boolean;
3
+ //# sourceMappingURL=dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.d.ts","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAoC3C,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAUxE"}
@@ -0,0 +1,40 @@
1
+ const withoutSources = [
2
+ '@lukeed/uuid',
3
+ '@playwright/test',
4
+ 'autoprefixer',
5
+ 'cookie',
6
+ 'dotenv',
7
+ 'esbuild',
8
+ 'eslint',
9
+ 'jest',
10
+ 'mdsvex',
11
+ 'playwright',
12
+ 'postcss',
13
+ 'prettier',
14
+ 'tslib',
15
+ 'typescript',
16
+ 'vite',
17
+ 'vitest',
18
+ '__vite-browser-external'
19
+ ];
20
+ const prefixesWithoutSources = [
21
+ '@fontsource/',
22
+ '@postcss-plugins/',
23
+ '@rollup/',
24
+ '@types/',
25
+ '@typescript-eslint/',
26
+ 'eslint-',
27
+ 'jest-',
28
+ 'postcss-plugin-',
29
+ 'prettier-plugin-',
30
+ 'rollup-plugin-',
31
+ 'vite-plugin-'
32
+ ];
33
+ export function shipsNoSources(names, dependency) {
34
+ const exact = [...withoutSources, ...names.withoutSources];
35
+ return (exact.includes(dependency) ||
36
+ [...prefixesWithoutSources, ...names.withoutSourcesPrefixes].some((prefix) => prefix.startsWith('@')
37
+ ? dependency.startsWith(prefix)
38
+ : dependency.substring(dependency.lastIndexOf('/') + 1).startsWith(prefix)));
39
+ }
40
+ //# sourceMappingURL=dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG;IACtB,cAAc;IACd,kBAAkB;IAClB,cAAc;IACd,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,YAAY;IACZ,SAAS;IACT,UAAU;IACV,OAAO;IACP,YAAY;IACZ,MAAM;IACN,QAAQ;IACR,yBAAyB;CACzB,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC9B,cAAc;IACd,mBAAmB;IACnB,UAAU;IACV,SAAS;IACT,qBAAqB;IACrB,SAAS;IACT,OAAO;IACP,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,cAAc;CACd,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,KAAY,EAAE,UAAkB;IAC9D,MAAM,KAAK,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IAC3D,OAAO,CACN,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1B,CAAC,GAAG,sBAAsB,EAAE,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAC5E,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;YACrB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC;YAC/B,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAC3E,CACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Rollup } from 'vite';
2
+ import type { CompileError, PreprocessorGroup } from './compiler.ts';
3
+ import type { Links } from './identity.ts';
4
+ import { type ResolvedOptions } from './options.ts';
5
+ export declare function toRollupError(error: CompileError, options: ResolvedOptions): Rollup.RollupError;
6
+ export declare function enhanceCompileError(error: CompileError, source: string, preprocess: PreprocessorGroup | PreprocessorGroup[] | undefined, links: Links): CompileError;
7
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAW,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAa7D,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM,CAAC,WAAW,CAY/F;AAMD,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,SAAS,EAC/D,KAAK,EAAE,KAAK,GACV,YAAY,CAuBd"}
package/dist/error.js ADDED
@@ -0,0 +1,49 @@
1
+ import { buildExtendedLogMessage } from './log.js';
2
+ import { arraify } from './options.js';
3
+ const styleTag = /<!--[^]*?-->|<style((?:\s+[^=>'"/]+=(?:"[^"]*"|'[^']*'|[^>\s]+)|\s+[^=>'"/]+)*\s*)(?:\/>|>([\S\s]*?)<\/style>)/g;
4
+ function viteFrame(frame) {
5
+ if (!frame)
6
+ return '';
7
+ return frame
8
+ .split('\n')
9
+ .map((line) => (/^\s+\^/.test(line) ? ` ${line}` : ` ${line.replace(':', ' | ')}`))
10
+ .join('\n');
11
+ }
12
+ export function toRollupError(error, options) {
13
+ const { filename, frame, start, code, name, stack } = error;
14
+ const converted = {
15
+ name,
16
+ id: filename,
17
+ message: buildExtendedLogMessage(error),
18
+ frame: viteFrame(frame),
19
+ code,
20
+ stack: options.isBuild || options.isDebug || !frame ? stack : ''
21
+ };
22
+ if (start)
23
+ converted.loc = { line: start.line, column: start.column, file: filename };
24
+ return converted;
25
+ }
26
+ function fixableByCssPreprocessor(code) {
27
+ return code === 'expected_token' || code === 'unexpected_eof' || !!code?.startsWith('css_');
28
+ }
29
+ export function enhanceCompileError(error, source, preprocess, links) {
30
+ const groups = arraify(preprocess);
31
+ const notes = [];
32
+ if (fixableByCssPreprocessor(error.code)) {
33
+ for (const match of source.matchAll(styleTag)) {
34
+ if (match[0].startsWith('<!--'))
35
+ continue;
36
+ if (!match[1]?.includes('lang=')) {
37
+ notes.push('Did you forget to add a lang attribute to your style tag?');
38
+ }
39
+ if (groups.every((group) => group.style == null || group.name === 'inject-scope-everything-rule')) {
40
+ const lang = match[1]?.match(/lang="(.+?)"/)?.[1] ?? 'style';
41
+ notes.push(`Did you forget to add a ${lang} preprocessor?${links.preprocess ? ` See ${links.preprocess} for more information.` : ''}`);
42
+ }
43
+ }
44
+ }
45
+ if (notes.length > 0)
46
+ error.message += `\n\n- ${notes.join('\n- ')}`;
47
+ return error;
48
+ }
49
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { Compiler } from './compiler.ts';
2
+ export interface ModulePattern {
3
+ readonly infixes: readonly string[];
4
+ readonly extensions: readonly string[];
5
+ }
6
+ export interface Declaration {
7
+ readonly compiler: string;
8
+ readonly components: readonly string[];
9
+ readonly modules: ModulePattern;
10
+ readonly condition: string;
11
+ readonly config: string;
12
+ }
13
+ export interface FrontEnd {
14
+ readonly name: string;
15
+ readonly compiler: Compiler;
16
+ readonly compilerImport: string;
17
+ readonly components: readonly string[];
18
+ readonly modules: ModulePattern;
19
+ readonly condition: string;
20
+ readonly config: string;
21
+ readonly imports: readonly string[];
22
+ }
23
+ export declare function frontEnds(root: string): Promise<FrontEnd[]>;
24
+ //# sourceMappingURL=front-end.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"front-end.d.ts","sourceRoot":"","sources":["../src/front-end.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AA6GD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAO3D"}
@@ -0,0 +1,120 @@
1
+ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
2
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
3
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
4
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
5
+ });
6
+ }
7
+ return path;
8
+ };
9
+ import { existsSync, readFileSync } from 'node:fs';
10
+ import path from 'node:path';
11
+ import { pathToFileURL } from 'node:url';
12
+ import { searchForWorkspaceRoot } from 'vite';
13
+ import { findDepPkgJsonPath } from 'vitefu';
14
+ const conditions = ['node', 'import', 'default'];
15
+ const found = new Map();
16
+ function read(file) {
17
+ return JSON.parse(readFileSync(file, 'utf8'));
18
+ }
19
+ function target(entry) {
20
+ if (typeof entry === 'string')
21
+ return entry;
22
+ if (Array.isArray(entry)) {
23
+ for (const item of entry) {
24
+ const resolved = target(item);
25
+ if (resolved !== undefined)
26
+ return resolved;
27
+ }
28
+ return undefined;
29
+ }
30
+ if (entry === null || typeof entry !== 'object')
31
+ return undefined;
32
+ for (const [condition, value] of Object.entries(entry)) {
33
+ if (!conditions.includes(condition))
34
+ continue;
35
+ const resolved = target(value);
36
+ if (resolved !== undefined)
37
+ return resolved;
38
+ }
39
+ return undefined;
40
+ }
41
+ function typesOnly(entry) {
42
+ return (entry !== null &&
43
+ typeof entry === 'object' &&
44
+ !Array.isArray(entry) &&
45
+ Object.keys(entry).length === 1 &&
46
+ 'types' in entry);
47
+ }
48
+ function exported(manifest) {
49
+ const exports = manifest.exports;
50
+ if (exports === undefined || exports === null)
51
+ return {};
52
+ if (typeof exports === 'string' || Array.isArray(exports))
53
+ return { '.': exports };
54
+ const keys = Object.keys(exports);
55
+ if (keys.length > 0 && !keys[0]?.startsWith('.'))
56
+ return { '.': exports };
57
+ return exports;
58
+ }
59
+ function imports(name, manifest) {
60
+ return Object.entries(exported(manifest))
61
+ .filter(([key, entry]) => key !== './package.json' && !typesOnly(entry))
62
+ .map(([key]) => key.replace(/^\./, name));
63
+ }
64
+ async function load(name, file, manifest) {
65
+ const declaration = manifest.vigla?.frontEnd;
66
+ const entry = target(exported(manifest)[declaration.compiler]);
67
+ if (entry === undefined) {
68
+ throw new Error(`${name} declares compiler ${declaration.compiler} but exports no such entry`);
69
+ }
70
+ const url = pathToFileURL(path.join(path.dirname(file), entry)).href;
71
+ const compiler = (await import(__rewriteRelativeImportExtension(url)));
72
+ return {
73
+ name,
74
+ compiler,
75
+ compilerImport: declaration.compiler.replace(/^\./, name),
76
+ components: declaration.components,
77
+ modules: declaration.modules,
78
+ condition: declaration.condition,
79
+ config: declaration.config,
80
+ imports: imports(name, manifest)
81
+ };
82
+ }
83
+ function dependencies(dir) {
84
+ const file = path.join(dir, 'package.json');
85
+ if (!existsSync(file))
86
+ return [];
87
+ const manifest = read(file);
88
+ return [
89
+ ...Object.keys(manifest.dependencies ?? {}),
90
+ ...Object.keys(manifest.devDependencies ?? {})
91
+ ];
92
+ }
93
+ async function discover(root) {
94
+ const seen = new Set();
95
+ const loading = [];
96
+ const workspace = searchForWorkspaceRoot(root);
97
+ for (const dir of workspace === root ? [root] : [root, workspace]) {
98
+ for (const name of dependencies(dir)) {
99
+ if (seen.has(name))
100
+ continue;
101
+ seen.add(name);
102
+ const file = await findDepPkgJsonPath(name, dir);
103
+ if (file === undefined)
104
+ continue;
105
+ const manifest = read(file);
106
+ if (manifest.vigla?.frontEnd !== undefined)
107
+ loading.push(load(name, file, manifest));
108
+ }
109
+ }
110
+ return Promise.all(loading);
111
+ }
112
+ export function frontEnds(root) {
113
+ let pending = found.get(root);
114
+ if (pending === undefined) {
115
+ pending = discover(root);
116
+ found.set(root, pending);
117
+ }
118
+ return pending;
119
+ }
120
+ //# sourceMappingURL=front-end.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"front-end.js","sourceRoot":"","sources":["../src/front-end.ts"],"names":[],"mappings":"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"}
package/dist/id.d.ts ADDED
@@ -0,0 +1,40 @@
1
+ import type { CompileOptions } from './compiler.ts';
2
+ import type { FrontEnd } from './front-end.ts';
3
+ import { type Identity } from './identity.ts';
4
+ import { type ResolvedOptions } from './options.ts';
5
+ export interface RequestQuery {
6
+ url?: boolean;
7
+ raw?: boolean;
8
+ direct?: boolean;
9
+ type?: string;
10
+ sourcemap?: boolean;
11
+ compilerOptions?: Partial<CompileOptions>;
12
+ [name: string]: unknown;
13
+ }
14
+ export interface ModuleRequest {
15
+ id: string;
16
+ filename: string;
17
+ normalizedFilename: string;
18
+ query: RequestQuery;
19
+ timestamp: number;
20
+ ssr: boolean;
21
+ frontEnd: FrontEnd;
22
+ }
23
+ export interface ComponentRequest extends ModuleRequest {
24
+ cssId: string;
25
+ raw: boolean;
26
+ }
27
+ export interface IdFilter {
28
+ id: {
29
+ include: (string | RegExp)[];
30
+ exclude: (string | RegExp)[];
31
+ };
32
+ }
33
+ export type IdParser = (id: string, ssr: boolean, timestamp?: number) => ComponentRequest | undefined;
34
+ export type ModuleIdParser = (id: string, ssr: boolean, timestamp?: number) => ModuleRequest | undefined;
35
+ export declare function normalize(filename: string, root: string): string;
36
+ export declare function buildIdFilter(options: ResolvedOptions, frontEnds: readonly FrontEnd[], { virtualStyle }: Identity): IdFilter;
37
+ export declare function buildIdParser(options: ResolvedOptions, frontEnds: readonly FrontEnd[], identity: Identity): IdParser;
38
+ export declare function buildModuleIdFilter(options: ResolvedOptions, frontEnds: readonly FrontEnd[]): IdFilter;
39
+ export declare function buildModuleIdParser(options: ResolvedOptions, frontEnds: readonly FrontEnd[], identity: Identity): ModuleIdParser;
40
+ //# sourceMappingURL=id.d.ts.map