@multiplatform.one/config 7.0.0 → 7.2.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/lib/index.js +1 -1
- package/lib/{vite-DzOl_bpS.js → vite-C7884n3X.js} +4 -1
- package/lib/vite.js +1 -1
- package/package.json +2 -2
- package/src/vite.spec.ts +31 -0
- package/src/vite.ts +7 -0
- package/types/vite.d.ts.map +1 -1
package/lib/index.js
CHANGED
|
@@ -80,7 +80,10 @@ function createViteConfig(options = {}) {
|
|
|
80
80
|
const { projectRoot: _projectRoot, publicConfigKeys = [], tamagui = true, i18n = false, one = false, ssr, server, plugins: extraPlugins = [], externalReactRouter, ssrDeps, ssrEntries, ssrCjsExternal, nativeFixes } = options;
|
|
81
81
|
const projectRoot = _projectRoot || findProjectRoot();
|
|
82
82
|
dotenv.config({ path: path.resolve(projectRoot, ".env") });
|
|
83
|
-
if (publicConfigKeys.length > 0)
|
|
83
|
+
if (publicConfigKeys.length > 0) {
|
|
84
|
+
process.env.VITE_MP_CONFIG = JSON.stringify(resolveConfig(publicConfigKeys));
|
|
85
|
+
process.env.VITE_MP_PUBLIC_CONFIG_KEYS = JSON.stringify(publicConfigKeys);
|
|
86
|
+
}
|
|
84
87
|
const vitePlugins = [];
|
|
85
88
|
vitePlugins.push(preferBuiltWorkspaceEntryPlugin());
|
|
86
89
|
if (one) {
|
package/lib/vite.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as createViteConfig } from "./vite-
|
|
1
|
+
import { t as createViteConfig } from "./vite-C7884n3X.js";
|
|
2
2
|
import { n as publicPackageViteSourceAliases, t as discoverPublicPackageRoots } from "./workspacePublicPackages-COicQSj4.js";
|
|
3
3
|
|
|
4
4
|
export { createViteConfig, discoverPublicPackageRoots, publicPackageViteSourceAliases };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@multiplatform.one/config",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.2.0",
|
|
4
4
|
"description": "Shared build and test configuration presets for multiplatform.one",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"config",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"vite-plugin-external": "^6.2.2",
|
|
88
88
|
"vite-plugin-i18next-loader": "^3.1.3",
|
|
89
89
|
"vitest": "^4.1.5",
|
|
90
|
-
"@multiplatform.one/utils": "7.
|
|
90
|
+
"@multiplatform.one/utils": "7.2.0"
|
|
91
91
|
},
|
|
92
92
|
"devDependencies": {
|
|
93
93
|
"tsdown": "^0.21.10",
|
package/src/vite.spec.ts
CHANGED
|
@@ -115,3 +115,34 @@ describe("nativeFixes.web3Stub", () => {
|
|
|
115
115
|
).toBeFalsy();
|
|
116
116
|
});
|
|
117
117
|
});
|
|
118
|
+
|
|
119
|
+
describe("public config bake", () => {
|
|
120
|
+
const bakedKeys = "VITE_MP_PUBLIC_CONFIG_KEYS";
|
|
121
|
+
const bakedValues = "VITE_MP_CONFIG";
|
|
122
|
+
|
|
123
|
+
beforeEach(() => {
|
|
124
|
+
delete process.env[bakedKeys];
|
|
125
|
+
delete process.env[bakedValues];
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
it("bakes the public key NAMES so the SSR server can resolve their values at runtime", () => {
|
|
129
|
+
// Values stay out of the image (an environment-agnostic build); the names
|
|
130
|
+
// travel instead, and double as the allowlist that keeps a private key out
|
|
131
|
+
// of the served document (@multiplatform.one/platform runtimeConfig).
|
|
132
|
+
createViteConfig({ publicConfigKeys: ["MARKETPLACE_API_URL", "FRAPPE_ENABLED"] });
|
|
133
|
+
expect(JSON.parse(process.env[bakedKeys]!)).toEqual(["MARKETPLACE_API_URL", "FRAPPE_ENABLED"]);
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
it("still bakes the build-environment VALUES so apps that bake keep working", () => {
|
|
137
|
+
process.env.MPO_VITE_SPEC_PUBLIC = "baked-in";
|
|
138
|
+
createViteConfig({ publicConfigKeys: ["MPO_VITE_SPEC_PUBLIC"] });
|
|
139
|
+
expect(JSON.parse(process.env[bakedValues]!)).toEqual({ MPO_VITE_SPEC_PUBLIC: "baked-in" });
|
|
140
|
+
delete process.env.MPO_VITE_SPEC_PUBLIC;
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
it("bakes nothing when the app declares no public keys", () => {
|
|
144
|
+
createViteConfig({});
|
|
145
|
+
expect(process.env[bakedKeys]).toBeUndefined();
|
|
146
|
+
expect(process.env[bakedValues]).toBeUndefined();
|
|
147
|
+
});
|
|
148
|
+
});
|
package/src/vite.ts
CHANGED
|
@@ -195,6 +195,13 @@ export function createViteConfig(options: CreateViteConfigOptions = {}): UserCon
|
|
|
195
195
|
dotenv.config({ path: path.resolve(projectRoot, ".env") });
|
|
196
196
|
if (publicConfigKeys.length > 0) {
|
|
197
197
|
process.env.VITE_MP_CONFIG = JSON.stringify(resolveConfig(publicConfigKeys));
|
|
198
|
+
// Bake only the NAMES of the public keys, never a value: this is what lets
|
|
199
|
+
// the SSR node process resolve their values from ITS OWN process.env at
|
|
200
|
+
// request time and publish them into the served document
|
|
201
|
+
// (@multiplatform.one/platform runtimeConfig.ts). Values stay out of the
|
|
202
|
+
// image, so one build is deployable to every environment; the names are
|
|
203
|
+
// also the allowlist that keeps a private key from ever being serialized.
|
|
204
|
+
process.env.VITE_MP_PUBLIC_CONFIG_KEYS = JSON.stringify(publicConfigKeys);
|
|
198
205
|
}
|
|
199
206
|
|
|
200
207
|
const vitePlugins: UserConfig["plugins"] = [];
|
package/types/vite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,MAAM,CAAC;AAI/C,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B;;OAEG;IACH,OAAO,CAAC,EACJ,OAAO,GACP;QACE;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QAEtB;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEN;;OAEG;IACH,IAAI,CAAC,EACD,OAAO,GACP;QACE;;;WAGG;QACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAEjB;;WAEG;QACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IAEN;;;OAGG;IACH,GAAG,CAAC,EACA,OAAO,GACP;QACE,MAAM,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC3B,GAAG,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACtD,KAAK,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAC/B,MAAM,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,CAAC;IAEN;;OAEG;IACH,GAAG,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAEhC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IAEF;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAElC;;;OAGG;IACH,WAAW,CAAC,EAAE;QACZ;;;;;;WAMG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB;;;;;;;WAOG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAU,UAAU,EAAE,MAAM,MAAM,CAAC;AAI/C,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B;;OAEG;IACH,OAAO,CAAC,EACJ,OAAO,GACP;QACE;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QAEtB;;;WAGG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB;;WAEG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEN;;OAEG;IACH,IAAI,CAAC,EACD,OAAO,GACP;QACE;;;WAGG;QACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAEjB;;WAEG;QACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IAEN;;;OAGG;IACH,GAAG,CAAC,EACA,OAAO,GACP;QACE,MAAM,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC3B,GAAG,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACtD,KAAK,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAC/B,MAAM,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,CAAC;IAEN;;OAEG;IACH,GAAG,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAEhC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IAEF;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAElC;;;OAGG;IACH,WAAW,CAAC,EAAE;QACZ;;;;;;WAMG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB;;;;;;;WAOG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,UAAU,CAgSlF;AAED,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC"}
|