@_linked/cli 1.12.0 → 1.13.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.
@@ -25,6 +25,92 @@ import path from 'node:path';
25
25
  import fs from 'node:fs/promises';
26
26
  import { spawn } from 'node:child_process';
27
27
  import fsExtra from 'fs-extra';
28
+ export const VITE_CONFIG_FILES = ['vite.config.ts', 'vite.config.js', 'vite.config.mjs'];
29
+ /**
30
+ * API-only mode is explicit: `linked start --api-only`, or `server.apiOnly: true`
31
+ * in `linked.config.js`. It is never inferred from missing frontend files, so a
32
+ * web app that lost its `vite.config.ts` still fails loudly instead of silently
33
+ * serving no pages.
34
+ */
35
+ export function isApiOnly(opts, linkedConfig) {
36
+ var _a;
37
+ return opts.apiOnly === true || ((_a = linkedConfig === null || linkedConfig === void 0 ? void 0 : linkedConfig.server) === null || _a === void 0 ? void 0 : _a.apiOnly) === true;
38
+ }
39
+ /**
40
+ * The Vite dev-server config for `linked start`.
41
+ *
42
+ * With a `vite.config.*` in `cwd`, Vite loads it itself. Without one, API-only
43
+ * mode uses `createViteConfig()`'s defaults inline — Vite is still needed on the
44
+ * backend to transform TypeScript, decorators and extensionless imports of
45
+ * source-only shape packages. Without one in page mode, it is an error.
46
+ */
47
+ export function resolveViteServerConfig(cwd, apiOnly) {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ const base = {
50
+ root: cwd,
51
+ server: { middlewareMode: true },
52
+ appType: 'custom',
53
+ };
54
+ if (VITE_CONFIG_FILES.some((c) => fsExtra.existsSync(path.join(cwd, c)))) {
55
+ return base;
56
+ }
57
+ if (!apiOnly) {
58
+ throw new Error(`[linked start] no vite.config.{ts,js,mjs} found in ${cwd}. Add one:\n\n import {createViteConfig} from '@_linked/cli/vite-config';\n export default createViteConfig({port: 4040, cssMode: 'tailwind'});\n\nFor a backend without a web frontend, run \`linked start --api-only\` instead.\n`);
59
+ }
60
+ const { createViteConfig } = yield import('../vite-config.js');
61
+ const exported = createViteConfig();
62
+ const defaults = typeof exported === 'function'
63
+ ? yield exported({ command: 'serve', mode: 'development' })
64
+ : yield exported;
65
+ return Object.assign(Object.assign(Object.assign({}, defaults), base), { configFile: false, server: Object.assign(Object.assign({}, defaults.server), base.server),
66
+ // No browser client: skip the client dependency scan, whose entry
67
+ // (`src/index.tsx`) does not exist in a backend.
68
+ optimizeDeps: Object.assign(Object.assign({}, defaults.optimizeDeps), { noDiscovery: true }) });
69
+ });
70
+ }
71
+ /**
72
+ * Inject Vite into LinkedServer's config:
73
+ * - vite: handle for ssrLoadModule (used to load app's backend.ts via self-reference)
74
+ * and, unless API-only (where `apiOnly` makes LinkedServer skip page rendering):
75
+ * - viteMiddleware: mounted instead of webpack-dev-middleware
76
+ * - loadAppComponent / loadRoutes: route through vite.ssrLoadModule for SSR transform
77
+ * - viteSsrPreload: page modules to preload for SSR CSS collection
78
+ */
79
+ export function configureLinkedServer(serverConfig, vite, cwd, apiOnly) {
80
+ serverConfig.vite = vite;
81
+ if (apiOnly) {
82
+ serverConfig.apiOnly = true;
83
+ return;
84
+ }
85
+ serverConfig.viteMiddleware = vite.middlewares;
86
+ serverConfig.loadAppComponent = () => __awaiter(this, void 0, void 0, function* () {
87
+ const mod = yield vite.ssrLoadModule('/src/App.tsx');
88
+ return mod.default;
89
+ });
90
+ serverConfig.loadRoutes = () => __awaiter(this, void 0, void 0, function* () {
91
+ return yield vite.ssrLoadModule('/src/routes.tsx');
92
+ });
93
+ // Vite SSR CSS collection support (plan-010 iter1 gap A):
94
+ // List all `src/pages/*.{ts,tsx}` files so LinkedServer can ssrLoadModule
95
+ // each into Vite's moduleGraph BEFORE the first render of a session.
96
+ // React.lazy() doesn't auto-fire — without this, only App's eager
97
+ // imports' CSS is collected; lazy pages' CSS arrives after hydration
98
+ // causing an unstyled flash. After the first preload sweep, all
99
+ // subsequent renders have full CSS available.
100
+ serverConfig.viteSsrPreload = () => __awaiter(this, void 0, void 0, function* () {
101
+ const pagesDir = path.join(cwd, 'src', 'pages');
102
+ if (!fsExtra.existsSync(pagesDir))
103
+ return [];
104
+ const files = fsExtra.readdirSync(pagesDir, { withFileTypes: true });
105
+ const paths = [];
106
+ for (const file of files) {
107
+ if (file.isFile() && /\.(tsx|ts)$/.test(file.name)) {
108
+ paths.push(`/src/pages/${file.name}`);
109
+ }
110
+ }
111
+ return paths;
112
+ });
113
+ }
28
114
  /**
29
115
  * Plan-011 phase 3b — discover workspace packages from the app's
30
116
  * `package.json` `workspaces` field. No hand-maintained list anywhere;
@@ -182,15 +268,6 @@ export function startWithVite() {
182
268
  // `--env` still loads env-cmd (`.env-cmdrc.json`) for CN's own start:local flow.
183
269
  const { ensureEnvironmentLoaded } = yield import('../lifecycle.js');
184
270
  yield ensureEnvironmentLoaded();
185
- // Apps must have a vite.config.{ts,js} at CWD that exports the result of
186
- // `createViteConfig({...})`. We don't load it ourselves — Vite picks it
187
- // up automatically from `cwd`.
188
- const viteConfigCandidates = ['vite.config.ts', 'vite.config.js', 'vite.config.mjs'];
189
- const viteConfigFound = viteConfigCandidates.find((c) => fsExtra.existsSync(path.join(cwd, c)));
190
- if (!viteConfigFound) {
191
- throw new Error(`[linked start --vite] no vite.config.{ts,js,mjs} found in ${cwd}. Add one:\n\n import {createViteConfig} from '@_linked/cli/vite-config';\n export default createViteConfig({port: 4040, cssMode: 'tailwind'});\n`);
192
- }
193
- const { createServer: createViteServer } = yield import('vite');
194
271
  // Load user's linked.config.js (legacy hook). It still drives things
195
272
  // like server.cachePaths and the rest of LinkedServer's options.
196
273
  const linkedConfigPath = path.join(cwd, 'linked.config.js');
@@ -199,45 +276,10 @@ export function startWithVite() {
199
276
  linkedConfig = (_a = (yield import(linkedConfigPath)).default) !== null && _a !== void 0 ? _a : {};
200
277
  }
201
278
  linkedConfig.server = linkedConfig.server || {};
202
- const vite = yield createViteServer({
203
- root: cwd,
204
- server: { middlewareMode: true },
205
- appType: 'custom',
206
- });
207
- // Inject Vite into LinkedServer's config:
208
- // - vite: handle for ssrLoadModule (used to load app's backend.ts via self-reference)
209
- // - viteMiddleware: mounted instead of webpack-dev-middleware
210
- // - loadAppComponent: route through vite.ssrLoadModule for SSR transform
211
- // - loadRoutes: same
212
- linkedConfig.server.vite = vite;
213
- linkedConfig.server.viteMiddleware = vite.middlewares;
214
- linkedConfig.server.loadAppComponent = () => __awaiter(this, void 0, void 0, function* () {
215
- const mod = yield vite.ssrLoadModule('/src/App.tsx');
216
- return mod.default;
217
- });
218
- linkedConfig.server.loadRoutes = () => __awaiter(this, void 0, void 0, function* () {
219
- return yield vite.ssrLoadModule('/src/routes.tsx');
220
- });
221
- // Vite SSR CSS collection support (plan-010 iter1 gap A):
222
- // List all `src/pages/*.{ts,tsx}` files so LinkedServer can ssrLoadModule
223
- // each into Vite's moduleGraph BEFORE the first render of a session.
224
- // React.lazy() doesn't auto-fire — without this, only App's eager
225
- // imports' CSS is collected; lazy pages' CSS arrives after hydration
226
- // causing an unstyled flash. After the first preload sweep, all
227
- // subsequent renders have full CSS available.
228
- linkedConfig.server.viteSsrPreload = () => __awaiter(this, void 0, void 0, function* () {
229
- const pagesDir = path.join(cwd, 'src', 'pages');
230
- if (!fsExtra.existsSync(pagesDir))
231
- return [];
232
- const files = fsExtra.readdirSync(pagesDir, { withFileTypes: true });
233
- const paths = [];
234
- for (const file of files) {
235
- if (file.isFile() && /\.(tsx|ts)$/.test(file.name)) {
236
- paths.push(`/src/pages/${file.name}`);
237
- }
238
- }
239
- return paths;
240
- });
279
+ const apiOnly = isApiOnly(opts, linkedConfig);
280
+ const { createServer: createViteServer } = yield import('vite');
281
+ const vite = yield createViteServer(yield resolveViteServerConfig(cwd, apiOnly));
282
+ configureLinkedServer(linkedConfig.server, vite, cwd, apiOnly);
241
283
  // plan-011 §P5 (2A) — load the storage config through Vite SSR so it
242
284
  // configures the SAME LinkedStorage instance the rest of the SSR graph
243
285
  // (LinkedServer, CN providers) uses. Replaces the former Node-direct
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,13 @@ export interface LinkedServerConfig {
107
107
  * Should return a RoutesModule from 'lincd-server'
108
108
  */
