@jasonshimmy/vite-plugin-cer-app 0.28.3 → 0.29.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.
- package/README.md +2 -0
- package/dist/cli/adapters/cloudflare.d.ts +2 -2
- package/dist/cli/adapters/cloudflare.d.ts.map +1 -1
- package/dist/cli/adapters/cloudflare.js +83 -159
- package/dist/cli/adapters/cloudflare.js.map +1 -1
- package/dist/cli/adapters/deployment-mode.d.ts +10 -0
- package/dist/cli/adapters/deployment-mode.d.ts.map +1 -0
- package/dist/cli/adapters/deployment-mode.js +59 -0
- package/dist/cli/adapters/deployment-mode.js.map +1 -0
- package/dist/cli/adapters/netlify.d.ts +5 -4
- package/dist/cli/adapters/netlify.d.ts.map +1 -1
- package/dist/cli/adapters/netlify.js +26 -150
- package/dist/cli/adapters/netlify.js.map +1 -1
- package/dist/cli/adapters/vercel.d.ts +2 -3
- package/dist/cli/adapters/vercel.d.ts.map +1 -1
- package/dist/cli/adapters/vercel.js +36 -111
- package/dist/cli/adapters/vercel.js.map +1 -1
- package/dist/cli/adapters/web-bridge.d.ts +3 -0
- package/dist/cli/adapters/web-bridge.d.ts.map +1 -0
- package/dist/cli/adapters/web-bridge.js +110 -0
- package/dist/cli/adapters/web-bridge.js.map +1 -0
- package/dist/cli/checks/lighthouse.d.ts +6 -0
- package/dist/cli/checks/lighthouse.d.ts.map +1 -1
- package/dist/cli/checks/lighthouse.js +49 -44
- package/dist/cli/checks/lighthouse.js.map +1 -1
- package/dist/cli/checks/performance.d.ts +3 -0
- package/dist/cli/checks/performance.d.ts.map +1 -1
- package/dist/cli/checks/performance.js +56 -15
- package/dist/cli/checks/performance.js.map +1 -1
- package/dist/cli/checks/quality.d.ts +35 -0
- package/dist/cli/checks/quality.d.ts.map +1 -0
- package/dist/cli/checks/quality.js +72 -0
- package/dist/cli/checks/quality.js.map +1 -0
- package/dist/cli/checks/seo.d.ts +9 -0
- package/dist/cli/checks/seo.d.ts.map +1 -0
- package/dist/cli/checks/seo.js +40 -0
- package/dist/cli/checks/seo.js.map +1 -0
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +2 -51
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +12 -0
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/dev.d.ts +4 -0
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +1 -72
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/commands/generate.d.ts +1 -4
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +4 -73
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/preview-paths.d.ts +3 -0
- package/dist/cli/commands/preview-paths.d.ts.map +1 -0
- package/dist/cli/commands/preview-paths.js +8 -0
- package/dist/cli/commands/preview-paths.js.map +1 -0
- package/dist/cli/commands/preview.d.ts +11 -0
- package/dist/cli/commands/preview.d.ts.map +1 -1
- package/dist/cli/commands/preview.js +124 -458
- package/dist/cli/commands/preview.js.map +1 -1
- package/dist/cli/config.d.ts +3 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +68 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/create/templates/spa/package.json.tpl +1 -1
- package/dist/cli/create/templates/ssg/package.json.tpl +1 -1
- package/dist/cli/create/templates/ssr/package.json.tpl +1 -1
- package/dist/plugin/build-ssg.d.ts.map +1 -1
- package/dist/plugin/build-ssg.js +79 -9
- package/dist/plugin/build-ssg.js.map +1 -1
- package/dist/plugin/build-ssr.d.ts.map +1 -1
- package/dist/plugin/build-ssr.js +3 -1
- package/dist/plugin/build-ssr.js.map +1 -1
- package/dist/plugin/dev-server.d.ts +8 -0
- package/dist/plugin/dev-server.d.ts.map +1 -1
- package/dist/plugin/dev-server.js.map +1 -1
- package/dist/plugin/dts-generator.d.ts.map +1 -1
- package/dist/plugin/dts-generator.js +3 -0
- package/dist/plugin/dts-generator.js.map +1 -1
- package/dist/plugin/html-post-process.d.ts +1 -1
- package/dist/plugin/html-post-process.d.ts.map +1 -1
- package/dist/plugin/html-post-process.js +7 -5
- package/dist/plugin/html-post-process.js.map +1 -1
- package/dist/plugin/index.d.ts +1 -4
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +26 -8
- package/dist/plugin/index.js.map +1 -1
- package/dist/plugin/server-content.d.ts +3 -0
- package/dist/plugin/server-content.d.ts.map +1 -0
- package/dist/plugin/server-content.js +25 -0
- package/dist/plugin/server-content.js.map +1 -0
- package/dist/plugin/transforms/auto-import.d.ts.map +1 -1
- package/dist/plugin/transforms/auto-import.js +6 -5
- package/dist/plugin/transforms/auto-import.js.map +1 -1
- package/dist/plugin/virtual/content-components.d.ts +3 -1
- package/dist/plugin/virtual/content-components.d.ts.map +1 -1
- package/dist/plugin/virtual/content-components.js +104 -21
- package/dist/plugin/virtual/content-components.js.map +1 -1
- package/dist/runtime/app-template.d.ts.map +1 -1
- package/dist/runtime/app-template.js +18 -8
- package/dist/runtime/app-template.js.map +1 -1
- package/dist/runtime/composables/index.d.ts +2 -0
- package/dist/runtime/composables/index.d.ts.map +1 -1
- package/dist/runtime/composables/index.js +1 -0
- package/dist/runtime/composables/index.js.map +1 -1
- package/dist/runtime/composables/render-content.d.ts +10 -0
- package/dist/runtime/composables/render-content.d.ts.map +1 -0
- package/dist/runtime/composables/render-content.js +21 -0
- package/dist/runtime/composables/render-content.js.map +1 -0
- package/dist/runtime/composables/use-auth.d.ts.map +1 -1
- package/dist/runtime/composables/use-auth.js +14 -6
- package/dist/runtime/composables/use-auth.js.map +1 -1
- package/dist/runtime/composables/use-content-page.d.ts +2 -0
- package/dist/runtime/composables/use-content-page.d.ts.map +1 -1
- package/dist/runtime/composables/use-content-page.js +1 -1
- package/dist/runtime/composables/use-content-page.js.map +1 -1
- package/dist/runtime/content/client.d.ts +2 -3
- package/dist/runtime/content/client.d.ts.map +1 -1
- package/dist/runtime/content/client.js +4 -5
- package/dist/runtime/content/client.js.map +1 -1
- package/dist/runtime/entry-server-template.d.ts.map +1 -1
- package/dist/runtime/entry-server-template.js +45 -15
- package/dist/runtime/entry-server-template.js.map +1 -1
- package/dist/runtime/isr-handler.d.ts +4 -15
- package/dist/runtime/isr-handler.d.ts.map +1 -1
- package/dist/runtime/isr-handler.js +64 -45
- package/dist/runtime/isr-handler.js.map +1 -1
- package/dist/runtime/request-dispatcher.d.ts +31 -0
- package/dist/runtime/request-dispatcher.d.ts.map +1 -0
- package/dist/runtime/request-dispatcher.js +152 -0
- package/dist/runtime/request-dispatcher.js.map +1 -0
- package/dist/runtime/route-matching.d.ts +20 -0
- package/dist/runtime/route-matching.d.ts.map +1 -0
- package/dist/runtime/route-matching.js +45 -0
- package/dist/runtime/route-matching.js.map +1 -0
- package/dist/types/api.d.ts +3 -0
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/config.d.ts +27 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js.map +1 -1
- package/dist/types/content.d.ts +2 -0
- package/dist/types/content.d.ts.map +1 -1
- package/dist/types/page.d.ts +11 -7
- package/dist/types/page.d.ts.map +1 -1
- package/package.json +23 -9
- package/dist/cli/commands/preview-isr.d.ts +0 -66
- package/dist/cli/commands/preview-isr.d.ts.map +0 -1
- package/dist/cli/commands/preview-isr.js +0 -132
- package/dist/cli/commands/preview-isr.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { loadCerConfig } from '../config.js';
|
|
1
2
|
import { Command } from 'commander';
|
|
2
3
|
import { build } from 'vite';
|
|
3
4
|
import { resolve, join } from 'pathe';
|
|
4
|
-
import {
|
|
5
|
-
import { existsSync, renameSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
5
|
+
import { existsSync, renameSync } from 'node:fs';
|
|
6
6
|
import { cerApp, resolveConfig } from '../../plugin/index.js';
|
|
7
7
|
import { buildSSR, resolveClientEntry } from '../../plugin/build-ssr.js';
|
|
8
8
|
import { buildSSG } from '../../plugin/build-ssg.js';
|
|
@@ -10,55 +10,6 @@ import { writeGeneratedDir } from '../../plugin/generated-dir.js';
|
|
|
10
10
|
import { runVercelAdapter } from '../adapters/vercel.js';
|
|
11
11
|
import { runNetlifyAdapter } from '../adapters/netlify.js';
|
|
12
12
|
import { runCloudflareAdapter } from '../adapters/cloudflare.js';
|
|
13
|
-
async function loadCerConfig(root) {
|
|
14
|
-
const configPath = resolve(root, 'cer.config.ts');
|
|
15
|
-
const configPathJs = resolve(root, 'cer.config.js');
|
|
16
|
-
const filePath = existsSync(configPath)
|
|
17
|
-
? configPath
|
|
18
|
-
: existsSync(configPathJs)
|
|
19
|
-
? configPathJs
|
|
20
|
-
: null;
|
|
21
|
-
if (!filePath)
|
|
22
|
-
return {};
|
|
23
|
-
try {
|
|
24
|
-
// Bootstrap .cer/tsconfig.json so rolldown can resolve it during cer.config.ts transform
|
|
25
|
-
const cerDir = resolve(root, '.cer');
|
|
26
|
-
const cerTsconfig = resolve(cerDir, 'tsconfig.json');
|
|
27
|
-
if (!existsSync(cerTsconfig)) {
|
|
28
|
-
mkdirSync(cerDir, { recursive: true });
|
|
29
|
-
writeFileSync(cerTsconfig, '{"compilerOptions":{}}\n', 'utf-8');
|
|
30
|
-
}
|
|
31
|
-
const { build: viteBuild } = await import('vite');
|
|
32
|
-
await viteBuild({
|
|
33
|
-
build: {
|
|
34
|
-
lib: {
|
|
35
|
-
entry: filePath,
|
|
36
|
-
formats: ['es'],
|
|
37
|
-
fileName: 'cer.config',
|
|
38
|
-
},
|
|
39
|
-
outDir: resolve(root, 'node_modules/.cer-app-cache'),
|
|
40
|
-
write: true,
|
|
41
|
-
rollupOptions: { external: (id) => !id.startsWith('.') && !id.startsWith('/') },
|
|
42
|
-
},
|
|
43
|
-
logLevel: 'silent',
|
|
44
|
-
});
|
|
45
|
-
const outFile = resolve(root, 'node_modules/.cer-app-cache/cer.config.mjs');
|
|
46
|
-
if (existsSync(outFile)) {
|
|
47
|
-
const mod = await import(pathToFileURL(outFile).href + `?t=${Date.now()}`);
|
|
48
|
-
return mod.default ?? {};
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
catch {
|
|
52
|
-
// ignore
|
|
53
|
-
}
|
|
54
|
-
try {
|
|
55
|
-
const mod = await import(pathToFileURL(filePath).href + `?t=${Date.now()}`);
|
|
56
|
-
return mod.default ?? {};
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
return {};
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
13
|
async function runAdapter(adapter, root) {
|
|
63
14
|
if (!adapter)
|
|
64
15
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAmBnC,wBAAgB,YAAY,IAAI,OAAO,CAuGtC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { resolve } from 'node:path';
|
|
3
|
+
import { checkSeo } from '../checks/seo.js';
|
|
3
4
|
import { checkBuiltLinks } from '../checks/links.js';
|
|
4
5
|
import { checkPerformanceBudgets } from '../checks/performance.js';
|
|
5
6
|
import { LIGHTHOUSE_CATEGORIES, runLighthouseAudit } from '../checks/lighthouse.js';
|
|
@@ -28,6 +29,17 @@ export function checkCommand() {
|
|
|
28
29
|
console.log(`Built-link validation passed: ${report.links} links across ${report.pages} pages.`);
|
|
29
30
|
}
|
|
30
31
|
}));
|
|
32
|
+
command.addCommand(new Command('seo')
|
|
33
|
+
.description('Validate SSG canonical, sitemap and indexing policy')
|
|
34
|
+
.option('--root <root>', 'Project root directory', process.cwd())
|
|
35
|
+
.option('--output <directory>', 'Build output directory', 'dist')
|
|
36
|
+
.requiredOption('--site-url <url>', 'Canonical site origin')
|
|
37
|
+
.action(async (options) => {
|
|
38
|
+
const report = await checkSeo({ outputDir: resolve(options.root, options.output), siteUrl: options.siteUrl });
|
|
39
|
+
printFailures('SEO validation', report.failures);
|
|
40
|
+
if (!report.failures.length)
|
|
41
|
+
console.log(`SEO validation passed: ${report.pages} pages.`);
|
|
42
|
+
}));
|
|
31
43
|
command.addCommand(new Command('performance')
|
|
32
44
|
.description('Validate HTML and JavaScript production budgets')
|
|
33
45
|
.option('--root <root>', 'Project root directory', process.cwd())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEnF,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAA;IACpG,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,QAAkB;IACtD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IACjC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,eAAe,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC7D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,mCAAmC,CAAC,CAAA;IAErF,OAAO,CAAC,UAAU,CAChB,IAAI,OAAO,CAAC,OAAO,CAAC;SACjB,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAChE,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,CAAC;SAChE,MAAM,CAAC,KAAK,EAAE,OAAyC,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC1F,aAAa,CAAC,uBAAuB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QACvD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,CAAC,KAAK,iBAAiB,MAAM,CAAC,KAAK,SAAS,CAAC,CAAA;QAClG,CAAC;IACH,CAAC,CAAC,CACL,CAAA;IAED,OAAO,CAAC,UAAU,CAChB,IAAI,OAAO,CAAC,KAAK,CAAC;SACf,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAChE,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,CAAC;SAChE,cAAc,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;SAC3D,MAAM,CAAC,KAAK,EAAE,OAA0D,EAAE,EAAE;QAC3E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;QAC7G,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QAChD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,KAAK,SAAS,CAAC,CAAA;IAC3F,CAAC,CAAC,CACL,CAAA;IAED,OAAO,CAAC,UAAU,CAChB,IAAI,OAAO,CAAC,aAAa,CAAC;SACvB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAChE,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,CAAC;SAChE,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,GAAG,CAAC;SAC/C,MAAM,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,YAAY,EAAE,OAAO,CAAC;SACzE,MAAM,CAAC,0BAA0B,EAAE,uCAAuC,EAAE,YAAY,EAAE,MAAM,CAAC;SACjG,MAAM,CAAC,wBAAwB,EAAE,qCAAqC,EAAE,YAAY,EAAE,MAAM,CAAC;SAC7F,MAAM,CAAC,0BAA0B,EAAE,kCAAkC,EAAE,YAAY,CAAC;SACpF,MAAM,CAAC,KAAK,EAAE,OAQd,EAAE,EAAE;QACH,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC;YAC3C,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;YAChD,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,YAAY,EAAE,OAAO,CAAC,OAAO;YAC7B,qBAAqB,EAAE,OAAO,CAAC,YAAY;YAC3C,mBAAmB,EAAE,OAAO,CAAC,UAAU;YACvC,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC,CAAA;QACF,aAAa,CAAC,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;QACpD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,oCAAoC,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,sBAAsB,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;QAClK,CAAC;IACH,CAAC,CAAC,CACL,CAAA;IAED,OAAO,CAAC,UAAU,CAChB,IAAI,OAAO,CAAC,YAAY,CAAC;SACtB,WAAW,CAAC,8EAA8E,CAAC;SAC3F,cAAc,CAAC,iBAAiB,EAAE,mCAAmC,CAAC;SACtE,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAChE,MAAM,CAAC,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;SACzD,MAAM,CAAC,oBAAoB,EAAE,yBAAyB,EAAE,YAAY,EAAE,CAAC,CAAC;SACxE,MAAM,CAAC,WAAW,EAAE,mCAAmC,CAAC;SACxD,MAAM,CAAC,sBAAsB,EAAE,6CAA6C,CAAC;SAC7E,MAAM,CAAC,KAAK,EAAE,OAOd,EAAE,EAAE;QACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC;YACvC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,GAAG;YACjB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC/C,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAA;QACF,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACrD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBAC3C,IAAI,KAAK,KAAK,CAAC;oBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC,CAAA;gBACvF,OAAO,GAAG,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAA;YACjD,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACjE,CAAC;QACD,aAAa,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;IAC7C,CAAC,CAAC,CACL,CAAA;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMnC;;;GAGG;AACH,wBAAgB,UAAU,IAAI,OAAO,CA0CpC"}
|
package/dist/cli/commands/dev.js
CHANGED
|
@@ -1,83 +1,12 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { createServer } from 'vite';
|
|
3
3
|
import { resolve } from 'pathe';
|
|
4
|
-
import {
|
|
5
|
-
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
4
|
+
import { loadCerConfig } from '../config.js';
|
|
6
5
|
import { cerApp } from '../../plugin/index.js';
|
|
7
6
|
/**
|
|
8
7
|
* Loads cer.config.ts from the current working directory.
|
|
9
8
|
* Returns an empty object if no config file is found.
|
|
10
9
|
*/
|
|
11
|
-
async function loadCerConfig(root) {
|
|
12
|
-
const configPath = resolve(root, 'cer.config.ts');
|
|
13
|
-
const configPathJs = resolve(root, 'cer.config.js');
|
|
14
|
-
const filePath = existsSync(configPath)
|
|
15
|
-
? configPath
|
|
16
|
-
: existsSync(configPathJs)
|
|
17
|
-
? configPathJs
|
|
18
|
-
: null;
|
|
19
|
-
if (!filePath) {
|
|
20
|
-
console.warn('[cer-app] No cer.config.ts found; using defaults.');
|
|
21
|
-
return {};
|
|
22
|
-
}
|
|
23
|
-
try {
|
|
24
|
-
const originalNodeEnv = process.env.NODE_ENV;
|
|
25
|
-
const originalMode = process.env.MODE;
|
|
26
|
-
// Bootstrap .cer/tsconfig.json so rolldown can resolve it during cer.config.ts transform
|
|
27
|
-
const cerDir = resolve(root, '.cer');
|
|
28
|
-
const cerTsconfig = resolve(cerDir, 'tsconfig.json');
|
|
29
|
-
if (!existsSync(cerTsconfig)) {
|
|
30
|
-
mkdirSync(cerDir, { recursive: true });
|
|
31
|
-
writeFileSync(cerTsconfig, '{"compilerOptions":{}}\n', 'utf-8');
|
|
32
|
-
}
|
|
33
|
-
// Use Vite's build to transpile TS config at runtime
|
|
34
|
-
try {
|
|
35
|
-
const { build } = await import('vite');
|
|
36
|
-
await build({
|
|
37
|
-
build: {
|
|
38
|
-
lib: {
|
|
39
|
-
entry: filePath,
|
|
40
|
-
formats: ['es'],
|
|
41
|
-
fileName: 'cer.config',
|
|
42
|
-
},
|
|
43
|
-
outDir: resolve(root, 'node_modules/.cer-app-cache'),
|
|
44
|
-
write: true,
|
|
45
|
-
rollupOptions: {
|
|
46
|
-
// Externalize all bare package imports (handles file: symlinks too)
|
|
47
|
-
external: (id) => !id.startsWith('.') && !id.startsWith('/'),
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
logLevel: 'silent',
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
finally {
|
|
54
|
-
if (typeof originalNodeEnv === 'undefined')
|
|
55
|
-
delete process.env.NODE_ENV;
|
|
56
|
-
else
|
|
57
|
-
process.env.NODE_ENV = originalNodeEnv;
|
|
58
|
-
if (typeof originalMode === 'undefined')
|
|
59
|
-
delete process.env.MODE;
|
|
60
|
-
else
|
|
61
|
-
process.env.MODE = originalMode;
|
|
62
|
-
}
|
|
63
|
-
const outFile = resolve(root, 'node_modules/.cer-app-cache/cer.config.mjs');
|
|
64
|
-
if (existsSync(outFile)) {
|
|
65
|
-
const mod = await import(pathToFileURL(outFile).href + `?t=${Date.now()}`);
|
|
66
|
-
return mod.default ?? {};
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
catch (err) {
|
|
70
|
-
console.warn('[cer-app] Could not load cer.config.ts via build, trying dynamic import:', err);
|
|
71
|
-
}
|
|
72
|
-
// Fallback: try direct import (works for .js configs)
|
|
73
|
-
try {
|
|
74
|
-
const mod = await import(pathToFileURL(filePath).href + `?t=${Date.now()}`);
|
|
75
|
-
return mod.default ?? {};
|
|
76
|
-
}
|
|
77
|
-
catch {
|
|
78
|
-
return {};
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
10
|
export function devCommand() {
|
|
82
11
|
return new Command('dev')
|
|
83
12
|
.description('Start the development server')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAE9C;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;SACtB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,CAAC;SACxD,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,WAAW,CAAC;SACvD,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAChE,MAAM,CAAC,eAAe,EAAE,sDAAsD,CAAC;SAC/E,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAClC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;QAC5C,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAA;QACpC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,aAAa,CAAA;QAChC,0EAA0E;QAC1E,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,IAA6B,CAAA;QACzD,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;QAElF,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;QAE/C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,IAAI;YACJ,MAAM,EAAE;gBACN,IAAI;gBACJ,IAAI,EAAE,OAAO,CAAC,IAAI;aACnB;YACD,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;SAC5B,CAAC,CAAA;QAEF,MAAM,MAAM,CAAC,MAAM,EAAE,CAAA;QACrB,MAAM,CAAC,SAAS,EAAE,CAAA;QAElB,2BAA2B;QAC3B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACN,CAAC"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
-
/**
|
|
3
|
-
* `cer-app generate` — runs the full SSG build pipeline.
|
|
4
|
-
* Alias for `cer-app build --mode ssg`.
|
|
5
|
-
*/
|
|
2
|
+
/** Generation uses the same adapters and validation as an SSG build. */
|
|
6
3
|
export declare function generateCommand(): Command;
|
|
7
4
|
//# sourceMappingURL=generate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,wEAAwE;AACxE,wBAAgB,eAAe,IAAI,OAAO,CAOzC"}
|
|
@@ -1,81 +1,12 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
5
|
-
import { resolveConfig } from '../../plugin/index.js';
|
|
6
|
-
import { buildSSG } from '../../plugin/build-ssg.js';
|
|
7
|
-
import { cerApp } from '../../plugin/index.js';
|
|
8
|
-
async function loadCerConfig(root) {
|
|
9
|
-
const configPath = resolve(root, 'cer.config.ts');
|
|
10
|
-
const configPathJs = resolve(root, 'cer.config.js');
|
|
11
|
-
const filePath = existsSync(configPath)
|
|
12
|
-
? configPath
|
|
13
|
-
: existsSync(configPathJs)
|
|
14
|
-
? configPathJs
|
|
15
|
-
: null;
|
|
16
|
-
if (!filePath)
|
|
17
|
-
return {};
|
|
18
|
-
try {
|
|
19
|
-
// Bootstrap .cer/tsconfig.json so rolldown can resolve it during cer.config.ts transform
|
|
20
|
-
const cerDir = resolve(root, '.cer');
|
|
21
|
-
const cerTsconfig = resolve(cerDir, 'tsconfig.json');
|
|
22
|
-
if (!existsSync(cerTsconfig)) {
|
|
23
|
-
mkdirSync(cerDir, { recursive: true });
|
|
24
|
-
writeFileSync(cerTsconfig, '{"compilerOptions":{}}\n', 'utf-8');
|
|
25
|
-
}
|
|
26
|
-
const { build } = await import('vite');
|
|
27
|
-
await build({
|
|
28
|
-
build: {
|
|
29
|
-
lib: {
|
|
30
|
-
entry: filePath,
|
|
31
|
-
formats: ['es'],
|
|
32
|
-
fileName: 'cer.config',
|
|
33
|
-
},
|
|
34
|
-
outDir: resolve(root, 'node_modules/.cer-app-cache'),
|
|
35
|
-
write: true,
|
|
36
|
-
rollupOptions: { external: (id) => !id.startsWith('.') && !id.startsWith('/') },
|
|
37
|
-
},
|
|
38
|
-
logLevel: 'silent',
|
|
39
|
-
});
|
|
40
|
-
const outFile = resolve(root, 'node_modules/.cer-app-cache/cer.config.mjs');
|
|
41
|
-
if (existsSync(outFile)) {
|
|
42
|
-
const mod = await import(pathToFileURL(outFile).href + `?t=${Date.now()}`);
|
|
43
|
-
return mod.default ?? {};
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
// ignore
|
|
48
|
-
}
|
|
49
|
-
try {
|
|
50
|
-
const mod = await import(pathToFileURL(filePath).href + `?t=${Date.now()}`);
|
|
51
|
-
return mod.default ?? {};
|
|
52
|
-
}
|
|
53
|
-
catch {
|
|
54
|
-
return {};
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* `cer-app generate` — runs the full SSG build pipeline.
|
|
59
|
-
* Alias for `cer-app build --mode ssg`.
|
|
60
|
-
*/
|
|
2
|
+
import { buildCommand } from './build.js';
|
|
3
|
+
/** Generation uses the same adapters and validation as an SSG build. */
|
|
61
4
|
export function generateCommand() {
|
|
62
5
|
return new Command('generate')
|
|
63
|
-
.description('Generate a static site (
|
|
6
|
+
.description('Generate a static site (alias for build --mode ssg)')
|
|
64
7
|
.option('--root <root>', 'Project root directory', process.cwd())
|
|
65
8
|
.action(async (options) => {
|
|
66
|
-
|
|
67
|
-
const userConfig = await loadCerConfig(root);
|
|
68
|
-
// Force SSG mode
|
|
69
|
-
userConfig.mode = 'ssg';
|
|
70
|
-
const config = resolveConfig(userConfig, root);
|
|
71
|
-
console.log('[cer-app] Running SSG generation...');
|
|
72
|
-
const viteUserConfig = {
|
|
73
|
-
root,
|
|
74
|
-
plugins: cerApp(userConfig),
|
|
75
|
-
};
|
|
76
|
-
await buildSSG(config, viteUserConfig);
|
|
77
|
-
// Force exit: the SSG path-enumeration Vite server may keep alive Node timers.
|
|
78
|
-
process.exit(0);
|
|
9
|
+
await buildCommand().parseAsync(['--root', options.root, '--mode', 'ssg'], { from: 'user' });
|
|
79
10
|
});
|
|
80
11
|
}
|
|
81
12
|
//# sourceMappingURL=generate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC,wEAAwE;AACxE,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;SAC3B,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,eAAe,EAAE,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SAChE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IAC9F,CAAC,CAAC,CAAA;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-paths.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/preview-paths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAIvE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { resolve, join } from 'pathe';
|
|
2
|
+
export { findRenderMode } from '../../runtime/route-matching.js';
|
|
3
|
+
export function isPathBounded(rootDir, urlPath) {
|
|
4
|
+
const safeRoot = resolve(rootDir);
|
|
5
|
+
const resolved = resolve(join(rootDir, urlPath));
|
|
6
|
+
return resolved === safeRoot || resolved.startsWith(safeRoot + '/');
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=preview-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-paths.js","sourceRoot":"","sources":["../../../src/cli/commands/preview-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAChE,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,OAAe;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;IAChD,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAA;AACrE,CAAC"}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import { type PreviewServer, type PreviewOptions } from 'vite';
|
|
3
|
+
export declare function closePreview(server: PreviewServer): Promise<void>;
|
|
4
|
+
export interface CerPreviewOptions {
|
|
5
|
+
root?: string;
|
|
6
|
+
port?: number;
|
|
7
|
+
host?: string;
|
|
8
|
+
ssr?: boolean;
|
|
9
|
+
preview?: PreviewOptions;
|
|
10
|
+
}
|
|
11
|
+
/** Vite owns transport, compression, media types and range requests. CER owns routing. */
|
|
12
|
+
export declare function startPreview(options?: CerPreviewOptions): Promise<PreviewServer>;
|
|
2
13
|
export declare function previewCommand(): Command;
|
|
3
14
|
//# sourceMappingURL=preview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAW,KAAK,aAAa,EAAE,KAAK,cAAc,EAAe,MAAM,MAAM,CAAA;AAUpF,wBAAsB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvE;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED,0FAA0F;AAC1F,wBAAsB,YAAY,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC,CAmF1F;AAED,wBAAgB,cAAc,IAAI,OAAO,CAkBxC"}
|