@akanjs/cli 3.0.0-alpha.66 → 3.0.0-alpha.68
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/.build-stamp +1 -1
- package/{agent.command-7vr15vkn.js → agent.command-0cmqr1jg.js} +5 -5
- package/{application.command-nrq6qvkh.js → application.command-rb1dtwdd.js} +4 -4
- package/{applicationBuildRunner-jnjag4ay.js → applicationBuildRunner-af0wtspv.js} +5 -2
- package/buildBatch.proc.js +2 -2
- package/{capacitorApp-w1ryppdw.js → capacitorApp-eep7xz8f.js} +2 -2
- package/{cloud.command-crwf7emx.js → cloud.command-8v0kdhsk.js} +7 -7
- package/{context.command-xbsgta4f.js → context.command-rbfvzdr5.js} +12 -12
- package/{guideline.command-mm19n009.js → guideline.command-92fb2x3p.js} +2 -2
- package/guidelines/conventions/conventions.instruction.md +34 -0
- package/incrementalBuilder.proc.js +1 -1
- package/{index-7kxz2z5t.js → index-0c7xjgq8.js} +1 -1
- package/{index-hpbf1b1e.js → index-1ngstd4e.js} +3 -3
- package/{index-jbhecvr9.js → index-1rdjjbh3.js} +1 -1
- package/{index-639mgtfm.js → index-4z07epxz.js} +2 -2
- package/{index-1f34snpd.js → index-54kzhhbz.js} +1 -1
- package/{index-xda7qe2j.js → index-64yeb8sh.js} +2 -2
- package/{index-w008bx1p.js → index-8ve7n6yj.js} +20 -4
- package/{index-9ppq2sx0.js → index-9rhhv7kt.js} +4 -4
- package/{index-xesyg6bc.js → index-abyjt72y.js} +191 -27
- package/{index-6s8snbb8.js → index-c60r0ch7.js} +2 -2
- package/{index-cnyeq88g.js → index-dnaz1wgm.js} +3 -3
- package/{index-gkg6e6cx.js → index-gzvqqkv0.js} +10 -10
- package/{index-a6k0b1b5.js → index-h0mh2q0g.js} +5 -5
- package/{index-k8k45qfk.js → index-mj0gjph9.js} +2 -2
- package/{index-8xeg8ehr.js → index-n6sd13k2.js} +3 -3
- package/{index-8vv6xtm5.js → index-vgntcq1j.js} +1 -1
- package/{index-bzthvy50.js → index-wda1nmq9.js} +5 -5
- package/{index-d5ef8n21.js → index-xgd380f4.js} +4 -4
- package/{index-0jn016vv.js → index-zsey7djg.js} +3 -3
- package/index.js +18 -18
- package/{library.command-afjd6ex4.js → library.command-6q9vgf8d.js} +3 -3
- package/{localRegistry.command-6zadvx6z.js → localRegistry.command-qt958fj0.js} +6 -6
- package/{module.command-rh01pbz3.js → module.command-t6ex0rqw.js} +5 -5
- package/{package.command-g4s1y1wn.js → package.command-mkkpq9yy.js} +3 -3
- package/package.json +2 -2
- package/{page.command-9bw6sz1r.js → page.command-tkqmvxx6.js} +3 -3
- package/{primitive.command-pg1j3gm3.js → primitive.command-pb07v3w4.js} +6 -6
- package/{quality.command-rt1z7je9.js → quality.command-10bbw5qf.js} +2 -2
- package/{repair.command-pg54yhgc.js → repair.command-rx25p4yr.js} +5 -5
- package/{scalar.command-t0akqh1r.js → scalar.command-hf0pg397.js} +4 -4
- package/templates/app/env/env.client.debug.ts.template +1 -5
- package/templates/app/env/env.client.develop.ts.template +1 -5
- package/templates/app/env/env.client.local.ts.template +1 -5
- package/templates/app/env/env.client.main.ts.template +1 -5
- package/templates/app/env/env.client.testing.ts.template +1 -5
- package/templates/app/env/env.client.type.ts +2 -6
- package/{workflow.command-se886yew.js → workflow.command-b2twqrg9.js} +9 -9
- package/{workspace.command-q17atzha.js → workspace.command-8ggh81wd.js} +18 -18
- package/README.ko.md +0 -72
- package/README.md +0 -85
package/.build-stamp
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
45913df1b25861ac83c5cec54131c1edd97946b5e28ceb2297776a553e68d432
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
AgentScript
|
|
4
|
-
} from "./index-
|
|
5
|
-
import"./index-
|
|
6
|
-
import"./index-
|
|
4
|
+
} from "./index-zsey7djg.js";
|
|
5
|
+
import"./index-64yeb8sh.js";
|
|
6
|
+
import"./index-vgntcq1j.js";
|
|
7
7
|
import"./index-j37qq1f2.js";
|
|
8
8
|
import {
|
|
9
9
|
Workspace,
|
|
10
10
|
command
|
|
11
|
-
} from "./index-
|
|
12
|
-
import"./index-
|
|
11
|
+
} from "./index-54kzhhbz.js";
|
|
12
|
+
import"./index-8ve7n6yj.js";
|
|
13
13
|
import"./index-f39512t6.js";
|
|
14
14
|
import"./index-mxvakhsm.js";
|
|
15
15
|
import"./index-xys926f2.js";
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
} from "./index-0wae5ebk.js";
|
|
5
5
|
import {
|
|
6
6
|
ApplicationScript
|
|
7
|
-
} from "./index-
|
|
8
|
-
import"./index-
|
|
7
|
+
} from "./index-h0mh2q0g.js";
|
|
8
|
+
import"./index-mj0gjph9.js";
|
|
9
9
|
import {
|
|
10
10
|
getMobileTargetChoices
|
|
11
11
|
} from "./index-76rn3g2c.js";
|
|
@@ -15,10 +15,10 @@ import {
|
|
|
15
15
|
Sys,
|
|
16
16
|
Workspace,
|
|
17
17
|
command
|
|
18
|
-
} from "./index-
|
|
18
|
+
} from "./index-54kzhhbz.js";
|
|
19
19
|
import"./index-fgc8r6dj.js";
|
|
20
20
|
import"./index-5vy2jzar.js";
|
|
21
|
-
import"./index-
|
|
21
|
+
import"./index-8ve7n6yj.js";
|
|
22
22
|
import"./index-f39512t6.js";
|
|
23
23
|
import"./index-mxvakhsm.js";
|
|
24
24
|
import"./index-1577bej2.js";
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
AllRoutesBuilder,
|
|
4
4
|
CsrArtifactBuilder,
|
|
5
|
+
FontPruner,
|
|
5
6
|
SsrBaseArtifactBuilder,
|
|
6
7
|
precompressArtifacts
|
|
7
|
-
} from "./index-
|
|
8
|
+
} from "./index-abyjt72y.js";
|
|
8
9
|
import"./index-xjd3rqzj.js";
|
|
9
10
|
import"./index-qnv0aqmm.js";
|
|
10
11
|
import"./index-5vy2jzar.js";
|
|
@@ -23,6 +24,7 @@ var BUILD_PHASE_EMOJIS = {
|
|
|
23
24
|
backend: "\uD83D\uDCE6",
|
|
24
25
|
ssr: "\uD83E\uDDED",
|
|
25
26
|
csr: "\uD83C\uDFA8",
|
|
27
|
+
assets: "\u2702\uFE0F",
|
|
26
28
|
compress: "\uD83D\uDDDC\uFE0F",
|
|
27
29
|
metadata: "\uD83D\uDCDD"
|
|
28
30
|
};
|
|
@@ -58,7 +60,7 @@ class ApplicationBuildRunner {
|
|
|
58
60
|
}
|
|
59
61
|
async build({ spinner = false } = {}) {
|
|
60
62
|
const phaseOptions = { spinner };
|
|
61
|
-
const { web } = await this.#app.getConfig();
|
|
63
|
+
const { web, assets } = await this.#app.getConfig();
|
|
62
64
|
await this.#runPhase("prepare", "Preparing output directory", () => this.#app.prepareCommand("build"), undefined, {
|
|
63
65
|
spinner
|
|
64
66
|
});
|
|
@@ -67,6 +69,7 @@ class ApplicationBuildRunner {
|
|
|
67
69
|
await this.#runPhase("backend", "Compiling backend", () => this.#buildBackend(), (result) => `${result.entrypoints} entrypoints, ${result.outputs} outputs`, phaseOptions);
|
|
68
70
|
await this.#runPhase("ssr", "Building SSR route artifacts", async () => web.ssr ? await this.#buildSsr() : null, (result) => result ? `${result.allRoutes.manifest.routeIds.length} routes, ${result.allRoutes.manifest.knownEntries.length} entries` : web.ssr ? "skipped" : "disabled by akan.config.ts web.ssr", phaseOptions);
|
|
69
71
|
await this.#runPhase("csr", "Building CSR assets", async () => web.csr ? await this.#buildCsr() : null, (result) => result?.outputDir ?? (web.csr ? "skipped" : "disabled by akan.config.ts web.csr"), phaseOptions);
|
|
72
|
+
await this.#runPhase("assets", "Trimming unread static assets", async () => assets.pruneFonts ? await new FontPruner(this.#app, assets).prune() : null, (result) => result ? `${result.removed.length} font file(s) dropped, ${ApplicationBuildRunner.formatBytes(result.freedBytes)} freed; ${result.kept.length} kept` : "disabled by akan.config.ts assets.pruneFonts", phaseOptions);
|
|
70
73
|
await this.#runPhase("compress", "Compressing static assets", () => precompressArtifacts(this.#app), (result) => result.files > 0 ? `${result.files} files, ${ApplicationBuildRunner.formatBytes(result.inputBytes)} -> gzip ${ApplicationBuildRunner.formatBytes(result.outputBytes)} / br ${ApplicationBuildRunner.formatBytes(result.brotliBytes)}` : "no files", phaseOptions);
|
|
71
74
|
await this.#runPhase("metadata", "Writing production metadata", () => this.#buildAppMeta(), undefined, {
|
|
72
75
|
spinner
|
package/buildBatch.proc.js
CHANGED
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
FontOptimizer,
|
|
6
6
|
PagesBundleBuilder,
|
|
7
7
|
SsrBaseArtifactBuilder
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-abyjt72y.js";
|
|
9
9
|
import"./index-xjd3rqzj.js";
|
|
10
10
|
import"./index-qnv0aqmm.js";
|
|
11
11
|
import"./index-5vy2jzar.js";
|
|
12
12
|
import {
|
|
13
13
|
AppExecutor,
|
|
14
14
|
WorkspaceExecutor
|
|
15
|
-
} from "./index-
|
|
15
|
+
} from "./index-8ve7n6yj.js";
|
|
16
16
|
import"./index-f39512t6.js";
|
|
17
17
|
import"./index-mxvakhsm.js";
|
|
18
18
|
import"./index-1577bej2.js";
|
|
@@ -25,9 +25,9 @@ import {
|
|
|
25
25
|
selectLocalDevHost,
|
|
26
26
|
sortIosRunTargets,
|
|
27
27
|
writeRootCapacitorConfig
|
|
28
|
-
} from "./index-
|
|
28
|
+
} from "./index-1rdjjbh3.js";
|
|
29
29
|
import"./index-76rn3g2c.js";
|
|
30
|
-
import"./index-
|
|
30
|
+
import"./index-8ve7n6yj.js";
|
|
31
31
|
import"./index-f39512t6.js";
|
|
32
32
|
import"./index-mxvakhsm.js";
|
|
33
33
|
import"./index-1577bej2.js";
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
CloudScript
|
|
4
|
-
} from "./index-
|
|
5
|
-
import"./index-
|
|
6
|
-
import"./index-
|
|
4
|
+
} from "./index-wda1nmq9.js";
|
|
5
|
+
import"./index-dnaz1wgm.js";
|
|
6
|
+
import"./index-c60r0ch7.js";
|
|
7
7
|
import {
|
|
8
8
|
GlobalConfig
|
|
9
9
|
} from "./index-sh01r3pm.js";
|
|
10
|
-
import"./index-
|
|
11
|
-
import"./index-
|
|
10
|
+
import"./index-h0mh2q0g.js";
|
|
11
|
+
import"./index-mj0gjph9.js";
|
|
12
12
|
import"./index-76rn3g2c.js";
|
|
13
13
|
import {
|
|
14
14
|
Workspace,
|
|
15
15
|
command
|
|
16
|
-
} from "./index-
|
|
16
|
+
} from "./index-54kzhhbz.js";
|
|
17
17
|
import"./index-fgc8r6dj.js";
|
|
18
18
|
import"./index-5vy2jzar.js";
|
|
19
|
-
import"./index-
|
|
19
|
+
import"./index-8ve7n6yj.js";
|
|
20
20
|
import"./index-f39512t6.js";
|
|
21
21
|
import"./index-mxvakhsm.js";
|
|
22
22
|
import"./index-1577bej2.js";
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
ContextScript
|
|
4
|
-
} from "./index-
|
|
5
|
-
import"./index-
|
|
6
|
-
import"./index-
|
|
7
|
-
import"./index-
|
|
8
|
-
import"./index-
|
|
9
|
-
import"./index-
|
|
4
|
+
} from "./index-gzvqqkv0.js";
|
|
5
|
+
import"./index-1ngstd4e.js";
|
|
6
|
+
import"./index-n6sd13k2.js";
|
|
7
|
+
import"./index-4z07epxz.js";
|
|
8
|
+
import"./index-9rhhv7kt.js";
|
|
9
|
+
import"./index-xgd380f4.js";
|
|
10
10
|
import"./index-ss469dec.js";
|
|
11
|
-
import"./index-
|
|
12
|
-
import"./index-
|
|
11
|
+
import"./index-0c7xjgq8.js";
|
|
12
|
+
import"./index-1rdjjbh3.js";
|
|
13
13
|
import"./index-sh01r3pm.js";
|
|
14
|
-
import"./index-
|
|
15
|
-
import"./index-
|
|
14
|
+
import"./index-64yeb8sh.js";
|
|
15
|
+
import"./index-vgntcq1j.js";
|
|
16
16
|
import"./index-j37qq1f2.js";
|
|
17
17
|
import"./index-76rn3g2c.js";
|
|
18
18
|
import {
|
|
19
19
|
Workspace,
|
|
20
20
|
command
|
|
21
|
-
} from "./index-
|
|
22
|
-
import"./index-
|
|
21
|
+
} from "./index-54kzhhbz.js";
|
|
22
|
+
import"./index-8ve7n6yj.js";
|
|
23
23
|
import"./index-f39512t6.js";
|
|
24
24
|
import"./index-mxvakhsm.js";
|
|
25
25
|
import"./index-xys926f2.js";
|
|
@@ -366,6 +366,40 @@ const config: AppConfig = { docker: "FROM oven/bun:1-slim\n…" }; // verbatim,
|
|
|
366
366
|
- `AkanAppConfig.docker` is the resolved declaration; `AkanAppConfig.dockerfile` is the text `akan build` writes
|
|
367
367
|
to `dist/apps/<app>/Dockerfile`.
|
|
368
368
|
|
|
369
|
+
## Shipped Assets — `assets` In `akan.config.ts`
|
|
370
|
+
|
|
371
|
+
`akan build` copies the whole `public/` tree into `dist`, lib assets dereferenced, and that copy is the image.
|
|
372
|
+
**`assets: { pruneFonts, keepFonts }`** trims the fonts out of it that nothing reads. **Source trees are never
|
|
373
|
+
touched** — an app's and a lib's own `public/` keep every file, because one shared font folder is picked over
|
|
374
|
+
differently by every app that mounts it and by other repos.
|
|
375
|
+
|
|
376
|
+
```ts
|
|
377
|
+
const config: LibConfig = { assets: { keepFonts: ["fonts/Assistant-*.woff2"] } }; // libs/<lib>/akan.config.ts
|
|
378
|
+
const config: AppConfig = { assets: { pruneFonts: false } }; // emergency valve, not the normal escape hatch
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
- **A font with `optimize` on is a build input, not a runtime asset.** `FontOptimizer` subsets it into
|
|
382
|
+
`.akan/artifact/fonts` and the emitted CSS points at `/_akan/fonts/*`, which `WebRouter` serves from the
|
|
383
|
+
artifact — so the source in `public/` is never opened again. That is the bulk of what this drops, and it
|
|
384
|
+
applies to the fonts the app *does* use, not only the ones it does not.
|
|
385
|
+
- **The keep-set is derived per app, per build; there is no list of fonts to drop.** An exclude list would rot
|
|
386
|
+
the moment another app or repo started using one of them, and nobody would know to update it. A font survives
|
|
387
|
+
because ① its font declares `optimize: false`, so `FontCss.getRuntimeCss` emits the raw src; ② something
|
|
388
|
+
references its filename — anything under `public/`, the compiled stylesheet, a client/server bundle, the CSR
|
|
389
|
+
shell; or ③ a `keepFonts` glob names it.
|
|
390
|
+
- **`keepFonts` belongs to the `akan.config.ts` that owns the font**, written against that lib's or app's own
|
|
391
|
+
`public/` (`"fonts/X.woff2"`, resolved to `libs/<lib>/fonts/X.woff2`). A lib shared across repos carries the
|
|
392
|
+
reason its own CSS needs a font, instead of every mounting app rediscovering it in production.
|
|
393
|
+
- **A reference from a build bundle is ignored for an already-subset font.** Every route file's `fonts`
|
|
394
|
+
declaration is inlined into the pages bundle, the client chunks and the CSR shell, so a declared source is in
|
|
395
|
+
all three whether or not anything loads it. `public/` and the compiled CSS are read as authoritative.
|
|
396
|
+
- **A generated manifest that lists every public asset keeps every font it names** — a service-worker precache
|
|
397
|
+
file is the usual one. That is a real reference, not a false positive, so the build reports it at `info`:
|
|
398
|
+
read the `[font-prune] kept …` line before concluding the prune does nothing.
|
|
399
|
+
- Matching is by filename, including the percent-encoded spelling, so a `url()` survives however it is written.
|
|
400
|
+
- The phase is `assets`, between `csr` and `compress`. An api-only build (`web: false`) copies no `public/` and
|
|
401
|
+
the phase finds nothing to do.
|
|
402
|
+
|
|
369
403
|
## React Components And Styling (`**/*.tsx`)
|
|
370
404
|
|
|
371
405
|
- Components are `export const X = ({ … }: XProps) => { return (…); };` — arrow const with a block body. `export default` is reserved for pages, layouts, and `lazy()` targets.
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
AkanContextAnalyzer
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-64yeb8sh.js";
|
|
5
5
|
import {
|
|
6
6
|
createRepairReport,
|
|
7
7
|
generatedFilePathsForTarget,
|
|
8
8
|
renderRepairReport,
|
|
9
9
|
writeGeneratedSyncState,
|
|
10
10
|
writeWorkflowRunArtifact
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-vgntcq1j.js";
|
|
12
12
|
import {
|
|
13
13
|
runner
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-54kzhhbz.js";
|
|
15
15
|
|
|
16
16
|
// pkgs/@akanjs/cli/repair/repair.runner.ts
|
|
17
17
|
var commandForShell = (command) => command.startsWith("akan ") ? `bun run ${command}` : command;
|
|
@@ -9,14 +9,14 @@ import {
|
|
|
9
9
|
createPassedPrimitiveReport,
|
|
10
10
|
generatedFilesForSync,
|
|
11
11
|
scalarChangedFiles
|
|
12
|
-
} from "./index-
|
|
12
|
+
} from "./index-vgntcq1j.js";
|
|
13
13
|
import {
|
|
14
14
|
Prompter
|
|
15
15
|
} from "./index-j37qq1f2.js";
|
|
16
16
|
import {
|
|
17
17
|
runner,
|
|
18
18
|
script
|
|
19
|
-
} from "./index-
|
|
19
|
+
} from "./index-54kzhhbz.js";
|
|
20
20
|
|
|
21
21
|
// pkgs/@akanjs/cli/scalar/scalar.prompt.ts
|
|
22
22
|
import { input } from "@inquirer/prompts";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
workflowRunArtifactPath,
|
|
4
4
|
workflowSyncDir
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-vgntcq1j.js";
|
|
6
6
|
import {
|
|
7
7
|
AppExecutor,
|
|
8
8
|
LibExecutor,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
readDevkitVersion,
|
|
12
12
|
rootAllowedDirs,
|
|
13
13
|
rootAllowedFiles
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-8ve7n6yj.js";
|
|
15
15
|
import {
|
|
16
16
|
collectRecipeSources,
|
|
17
17
|
findInlineRecipeDuplicates,
|
|
@@ -268,7 +268,8 @@ var DEFAULT_AKAN_IMAGE_CONFIG = {
|
|
|
268
268
|
dangerouslyAllowSVG: false,
|
|
269
269
|
maximumRedirects: 3,
|
|
270
270
|
fetchTimeoutMs: 7000,
|
|
271
|
-
maxRemoteBytes: 25 * 1024 * 1024
|
|
271
|
+
maxRemoteBytes: 25 * 1024 * 1024,
|
|
272
|
+
maxConcurrency: 0
|
|
272
273
|
};
|
|
273
274
|
var normalizeIndexPath = (indexPath) => {
|
|
274
275
|
const normalized = indexPath?.trim();
|
|
@@ -317,8 +318,12 @@ var normalizeDeepLinks = (deepLinks) => {
|
|
|
317
318
|
};
|
|
318
319
|
var emptyLibContributions = () => ({
|
|
319
320
|
externalLibs: [],
|
|
320
|
-
docker: { preRuns: [], postRuns: [] }
|
|
321
|
+
docker: { preRuns: [], postRuns: [] },
|
|
322
|
+
keepFonts: []
|
|
321
323
|
});
|
|
324
|
+
var normalizeKeepFonts = (keepFonts) => [
|
|
325
|
+
...new Set((keepFonts ?? []).map((glob) => glob.trim().replace(/^\/+/, "")).filter(Boolean))
|
|
326
|
+
];
|
|
322
327
|
var dedupeDockerRuns = (runs) => {
|
|
323
328
|
const byKey = new Map;
|
|
324
329
|
for (const run of runs)
|
|
@@ -342,6 +347,7 @@ class AkanAppConfig {
|
|
|
342
347
|
mobile;
|
|
343
348
|
hasMobileConfig;
|
|
344
349
|
secrets;
|
|
350
|
+
assets;
|
|
345
351
|
syncPageLibs;
|
|
346
352
|
baseDevEnv;
|
|
347
353
|
libs;
|
|
@@ -372,6 +378,13 @@ class AkanAppConfig {
|
|
|
372
378
|
process.env.AKAN_PUBLIC_LOCALES = this.i18n.locales.join(",");
|
|
373
379
|
this.publicEnv = config?.publicEnv ?? [];
|
|
374
380
|
this.secrets = config?.secrets ?? [];
|
|
381
|
+
this.assets = {
|
|
382
|
+
pruneFonts: config?.assets?.pruneFonts ?? true,
|
|
383
|
+
keepFonts: [
|
|
384
|
+
...normalizeKeepFonts(config?.assets?.keepFonts),
|
|
385
|
+
...libContributions.keepFonts ?? []
|
|
386
|
+
]
|
|
387
|
+
};
|
|
375
388
|
this.syncPageLibs = config?.syncPageLibs ?? false;
|
|
376
389
|
this.hasMobileConfig = Boolean(config.mobile);
|
|
377
390
|
this.mobile = this.#resolveMobileConfig(config.mobile);
|
|
@@ -569,7 +582,8 @@ CMD [${command.map((c) => `"${c}"`).join(",")}]`;
|
|
|
569
582
|
docker: {
|
|
570
583
|
preRuns: libConfigs.flatMap((libConfig) => libConfig?.docker.preRuns ?? []),
|
|
571
584
|
postRuns: libConfigs.flatMap((libConfig) => libConfig?.docker.postRuns ?? [])
|
|
572
|
-
}
|
|
585
|
+
},
|
|
586
|
+
keepFonts: libConfigs.flatMap((libConfig) => (libConfig?.assets.keepFonts ?? []).map((glob) => `libs/${libConfig?.lib.name}/${glob}`))
|
|
573
587
|
};
|
|
574
588
|
}
|
|
575
589
|
#resolveProductionDependencyVersion(lib) {
|
|
@@ -669,11 +683,13 @@ class AkanLibConfig {
|
|
|
669
683
|
lib;
|
|
670
684
|
externalLibs;
|
|
671
685
|
docker;
|
|
686
|
+
assets;
|
|
672
687
|
plugins;
|
|
673
688
|
constructor(lib, config, plugins = []) {
|
|
674
689
|
this.lib = lib;
|
|
675
690
|
this.externalLibs = config?.externalLibs ?? [];
|
|
676
691
|
this.docker = { preRuns: config?.docker?.preRuns ?? [], postRuns: config?.docker?.postRuns ?? [] };
|
|
692
|
+
this.assets = { keepFonts: normalizeKeepFonts(config?.assets?.keepFonts) };
|
|
677
693
|
this.plugins = plugins;
|
|
678
694
|
}
|
|
679
695
|
static async from(lib, { bustImportCache = false } = {}) {
|
|
@@ -2691,7 +2707,7 @@ class AppExecutor extends SysExecutor {
|
|
|
2691
2707
|
} else {
|
|
2692
2708
|
await this.removeDir(".akan");
|
|
2693
2709
|
if (!akanConfig2.web.ssr || !akanConfig2.web.csr)
|
|
2694
|
-
this.logger.
|
|
2710
|
+
this.logger.verbose(`akan.config.ts disables web.${!akanConfig2.web.ssr ? "ssr" : "csr"}; \`akan start\` still serves it, \`akan build\` will not`);
|
|
2695
2711
|
}
|
|
2696
2712
|
if (type === "start")
|
|
2697
2713
|
process.env.NODE_ENV = "development";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
ModuleScript
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-xgd380f4.js";
|
|
5
5
|
import {
|
|
6
6
|
addFieldUiPolicyForType,
|
|
7
7
|
coerceFieldDefault,
|
|
@@ -34,15 +34,15 @@ import {
|
|
|
34
34
|
sourceFile,
|
|
35
35
|
validationCommandsForTarget,
|
|
36
36
|
viaBuilderParameterName
|
|
37
|
-
} from "./index-
|
|
37
|
+
} from "./index-vgntcq1j.js";
|
|
38
38
|
import {
|
|
39
39
|
script
|
|
40
|
-
} from "./index-
|
|
40
|
+
} from "./index-54kzhhbz.js";
|
|
41
41
|
import {
|
|
42
42
|
AppExecutor,
|
|
43
43
|
LibExecutor,
|
|
44
44
|
ModuleExecutor
|
|
45
|
-
} from "./index-
|
|
45
|
+
} from "./index-8ve7n6yj.js";
|
|
46
46
|
|
|
47
47
|
// pkgs/@akanjs/cli/primitive/primitive.script.ts
|
|
48
48
|
import { capitalize } from "akanjs/common";
|