109
109
  loadRoutes?: () => Promise<any>;
110
+ /**
111
+ * Serve only the backend API (`/call/...`, `/api/...` and provider routes):
112
+ * no server-side page rendering, so page requests get a 404.
113
+ * `linked start --api-only` sets this.
114
+ * @default false
115
+ */
116
+ apiOnly?: boolean;
110
117
  }
111
118
  /**
112
119
  * Complete Linked configuration
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE;QAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACvB,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE;QAAC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IACvC,OAAO,CAAC,EAAE,EAAE,CAAC;IACb,WAAW,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE;QAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IAE1C;;OAEG;IACH,KAAK,CAAC,EAAE;QAAC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;IAEvC;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC;IAE7B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAEhC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAEjC;;OAEG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAE9B;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAE5B;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
@@ -0,0 +1,3 @@
1
+ /** Appends `.js` (or `/index.js`) to extensionless relative specifiers in emitted ESM. Returns files changed. */
2
+ export declare function rewriteExtensionlessImports(libEsmDir: string): Promise<number>;
3
+ //# sourceMappingURL=esmSpecifiers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esmSpecifiers.d.ts","sourceRoot":"","sources":["../../../src/utils/esmSpecifiers.ts"],"names":[],"mappings":"AA6DA,iHAAiH;AACjH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAqCjB"}
@@ -0,0 +1,95 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import fs from 'fs-extra';
11
+ import { glob } from 'glob';
12
+ import path from 'path';
13
+ import ts from 'typescript';
14
+ // Specifiers Node already resolves as written.
15
+ const RESOLVED_EXTENSIONS = new Set(['.js', '.mjs', '.cjs', '.json']);
16
+ const isRelative = (spec) => spec.startsWith('./') || spec.startsWith('../');
17
+ const isFile = (file) => {
18
+ try {
19
+ return fs.statSync(file).isFile();
20
+ }
21
+ catch (_a) {
22
+ return false;
23
+ }
24
+ };
25
+ // Returns the rewritten specifier, the same specifier when it needs no change,
26
+ // or null when an extensionless specifier cannot be resolved.
27
+ const resolveSpecifier = (spec, fromDir) => {
28
+ if (!isRelative(spec) || RESOLVED_EXTENSIONS.has(path.extname(spec))) {
29
+ return spec;
30
+ }
31
+ const target = path.resolve(fromDir, spec);
32
+ if (isFile(target + '.js')) {
33
+ return spec + '.js';
34
+ }
35
+ if (isFile(path.join(target, 'index.js'))) {
36
+ return spec.replace(/\/$/, '') + '/index.js';
37
+ }
38
+ // Another existing file (e.g. './styles.css') is left as written.
39
+ return isFile(target) ? spec : null;
40
+ };
41
+ // The string literals of static imports/exports (including side-effect
42
+ // imports) and of `import()` calls with a literal argument.
43
+ const collectSpecifiers = (source) => {
44
+ const found = [];
45
+ const visit = (node) => {
46
+ if ((ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) &&
47
+ node.moduleSpecifier &&
48
+ ts.isStringLiteral(node.moduleSpecifier)) {
49
+ found.push(node.moduleSpecifier);
50
+ }
51
+ else if (ts.isCallExpression(node) &&
52
+ node.expression.kind === ts.SyntaxKind.ImportKeyword &&
53
+ node.arguments.length === 1 &&
54
+ ts.isStringLiteralLike(node.arguments[0])) {
55
+ found.push(node.arguments[0]);
56
+ }
57
+ ts.forEachChild(node, visit);
58
+ };
59
+ visit(source);
60
+ return found;
61
+ };
62
+ /** Appends `.js` (or `/index.js`) to extensionless relative specifiers in emitted ESM. Returns files changed. */
63
+ export function rewriteExtensionlessImports(libEsmDir) {
64
+ return __awaiter(this, void 0, void 0, function* () {
65
+ const files = yield glob('**/*.js', { cwd: libEsmDir, absolute: true });
66
+ let changed = 0;
67
+ for (const file of files) {
68
+ const text = yield fs.readFile(file, 'utf8');
69
+ const source = ts.createSourceFile(file, text, ts.ScriptTarget.Latest, true, ts.ScriptKind.JS);
70
+ let output = text;
71
+ // Apply edits back to front so earlier offsets stay valid.
72
+ const literals = collectSpecifiers(source).reverse();
73
+ for (const literal of literals) {
74
+ const spec = literal.text;
75
+ const rewritten = resolveSpecifier(spec, path.dirname(file));
76
+ if (rewritten === null) {
77
+ console.warn(`Could not resolve import '${spec}' in ${path.relative(libEsmDir, file)}; left unchanged`);
78
+ continue;
79
+ }
80
+ if (rewritten !== spec) {
81
+ // Keep the original quotes; replace only the text between them.
82
+ const start = literal.getStart(source) + 1;
83
+ const end = literal.getEnd() - 1;
84
+ output = output.slice(0, start) + rewritten + output.slice(end);
85
+ }
86
+ }
87
+ if (output !== text) {
88
+ yield fs.writeFile(file, output);
89
+ changed++;
90
+ }
91
+ }
92
+ return changed;
93
+ });
94
+ }
95
+ //# sourceMappingURL=esmSpecifiers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esmSpecifiers.js","sourceRoot":"","sources":["../../../src/utils/esmSpecifiers.ts"],"names":[],"mappings":"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"}
@@ -30,5 +30,47 @@ export interface LinkedViteConfigOptions {
30
30
  */
31
31
  workspaceGlobs?: string[];
32
32
  }
