which-url 0.0.2 → 0.0.3
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 +6 -0
- package/dist/env-var.d.ts +8 -0
- package/dist/env-var.d.ts.map +1 -1
- package/dist/index.js +34 -13
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -126,6 +126,12 @@ url.href // never throws
|
|
|
126
126
|
|
|
127
127
|
In **development**, it always falls back to localhost.
|
|
128
128
|
|
|
129
|
+
## Gotchas
|
|
130
|
+
|
|
131
|
+
### Vercel: Redeploy after assigning a custom domain
|
|
132
|
+
|
|
133
|
+
Framework-prefixed env vars like `NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL` are inlined into the bundle at **build time** — the bundler replaces references with their literal values. If you assign a custom domain after deploying, the old deployment still has the previous URL baked in. Trigger a new deployment for the updated domain to take effect.
|
|
134
|
+
|
|
129
135
|
## Cloudflare Workers
|
|
130
136
|
|
|
131
137
|
Cloudflare Workers use runtime `env` bindings instead of `process.env`. Set `APP_URL` in `wrangler.toml`:
|
package/dist/env-var.d.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read an env var, checking all framework-prefixed versions.
|
|
3
|
+
* On the server, unprefixed wins (it's always set).
|
|
4
|
+
* On the client, the bundler inlines the prefixed version.
|
|
5
|
+
*
|
|
6
|
+
* When called with an `env` object (e.g. from provider detection),
|
|
7
|
+
* falls back to dynamic lookup for test/server compatibility.
|
|
8
|
+
*/
|
|
1
9
|
export declare function getVar(env: Record<string, string | undefined>, name: string): string | undefined;
|
|
2
10
|
export declare function getEnv(): Record<string, string | undefined>;
|
|
3
11
|
//# sourceMappingURL=env-var.d.ts.map
|
package/dist/env-var.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-var.d.ts","sourceRoot":"","sources":["../src/env-var.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env-var.d.ts","sourceRoot":"","sources":["../src/env-var.ts"],"names":[],"mappings":"AAgGA;;;;;;;GAOG;AACH,wBAAgB,MAAM,CACpB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CA0BpB;AAED,wBAAgB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAK3D"}
|
package/dist/index.js
CHANGED
|
@@ -1,18 +1,39 @@
|
|
|
1
1
|
// src/env-var.ts
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
2
|
+
function readStatic(name) {
|
|
3
|
+
switch (name) {
|
|
4
|
+
case "VERCEL_ENV":
|
|
5
|
+
return process.env.VERCEL_ENV || process.env.NEXT_PUBLIC_VERCEL_ENV || process.env.NUXT_ENV_VERCEL_ENV || process.env.VITE_VERCEL_ENV || process.env.PUBLIC_VERCEL_ENV || process.env.REACT_APP_VERCEL_ENV || process.env.GATSBY_VERCEL_ENV || process.env.VUE_APP_VERCEL_ENV || process.env.REDWOOD_ENV_VERCEL_ENV || process.env.SANITY_STUDIO_VERCEL_ENV || undefined;
|
|
6
|
+
case "VERCEL_URL":
|
|
7
|
+
return process.env.VERCEL_URL || process.env.NEXT_PUBLIC_VERCEL_URL || process.env.NUXT_ENV_VERCEL_URL || process.env.VITE_VERCEL_URL || process.env.PUBLIC_VERCEL_URL || process.env.REACT_APP_VERCEL_URL || process.env.GATSBY_VERCEL_URL || process.env.VUE_APP_VERCEL_URL || process.env.REDWOOD_ENV_VERCEL_URL || process.env.SANITY_STUDIO_VERCEL_URL || undefined;
|
|
8
|
+
case "VERCEL_BRANCH_URL":
|
|
9
|
+
return process.env.VERCEL_BRANCH_URL || process.env.NEXT_PUBLIC_VERCEL_BRANCH_URL || process.env.NUXT_ENV_VERCEL_BRANCH_URL || process.env.VITE_VERCEL_BRANCH_URL || process.env.PUBLIC_VERCEL_BRANCH_URL || process.env.REACT_APP_VERCEL_BRANCH_URL || process.env.GATSBY_VERCEL_BRANCH_URL || process.env.VUE_APP_VERCEL_BRANCH_URL || process.env.REDWOOD_ENV_VERCEL_BRANCH_URL || process.env.SANITY_STUDIO_VERCEL_BRANCH_URL || undefined;
|
|
10
|
+
case "VERCEL_PROJECT_PRODUCTION_URL":
|
|
11
|
+
return process.env.VERCEL_PROJECT_PRODUCTION_URL || process.env.NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL || process.env.NUXT_ENV_VERCEL_PROJECT_PRODUCTION_URL || process.env.VITE_VERCEL_PROJECT_PRODUCTION_URL || process.env.PUBLIC_VERCEL_PROJECT_PRODUCTION_URL || process.env.REACT_APP_VERCEL_PROJECT_PRODUCTION_URL || process.env.GATSBY_VERCEL_PROJECT_PRODUCTION_URL || process.env.VUE_APP_VERCEL_PROJECT_PRODUCTION_URL || process.env.REDWOOD_ENV_VERCEL_PROJECT_PRODUCTION_URL || process.env.SANITY_STUDIO_VERCEL_PROJECT_PRODUCTION_URL || undefined;
|
|
12
|
+
case "APP_URL":
|
|
13
|
+
return process.env.APP_URL || process.env.NEXT_PUBLIC_APP_URL || process.env.NUXT_ENV_APP_URL || process.env.VITE_APP_URL || process.env.PUBLIC_APP_URL || process.env.REACT_APP_APP_URL || process.env.GATSBY_APP_URL || process.env.VUE_APP_APP_URL || process.env.REDWOOD_ENV_APP_URL || process.env.SANITY_STUDIO_APP_URL || undefined;
|
|
14
|
+
case "APP_ENV":
|
|
15
|
+
return process.env.APP_ENV || process.env.NEXT_PUBLIC_APP_ENV || process.env.NUXT_ENV_APP_ENV || process.env.VITE_APP_ENV || process.env.PUBLIC_APP_ENV || process.env.REACT_APP_APP_ENV || process.env.GATSBY_APP_ENV || process.env.VUE_APP_APP_ENV || process.env.REDWOOD_ENV_APP_ENV || process.env.SANITY_STUDIO_APP_ENV || undefined;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
14
18
|
function getVar(env, name) {
|
|
15
|
-
|
|
19
|
+
if (typeof process !== "undefined" && process?.env && env === process.env) {
|
|
20
|
+
const val = readStatic(name);
|
|
21
|
+
if (val)
|
|
22
|
+
return val;
|
|
23
|
+
}
|
|
24
|
+
const PREFIXES = [
|
|
25
|
+
"",
|
|
26
|
+
"NEXT_PUBLIC_",
|
|
27
|
+
"NUXT_ENV_",
|
|
28
|
+
"VITE_",
|
|
29
|
+
"PUBLIC_",
|
|
30
|
+
"REACT_APP_",
|
|
31
|
+
"GATSBY_",
|
|
32
|
+
"VUE_APP_",
|
|
33
|
+
"REDWOOD_ENV_",
|
|
34
|
+
"SANITY_STUDIO_"
|
|
35
|
+
];
|
|
36
|
+
for (const prefix of PREFIXES) {
|
|
16
37
|
const val = env[prefix + name];
|
|
17
38
|
if (val)
|
|
18
39
|
return val;
|