polen 0.3.1-next.1 → 0.3.1
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 +10 -5
- package/build/api/load-config.d.ts +2 -0
- package/build/api/load-config.d.ts.map +1 -1
- package/build/api/load-config.js +2 -2
- package/build/api/load-config.js.map +1 -1
- package/build/api/vite/plugins/build.d.ts.map +1 -1
- package/build/api/vite/plugins/build.js +5 -2
- package/build/api/vite/plugins/build.js.map +1 -1
- package/build/cli/commands/build.js +10 -0
- package/build/cli/commands/build.js.map +1 -1
- package/package.json +1 -1
- package/src/api/load-config.ts +4 -2
- package/src/api/vite/plugins/build.ts +5 -2
- package/src/cli/commands/build.ts +11 -0
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ npm add polen
|
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
3. You now have a deployable developer portal. Try it locally
|
|
28
|
-
(http://localhost:
|
|
28
|
+
(http://localhost:3001):
|
|
29
29
|
|
|
30
30
|
```sh
|
|
31
31
|
node dist/entry.js
|
|
@@ -35,6 +35,9 @@ npm add polen
|
|
|
35
35
|
|
|
36
36
|
You can find working examples in the [examples](./examples) directory.
|
|
37
37
|
|
|
38
|
+
> [!NOTE]
|
|
39
|
+
> These examples work against the version of Polen on trunk. Every commit on trunk is available as a pre-release on npm. You may see behaviour in the examples that has not been released in a stable version of Polen yet.
|
|
40
|
+
|
|
38
41
|
## Guide
|
|
39
42
|
|
|
40
43
|
### Providing a Schema
|
|
@@ -85,10 +88,12 @@ export default Polen.defineConfig({
|
|
|
85
88
|
useDataSources: `memory`,
|
|
86
89
|
dataSources: {
|
|
87
90
|
memory: {
|
|
88
|
-
versions: [
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
91
|
+
versions: [
|
|
92
|
+
{
|
|
93
|
+
date: new Date('2023-01-13'),
|
|
94
|
+
value: `type Query { hello: String }`,
|
|
95
|
+
},
|
|
96
|
+
],
|
|
92
97
|
},
|
|
93
98
|
},
|
|
94
99
|
},
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Vite } from '#dep/vite/index.js';
|
|
2
|
+
import type { Configurator } from './configurator/index.js';
|
|
2
3
|
export declare const loadConfig: (args: {
|
|
3
4
|
env: Vite.ConfigEnv;
|
|
4
5
|
dir?: string;
|
|
6
|
+
overrides?: Configurator.ConfigInput;
|
|
5
7
|
}) => Promise<Vite.UserConfig>;
|
|
6
8
|
//# sourceMappingURL=load-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-config.d.ts","sourceRoot":"","sources":["../../src/api/load-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"load-config.d.ts","sourceRoot":"","sources":["../../src/api/load-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAEzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAI3D,eAAO,MAAM,UAAU,GAAU,MAAM;IACrC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,YAAY,CAAC,WAAW,CAAA;CACrC,KAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAqB1B,CAAA"}
|
package/build/api/load-config.js
CHANGED
|
@@ -7,10 +7,10 @@ export const loadConfig = async (args) => {
|
|
|
7
7
|
const dir = Path.ensureAbsoluteWithCWD(args.dir ?? process.cwd());
|
|
8
8
|
const configFilePath = Path.ensureAbsolute(`polen.config.ts`, dir);
|
|
9
9
|
if (!await Fs.exists(configFilePath)) {
|
|
10
|
-
return await defineConfig();
|
|
10
|
+
return await defineConfig(args.overrides);
|
|
11
11
|
}
|
|
12
12
|
const loaded = await Vite.loadConfigFromFile(env, configFilePath, dir, undefined, logger);
|
|
13
|
-
const config = loaded?.config ?? await defineConfig();
|
|
13
|
+
const config = loaded?.config ?? await defineConfig(args.overrides);
|
|
14
14
|
return config;
|
|
15
15
|
};
|
|
16
16
|
//# sourceMappingURL=load-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-config.js","sourceRoot":"","sources":["../../src/api/load-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"load-config.js","sourceRoot":"","sources":["../../src/api/load-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,IAIhC,EAA4B,EAAE;IAC7B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IACpB,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAEjE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;IAElE,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QACrC,OAAO,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC1C,GAAG,EACH,cAAc,EACd,GAAG,EACH,SAAS,EACT,MAAM,CACP,CAAA;IAED,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAEnE,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../src/api/vite/plugins/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAGzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAM/D,eAAO,MAAM,KAAK,GAAI,QAAQ,YAAY,CAAC,MAAM,KAAG,IAAI,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../src/api/vite/plugins/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAGzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAM/D,eAAO,MAAM,KAAK,GAAI,QAAQ,YAAY,CAAC,MAAM,KAAG,IAAI,CAAC,MAAM,EA0L9D,CAAA"}
|
|
@@ -62,14 +62,17 @@ export const Build = (config) => {
|
|
|
62
62
|
applyToEnvironment: Vite.isEnvironmentSsr,
|
|
63
63
|
config() {
|
|
64
64
|
return {
|
|
65
|
+
// Have to configure this here??
|
|
66
|
+
// @see https://github.com/vitejs/vite/issues/20098
|
|
65
67
|
ssr: {
|
|
66
68
|
noExternal: true,
|
|
67
69
|
},
|
|
68
70
|
environments: {
|
|
69
71
|
ssr: {
|
|
70
72
|
build: {
|
|
73
|
+
// NO EFFECT (see above)
|
|
71
74
|
// Bundle all dependencies instead of externalizing them
|
|
72
|
-
noExternal: true,
|
|
75
|
+
// noExternal: true,
|
|
73
76
|
// The SSR build will follow the client build, and emptying the dir would lose the output of the client build.
|
|
74
77
|
emptyOutDir: false,
|
|
75
78
|
rollupOptions: {
|
|
@@ -94,7 +97,7 @@ export const Build = (config) => {
|
|
|
94
97
|
// relative from CWD of process that boots node server
|
|
95
98
|
// can easily break! Use path relative in server??
|
|
96
99
|
dirPath: `./dist`,
|
|
97
|
-
routePath:
|
|
100
|
+
routePath: `/${viteConfigResolved.build.assetsDir}/*`,
|
|
98
101
|
};
|
|
99
102
|
const code = Str.Builder();
|
|
100
103
|
const _ = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../src/api/vite/plugins/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AAC1F,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAE7B,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAA;AAElF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAA2B,EAAiB,EAAE;IAClE,IAAI,kBAAuC,CAAA;IAE3C,iEAAiE;IAEjE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACxB,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,OAAO;YACd,kBAAkB,EAAE,IAAI,CAAC,mBAAmB;YAC5C,gFAAgF;YAChF,kFAAkF;YAClF,yDAAyD;YACzD,mDAAmD;YACnD,6CAA6C;YAC7C,mDAAmD;YACnD,QAAQ;YACR,wEAAwE;YACxE,iDAAiD;YACjD,wCAAwC;YACxC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO;gBAC/B,IAAI,OAAO,EAAE,CAAC;oBACZ,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;wBACjD,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;4BACrF,2BAA2B;4BAC3B,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;wBACtC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,KAAK,CAAC,CAAC,EAAE,OAAO;gBACd,IAAI,2BAA2B,CAAC,OAAO,CAAC;oBAAE,OAAM;gBAChD,IAAI,yBAAyB,CAAC,OAAO,CAAC;oBAAE,OAAM;YAChD,CAAC;YACD,MAAM;gBACJ,OAAO;oBACL,YAAY,EAAE;wBACZ,MAAM,EAAE;4BACN,KAAK,EAAE;gCACL,QAAQ,EAAE,IAAI;gCACd,aAAa,EAAE;oCACb,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;oCACpD,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;oCACtC,MAAM,CAAC,OAAO;wCACZ,IAAI,yBAAyB,CAAC,OAAO,CAAC;4CAAE,OAAM;oCAChD,CAAC;iCACF;6BACF;yBACF;qBACF;iBACF,CAAA;YACH,CAAC;SACF,EAAE;YACD,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,OAAO;YACd,kBAAkB,EAAE,IAAI,CAAC,gBAAgB;YACzC,MAAM;gBACJ,OAAO;oBACL,GAAG,EAAE;wBACH,UAAU,EAAE,IAAI;qBACjB;oBACD,YAAY,EAAE;wBACZ,GAAG,EAAE;4BACH,KAAK,EAAE;gCACL,wDAAwD;gCACxD,
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../src/api/vite/plugins/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAE/C,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AAC1F,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAE7B,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAA;AAElF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAA2B,EAAiB,EAAE;IAClE,IAAI,kBAAuC,CAAA;IAE3C,iEAAiE;IAEjE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACxB,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,OAAO;YACd,kBAAkB,EAAE,IAAI,CAAC,mBAAmB;YAC5C,gFAAgF;YAChF,kFAAkF;YAClF,yDAAyD;YACzD,mDAAmD;YACnD,6CAA6C;YAC7C,mDAAmD;YACnD,QAAQ;YACR,wEAAwE;YACxE,iDAAiD;YACjD,wCAAwC;YACxC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO;gBAC/B,IAAI,OAAO,EAAE,CAAC;oBACZ,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;wBACjD,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;4BACrF,2BAA2B;4BAC3B,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;wBACtC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,KAAK,CAAC,CAAC,EAAE,OAAO;gBACd,IAAI,2BAA2B,CAAC,OAAO,CAAC;oBAAE,OAAM;gBAChD,IAAI,yBAAyB,CAAC,OAAO,CAAC;oBAAE,OAAM;YAChD,CAAC;YACD,MAAM;gBACJ,OAAO;oBACL,YAAY,EAAE;wBACZ,MAAM,EAAE;4BACN,KAAK,EAAE;gCACL,QAAQ,EAAE,IAAI;gCACd,aAAa,EAAE;oCACb,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC;oCACpD,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;oCACtC,MAAM,CAAC,OAAO;wCACZ,IAAI,yBAAyB,CAAC,OAAO,CAAC;4CAAE,OAAM;oCAChD,CAAC;iCACF;6BACF;yBACF;qBACF;iBACF,CAAA;YACH,CAAC;SACF,EAAE;YACD,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,OAAO;YACd,kBAAkB,EAAE,IAAI,CAAC,gBAAgB;YACzC,MAAM;gBACJ,OAAO;oBACL,gCAAgC;oBAChC,mDAAmD;oBACnD,GAAG,EAAE;wBACH,UAAU,EAAE,IAAI;qBACjB;oBACD,YAAY,EAAE;wBACZ,GAAG,EAAE;4BACH,KAAK,EAAE;gCACL,wBAAwB;gCACxB,wDAAwD;gCACxD,oBAAoB;gCACpB,8GAA8G;gCAC9G,WAAW,EAAE,KAAK;gCAClB,aAAa,EAAE;oCACb,KAAK,EAAE,aAAa,CAAC,EAAE;iCACxB;6BACF;yBACF;qBACF;iBACF,CAAA;YACH,CAAC;YACD,cAAc,CAAC,MAAM;gBACnB,kBAAkB,GAAG,MAAM,CAAA;YAC7B,CAAC;YACD,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,CACrC;gBACE,UAAU,EAAE,aAAa;gBACzB,MAAM,EAAE,GAAG,EAAE;oBACX,wDAAwD;oBACxD,MAAM,uBAAuB,GAAG,GAAG;0BAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;oBAC9F,MAAM,kBAAkB,GAAG;wBACzB,OAAO;wBACP,sDAAsD;wBACtD,kDAAkD;wBAClD,OAAO,EAAE,QAAQ;wBACjB,SAAS,EAAE,IAAI,kBAAkB,CAAC,KAAK,CAAC,SAAS,IAAI;qBACtD,CAAA;oBAED,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAA;oBAE1B,MAAM,CAAC,GAAG;wBACR,GAAG,EAAE,KAAK;wBACV,KAAK,EAAE,OAAO;wBACd,OAAO,EAAE,SAAS;qBACnB,CAAA;oBAED,MAAM,QAAQ,GAAG,MAAM,CAAA;oBACvB,MAAM,6BAA6B,GAAG,gCAAgC,CAAA;oBACtE,MAAM,kBAAkB,GAAG,mBAAmB,CAAA;oBAE9C,sCAAsC;oBACtC,IAAI,CAAA,yBAAyB,QAAQ,GAAG,CAAA;oBACxC,IAAI,CAAA,EAAE,CAAA;oBACN,IAAI,CAAA,SAAS,CAAC,CAAC,GAAG,eAAe,CAAA;oBACjC,IAAI,CAAA,EAAE,CAAA;oBACN,IAAI,CAAA,EAAE,CAAA;oBACN,IAAI,CAAA,iBAAiB,CAAA;oBACrB,IAAI,CAAA,EAAE,CAAA;oBACN,IAAI,CAAA,gCAAgC,6BAA6B,GAAG,CAAA;oBACpE,IAAI,CAAA,EAAE,CAAA;oBACN,IAAI,CAAA,GAAG,CAAC,CAAC,GAAG;WACX,kBAAkB,CAAC,SAAS;+BACR,kBAAkB,CAAC,OAAO;SAChD,CAAA;oBACC,IAAI,CAAA,EAAE,CAAA;oBACN,IAAI,CAAA,EAAE,CAAA;oBACN,IAAI,CAAA,YAAY,CAAA;oBAChB,IAAI,CAAA,EAAE,CAAA;oBACN,IAAI,CAAA,SAAS,CAAC,CAAC,OAAO;YACpB,uBAAuB;;SAE1B,CAAA;oBACC,IAAI,CAAA,EAAE,CAAA;oBACN,IAAI,CAAA,wDAAwD,CAAA;oBAC5D,IAAI,CAAA;;;;;;;;;OASP,CAAA;oBACG,IAAI,CAAA,cAAc,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,OAAO;iBAChD,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,KAAK;SACrC,CAAA;oBACC,IAAI,CAAA,EAAE,CAAA;oBACN,IAAI,CAAA,EAAE,CAAA;oBACN,IAAI,CAAA,iBAAiB,CAAA;oBACrB,IAAI,CAAA,EAAE,CAAA;oBACN,IAAI,CAAA,0BAA0B,kBAAkB,GAAG,CAAA;oBACnD,IAAI,CAAA,EAAE,CAAA;oBAEN,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAA;oBAC/C,IAAI,CAAC,oCAAoC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;oBAC3D,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAA;oBAE9C,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;gBACtB,CAAC;aACF,CACF;YACD,KAAK,CAAC,CAAC,EAAE,OAAO;gBACd,IAAI,yBAAyB,CAAC,OAAO,CAAC;oBAAE,OAAM;YAChD,CAAC;YAED,uCAAuC;YACvC,mBAAmB;YACnB,0DAA0D;YAC1D,kCAAkC;YAClC,6CAA6C;YAC7C,2EAA2E;YAC3E,wCAAwC;YACxC,iDAAiD;YACjD,YAAY;YACZ,UAAU;YACV,QAAQ;YACR,MAAM;YACN,KAAK;YACL,KAAK,CAAC,WAAW;gBACf;;mBAEG;gBACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAC3B,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;gBACpE,CAAC;YACH,CAAC;SACF,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;AAE3D,MAAM,QAAQ,GAAG,CAAC,MAA2B,EAAe,EAAE;IAC5D,IAAI,SAAyB,CAAA;IAE7B,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,MAAM,CAAC,CAAC,EAAE,UAAU;YAClB,SAAS,GAAG,UAAU,CAAA;QACxB,CAAC;QACD,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,CACrC;YACE,UAAU,EAAE,gBAAgB;YAC5B,MAAM,EAAE,KAAK,IAAI,EAAE;gBACjB,+CAA+C;gBAC/C,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;oBACjD,OAAO,mBAAmB,CAAA;gBAC5B,CAAC;gBAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,CAAA;gBACvF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAEnE,CAAA;gBAED,OAAO,kBAAkB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;YAC3D,CAAC;SACF,CACF;KACF,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Vite } from '#dep/vite/index.js';
|
|
3
|
+
import { Command } from '@molt/command';
|
|
4
|
+
import { z } from 'zod';
|
|
3
5
|
import { loadConfig } from '../../api/load-config.js';
|
|
6
|
+
const args = Command.create()
|
|
7
|
+
.parameter(`--debug -d`, z.boolean().default(false))
|
|
8
|
+
.parse();
|
|
4
9
|
const config = await loadConfig({
|
|
5
10
|
env: {
|
|
6
11
|
command: `build`,
|
|
7
12
|
mode: `production`,
|
|
8
13
|
},
|
|
14
|
+
overrides: {
|
|
15
|
+
advanced: {
|
|
16
|
+
debug: args.debug,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
9
19
|
});
|
|
10
20
|
const builder = await Vite.createBuilder(config);
|
|
11
21
|
await builder.buildApp();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;IAC9B,GAAG,EAAE;QACH,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;KACnB;CACF,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;AAEhD,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE;KAC1B,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACnD,KAAK,EAAE,CAAA;AAEV,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;IAC9B,GAAG,EAAE;QACH,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,YAAY;KACnB;IACD,SAAS,EAAE;QACT,QAAQ,EAAE;YACR,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB;KACF;CACF,CAAC,CAAA;AAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;AAEhD,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA"}
|
package/package.json
CHANGED
package/src/api/load-config.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Vite } from '#dep/vite/index.js'
|
|
2
2
|
import { Fs, Path } from '@wollybeard/kit'
|
|
3
|
+
import type { Configurator } from './configurator/index.js'
|
|
3
4
|
import { defineConfig } from './define-config.js'
|
|
4
5
|
import { logger } from './vite/logger.js'
|
|
5
6
|
|
|
6
7
|
export const loadConfig = async (args: {
|
|
7
8
|
env: Vite.ConfigEnv
|
|
8
9
|
dir?: string
|
|
10
|
+
overrides?: Configurator.ConfigInput
|
|
9
11
|
}): Promise<Vite.UserConfig> => {
|
|
10
12
|
const { env } = args
|
|
11
13
|
const dir = Path.ensureAbsoluteWithCWD(args.dir ?? process.cwd())
|
|
@@ -13,7 +15,7 @@ export const loadConfig = async (args: {
|
|
|
13
15
|
const configFilePath = Path.ensureAbsolute(`polen.config.ts`, dir)
|
|
14
16
|
|
|
15
17
|
if (!await Fs.exists(configFilePath)) {
|
|
16
|
-
return await defineConfig()
|
|
18
|
+
return await defineConfig(args.overrides)
|
|
17
19
|
}
|
|
18
20
|
|
|
19
21
|
const loaded = await Vite.loadConfigFromFile(
|
|
@@ -24,7 +26,7 @@ export const loadConfig = async (args: {
|
|
|
24
26
|
logger,
|
|
25
27
|
)
|
|
26
28
|
|
|
27
|
-
const config = loaded?.config ?? await defineConfig()
|
|
29
|
+
const config = loaded?.config ?? await defineConfig(args.overrides)
|
|
28
30
|
|
|
29
31
|
return config
|
|
30
32
|
}
|
|
@@ -64,14 +64,17 @@ export const Build = (config: Configurator.Config): Vite.Plugin[] => {
|
|
|
64
64
|
applyToEnvironment: Vite.isEnvironmentSsr,
|
|
65
65
|
config() {
|
|
66
66
|
return {
|
|
67
|
+
// Have to configure this here??
|
|
68
|
+
// @see https://github.com/vitejs/vite/issues/20098
|
|
67
69
|
ssr: {
|
|
68
70
|
noExternal: true,
|
|
69
71
|
},
|
|
70
72
|
environments: {
|
|
71
73
|
ssr: {
|
|
72
74
|
build: {
|
|
75
|
+
// NO EFFECT (see above)
|
|
73
76
|
// Bundle all dependencies instead of externalizing them
|
|
74
|
-
noExternal: true,
|
|
77
|
+
// noExternal: true,
|
|
75
78
|
// The SSR build will follow the client build, and emptying the dir would lose the output of the client build.
|
|
76
79
|
emptyOutDir: false,
|
|
77
80
|
rollupOptions: {
|
|
@@ -97,7 +100,7 @@ export const Build = (config: Configurator.Config): Vite.Plugin[] => {
|
|
|
97
100
|
// relative from CWD of process that boots node server
|
|
98
101
|
// can easily break! Use path relative in server??
|
|
99
102
|
dirPath: `./dist`,
|
|
100
|
-
routePath:
|
|
103
|
+
routePath: `/${viteConfigResolved.build.assetsDir}/*`,
|
|
101
104
|
}
|
|
102
105
|
|
|
103
106
|
const code = Str.Builder()
|
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { Vite } from '#dep/vite/index.js'
|
|
4
|
+
import { Command } from '@molt/command'
|
|
5
|
+
import { z } from 'zod'
|
|
4
6
|
import { loadConfig } from '../../api/load-config.js'
|
|
5
7
|
|
|
8
|
+
const args = Command.create()
|
|
9
|
+
.parameter(`--debug -d`, z.boolean().default(false))
|
|
10
|
+
.parse()
|
|
11
|
+
|
|
6
12
|
const config = await loadConfig({
|
|
7
13
|
env: {
|
|
8
14
|
command: `build`,
|
|
9
15
|
mode: `production`,
|
|
10
16
|
},
|
|
17
|
+
overrides: {
|
|
18
|
+
advanced: {
|
|
19
|
+
debug: args.debug,
|
|
20
|
+
},
|
|
21
|
+
},
|
|
11
22
|
})
|
|
12
23
|
|
|
13
24
|
const builder = await Vite.createBuilder(config)
|