33
+ interface WorkspaceEntry {
34
+ name: string;
35
+ srcDir: string;
36
+ }
37
+ /**
38
+ * Names of installed packages that depend, directly or transitively (via
39
+ * `dependencies` / `peerDependencies`), on a discovered source workspace. Such a
40
+ * package must also go through Vite SSR: if Node loaded it natively, it would
41
+ * import its own Node-loaded copy of the workspace (e.g. published
42
+ * `@_linked/fuseki` importing a workspace `@_linked/core`), splitting module
43
+ * state. Vite rewrites the dynamic `import()` in code it transforms, so bundling
44
+ * the dependents keeps one instance.
45
+ *
46
+ * Only the dependency closure of the app's `package.json` (dependencies +
47
+ * devDependencies) and of the workspaces themselves is scanned. Packages are
48
+ * resolved Node-style, keyed by real path, and unresolvable ones are ignored.
49
+ * Workspace names are not included in the result.
50
+ */
51
+ export declare function workspaceDependents(workspaces: {
52
+ name: string;
53
+ srcDir?: string;
54
+ }[], cwd?: string): Promise<string[]>;
55
+ /**
56
+ * Walk the app's package.json `workspaces` field to build a lookup table
57
+ * from npm name → absolute src/ directory. Used by the resolver plugin
58
+ * to map bare specifiers like `@_linked/foo/bar` directly to source.
59
+ * No glob library: workspaces only support trailing `/*` patterns.
60
+ */
61
+ export declare function discoverWorkspaces(extraGlobs?: string[], cwd?: string): Promise<WorkspaceEntry[]>;
62
+ /**
63
+ * `ssr.noExternal` for the dev SSR runner. With source workspaces, only those
64
+ * package names are bundled by Vite; everything else in node_modules (including
65
+ * published `@_linked/*`) is externalized to Node. Vite matches these entries
66
+ * against the bare package name, so subpath imports (`pkg/shapes/Foo`) match too.
67
+ * Installed packages that depend on a workspace (`dependents`, from
68
+ * `workspaceDependents`) are bundled too, so they share the Vite-loaded workspace.
69
+ * Standalone (no workspaces): the context-holding framework packages are bundled.
70
+ */
71
+ export declare function ssrNoExternal(workspaces: {
72
+ name: string;
73
+ }[], dependents?: string[]): (string | RegExp)[];
33
74
  export declare function createViteConfig(opts?: LinkedViteConfigOptions): ReturnType<typeof defineConfig>;
75
+ export {};
34
76
  //# sourceMappingURL=vite-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vite-config.d.ts","sourceRoot":"","sources":["../../src/vite-config.ts"],"names":[],"mappings":"AAWA,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAC;AAKlC,OAAO,KAAK,EAAC,MAAM,EAAa,MAAM,MAAM,CAAC;AAe7C,MAAM,WAAW,uBAAuB;IACtC,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,OAAO,CAAC,EAAE,UAAU,GAAG,kBAAkB,CAAC;IAC1C,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,iEAAiE;IACjE,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC;IAC3B,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAkKD,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,uBAA4B,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CA8WpG"}
1
+ {"version":3,"file":"vite-config.d.ts","sourceRoot":"","sources":["../../src/vite-config.ts"],"names":[],"mappings":"AAWA,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAC;AAKlC,OAAO,KAAK,EAAC,MAAM,EAAa,MAAM,MAAM,CAAC;AAgB7C,MAAM,WAAW,uBAAuB;IACtC,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,OAAO,CAAC,EAAE,UAAU,GAAG,kBAAkB,CAAC;IAC1C,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,iEAAiE;IACjE,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC;IAC3B,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAwCD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAC,EAAE,EAC7C,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC,CAsEnB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,GAAE,MAAM,EAAO,EACzB,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,cAAc,EAAE,CAAC,CAiG3B;AAwCD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,EAAE,EAC5B,UAAU,GAAE,MAAM,EAAO,GACxB,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAGrB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,uBAA4B,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAqXpG"}