keycloakify 9.4.0-rc.9 → 9.4.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 +4 -0
- package/account/i18n/baseMessages/index.d.ts +358 -0
- package/account/i18n/baseMessages/index.js +2 -1
- package/account/i18n/baseMessages/index.js.map +1 -1
- package/account/pages/PageProps.d.ts +3 -2
- package/bin/constants.d.ts +1 -1
- package/bin/constants.js +1 -1
- package/bin/constants.js.map +1 -1
- package/bin/copy-keycloak-resources-to-public.d.ts +13 -1
- package/bin/copy-keycloak-resources-to-public.js +134 -68
- package/bin/copy-keycloak-resources-to-public.js.map +1 -1
- package/bin/download-builtin-keycloak-theme.d.ts +1 -0
- package/bin/download-builtin-keycloak-theme.js +2 -3
- package/bin/download-builtin-keycloak-theme.js.map +1 -1
- package/bin/{tools/downloadAndUnzip.d.ts → downloadAndUnzip.d.ts} +6 -6
- package/bin/downloadAndUnzip.js +255 -0
- package/bin/downloadAndUnzip.js.map +1 -0
- package/bin/eject-keycloak-page.js +6 -3
- package/bin/eject-keycloak-page.js.map +1 -1
- package/bin/keycloakify/buildOptions/buildOptions.d.ts +1 -0
- package/bin/keycloakify/buildOptions/buildOptions.js +54 -39
- package/bin/keycloakify/buildOptions/buildOptions.js.map +1 -1
- package/bin/keycloakify/buildOptions/getCacheDirPath.d.ts +5 -0
- package/bin/keycloakify/buildOptions/getCacheDirPath.js +22 -0
- package/bin/keycloakify/buildOptions/getCacheDirPath.js.map +1 -0
- package/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.d.ts +5 -0
- package/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.js +86 -0
- package/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.js.map +1 -0
- package/bin/keycloakify/buildOptions/getReactAppRootDirPath.d.ts +5 -0
- package/bin/keycloakify/buildOptions/getReactAppRootDirPath.js +26 -0
- package/bin/keycloakify/buildOptions/getReactAppRootDirPath.js.map +1 -0
- package/bin/keycloakify/buildOptions/resolvedViteConfig.d.ts +3 -4
- package/bin/keycloakify/buildOptions/resolvedViteConfig.js +4 -11
- package/bin/keycloakify/buildOptions/resolvedViteConfig.js.map +1 -1
- package/bin/keycloakify/generateTheme/bringInAccountV1.d.ts +1 -0
- package/bin/keycloakify/generateTheme/bringInAccountV1.js.map +1 -1
- package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts +1 -0
- package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map +1 -1
- package/bin/keycloakify/generateTheme/generateTheme.d.ts +1 -0
- package/bin/keycloakify/generateTheme/generateTheme.js +7 -3
- package/bin/keycloakify/generateTheme/generateTheme.js.map +1 -1
- package/bin/keycloakify/keycloakify.js +8 -12
- package/bin/keycloakify/keycloakify.js.map +1 -1
- package/bin/tools/fetchProxyOptions.d.ts +5 -0
- package/bin/tools/fetchProxyOptions.js +172 -0
- package/bin/tools/fetchProxyOptions.js.map +1 -0
- package/bin/tools/fs.existsAsync.d.ts +1 -0
- package/bin/tools/fs.existsAsync.js +86 -0
- package/bin/tools/fs.existsAsync.js.map +1 -0
- package/bin/tools/getThisCodebaseRootDirPath.d.ts +1 -0
- package/bin/tools/{getProjectRoot.js → getThisCodebaseRootDirPath.js} +7 -7
- package/bin/tools/getThisCodebaseRootDirPath.js.map +1 -0
- package/bin/tools/grant-exec-perms.js +6 -4
- package/bin/tools/grant-exec-perms.js.map +1 -1
- package/bin/tools/readThisNpmProjectVersion.d.ts +1 -0
- package/bin/tools/readThisNpmProjectVersion.js +37 -0
- package/bin/tools/readThisNpmProjectVersion.js.map +1 -0
- package/lib/isStorybook.js +1 -2
- package/lib/isStorybook.js.map +1 -1
- package/login/i18n/baseMessages/index.d.ts +458 -0
- package/login/i18n/baseMessages/index.js +2 -1
- package/login/i18n/baseMessages/index.js.map +1 -1
- package/login/pages/PageProps.d.ts +3 -2
- package/package.json +41 -19
- package/src/account/i18n/baseMessages/index.ts +2 -1
- package/src/account/pages/PageProps.ts +3 -2
- package/src/bin/constants.ts +1 -1
- package/src/bin/copy-keycloak-resources-to-public.ts +75 -9
- package/src/bin/download-builtin-keycloak-theme.ts +3 -3
- package/src/bin/downloadAndUnzip.ts +203 -0
- package/src/bin/eject-keycloak-page.ts +6 -3
- package/src/bin/keycloakify/buildOptions/buildOptions.ts +28 -39
- package/src/bin/keycloakify/buildOptions/getCacheDirPath.ts +25 -0
- package/src/bin/keycloakify/buildOptions/getNpmWorkspaceRootDirPath.ts +49 -0
- package/src/bin/keycloakify/buildOptions/getReactAppRootDirPath.ts +23 -0
- package/src/bin/keycloakify/buildOptions/resolvedViteConfig.ts +7 -21
- package/src/bin/keycloakify/generateTheme/bringInAccountV1.ts +1 -0
- package/src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts +1 -0
- package/src/bin/keycloakify/generateTheme/generateTheme.ts +9 -2
- package/src/bin/keycloakify/keycloakify.ts +8 -14
- package/src/bin/tools/fetchProxyOptions.ts +73 -0
- package/src/bin/tools/fs.existsAsync.ts +11 -0
- package/src/bin/tools/{getProjectRoot.ts → getThisCodebaseRootDirPath.ts} +4 -4
- package/src/bin/tools/grant-exec-perms.ts +5 -3
- package/src/bin/tools/readThisNpmProjectVersion.ts +12 -0
- package/src/lib/isStorybook.ts +1 -3
- package/src/login/i18n/baseMessages/index.ts +2 -1
- package/src/login/pages/PageProps.ts +3 -2
- package/src/vite-plugin/vite-plugin.ts +48 -25
- package/vite-plugin/tsconfig.tsbuildinfo +1 -1
- package/vite-plugin/vite-plugin.d.ts +1 -2
- package/vite-plugin/vite-plugin.js +35 -20
- package/vite-plugin/vite-plugin.js.map +1 -1
- package/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.d.ts +0 -7
- package/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js +0 -27
- package/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.js.map +0 -1
- package/bin/tools/downloadAndUnzip.js +0 -445
- package/bin/tools/downloadAndUnzip.js.map +0 -1
- package/bin/tools/getProjectRoot.d.ts +0 -1
- package/bin/tools/getProjectRoot.js.map +0 -1
- package/src/bin/keycloakify/buildOptions/getKeycloakifyBuildDirPath.ts +0 -33
- package/src/bin/tools/downloadAndUnzip.ts +0 -301
- package/src/vite-plugin/config.json +0 -232
@@ -1,301 +0,0 @@
|
|
1
|
-
import { exec as execCallback } from "child_process";
|
2
|
-
import { createHash } from "crypto";
|
3
|
-
import { mkdir, readFile, stat, writeFile, unlink } from "fs/promises";
|
4
|
-
import fetch, { type FetchOptions } from "make-fetch-happen";
|
5
|
-
import { dirname as pathDirname, join as pathJoin, resolve as pathResolve, sep as pathSep, basename as pathBasename } from "path";
|
6
|
-
import { assert } from "tsafe/assert";
|
7
|
-
import { promisify } from "util";
|
8
|
-
import { transformCodebase } from "./transformCodebase";
|
9
|
-
import { unzip, zip } from "./unzip";
|
10
|
-
import { rm } from "../tools/fs.rm";
|
11
|
-
import * as child_process from "child_process";
|
12
|
-
|
13
|
-
const exec = promisify(execCallback);
|
14
|
-
|
15
|
-
function generateFileNameFromURL(params: {
|
16
|
-
url: string;
|
17
|
-
preCacheTransform:
|
18
|
-
| {
|
19
|
-
actionCacheId: string;
|
20
|
-
actionFootprint: string;
|
21
|
-
}
|
22
|
-
| undefined;
|
23
|
-
}): string {
|
24
|
-
const { preCacheTransform } = params;
|
25
|
-
|
26
|
-
// Parse the URL
|
27
|
-
const url = new URL(params.url);
|
28
|
-
|
29
|
-
// Extract pathname and remove leading slashes
|
30
|
-
let fileName = url.pathname.replace(/^\//, "").replace(/\//g, "_");
|
31
|
-
|
32
|
-
// Optionally, add query parameters replacing special characters
|
33
|
-
if (url.search) {
|
34
|
-
fileName += url.search.replace(/[&=?]/g, "-");
|
35
|
-
}
|
36
|
-
|
37
|
-
// Replace any characters that are not valid in filenames
|
38
|
-
fileName = fileName.replace(/[^a-zA-Z0-9-_]/g, "");
|
39
|
-
|
40
|
-
// Trim or pad the fileName to a specific length
|
41
|
-
fileName = fileName.substring(0, 50);
|
42
|
-
|
43
|
-
add_pre_cache_transform: {
|
44
|
-
if (preCacheTransform === undefined) {
|
45
|
-
break add_pre_cache_transform;
|
46
|
-
}
|
47
|
-
|
48
|
-
// Sanitize actionCacheId the same way as other components
|
49
|
-
const sanitizedActionCacheId = preCacheTransform.actionCacheId.replace(/[^a-zA-Z0-9-_]/g, "_");
|
50
|
-
|
51
|
-
fileName += `_${sanitizedActionCacheId}_${createHash("sha256").update(preCacheTransform.actionFootprint).digest("hex").substring(0, 5)}`;
|
52
|
-
}
|
53
|
-
|
54
|
-
return fileName;
|
55
|
-
}
|
56
|
-
|
57
|
-
async function exists(path: string) {
|
58
|
-
try {
|
59
|
-
await stat(path);
|
60
|
-
return true;
|
61
|
-
} catch (error) {
|
62
|
-
if ((error as Error & { code: string }).code === "ENOENT") return false;
|
63
|
-
throw error;
|
64
|
-
}
|
65
|
-
}
|
66
|
-
|
67
|
-
function ensureArray<T>(arg0: T | T[]) {
|
68
|
-
return Array.isArray(arg0) ? arg0 : typeof arg0 === "undefined" ? [] : [arg0];
|
69
|
-
}
|
70
|
-
|
71
|
-
function ensureSingleOrNone<T>(arg0: T | T[]) {
|
72
|
-
if (!Array.isArray(arg0)) return arg0;
|
73
|
-
if (arg0.length === 0) return undefined;
|
74
|
-
if (arg0.length === 1) return arg0[0];
|
75
|
-
throw new Error("Illegal configuration, expected a single value but found multiple: " + arg0.map(String).join(", "));
|
76
|
-
}
|
77
|
-
|
78
|
-
type NPMConfig = Record<string, string | string[]>;
|
79
|
-
|
80
|
-
const npmConfigReducer = (cfg: NPMConfig, [key, value]: [string, string]) =>
|
81
|
-
key in cfg ? { ...cfg, [key]: [...ensureArray(cfg[key]), value] } : { ...cfg, [key]: value };
|
82
|
-
|
83
|
-
/**
|
84
|
-
* Get npm configuration as map
|
85
|
-
*/
|
86
|
-
async function getNmpConfig() {
|
87
|
-
return readNpmConfig().then(parseNpmConfig);
|
88
|
-
}
|
89
|
-
|
90
|
-
function readNpmConfig(): Promise<string> {
|
91
|
-
return (async function callee(depth: number): Promise<string> {
|
92
|
-
const cwd = pathResolve(pathJoin(...[process.cwd(), ...Array(depth).fill("..")]));
|
93
|
-
|
94
|
-
let stdout: string;
|
95
|
-
|
96
|
-
try {
|
97
|
-
stdout = await exec("npm config get", { "encoding": "utf8", cwd }).then(({ stdout }) => stdout);
|
98
|
-
} catch (error) {
|
99
|
-
if (String(error).includes("ENOWORKSPACES")) {
|
100
|
-
assert(cwd !== pathSep);
|
101
|
-
|
102
|
-
return callee(depth + 1);
|
103
|
-
}
|
104
|
-
|
105
|
-
throw error;
|
106
|
-
}
|
107
|
-
|
108
|
-
return stdout;
|
109
|
-
})(0);
|
110
|
-
}
|
111
|
-
|
112
|
-
function parseNpmConfig(stdout: string) {
|
113
|
-
return stdout
|
114
|
-
.split("\n")
|
115
|
-
.filter(line => !line.startsWith(";"))
|
116
|
-
.map(line => line.trim())
|
117
|
-
.map(line => line.split("=", 2) as [string, string])
|
118
|
-
.reduce(npmConfigReducer, {} as NPMConfig);
|
119
|
-
}
|
120
|
-
|
121
|
-
function maybeBoolean(arg0: string | undefined) {
|
122
|
-
return typeof arg0 === "undefined" ? undefined : Boolean(arg0);
|
123
|
-
}
|
124
|
-
|
125
|
-
function chunks<T>(arr: T[], size: number = 2) {
|
126
|
-
return arr.map((_, i) => i % size == 0 && arr.slice(i, i + size)).filter(Boolean) as T[][];
|
127
|
-
}
|
128
|
-
|
129
|
-
async function readCafile(cafile: string) {
|
130
|
-
const cafileContent = await readFile(cafile, "utf-8");
|
131
|
-
return chunks(cafileContent.split(/(-----END CERTIFICATE-----)/), 2).map(ca => ca.join("").replace(/^\n/, "").replace(/\n/g, "\\n"));
|
132
|
-
}
|
133
|
-
|
134
|
-
/**
|
135
|
-
* Get proxy and ssl configuration from npm config files. Note that we don't care about
|
136
|
-
* proxy config in env vars, because make-fetch-happen will do that for us.
|
137
|
-
*
|
138
|
-
* @returns proxy configuration
|
139
|
-
*/
|
140
|
-
async function getFetchOptions(): Promise<Pick<FetchOptions, "proxy" | "noProxy" | "strictSSL" | "ca" | "cert">> {
|
141
|
-
const cfg = await getNmpConfig();
|
142
|
-
|
143
|
-
const proxy = ensureSingleOrNone(cfg["https-proxy"] ?? cfg["proxy"]);
|
144
|
-
const noProxy = cfg["noproxy"] ?? cfg["no-proxy"];
|
145
|
-
const strictSSL = maybeBoolean(ensureSingleOrNone(cfg["strict-ssl"]));
|
146
|
-
const cert = cfg["cert"];
|
147
|
-
const ca = ensureArray(cfg["ca"] ?? cfg["ca[]"]);
|
148
|
-
const cafile = ensureSingleOrNone(cfg["cafile"]);
|
149
|
-
|
150
|
-
if (typeof cafile !== "undefined" && cafile !== "null") ca.push(...(await readCafile(cafile)));
|
151
|
-
|
152
|
-
return { proxy, noProxy, strictSSL, cert, ca: ca.length === 0 ? undefined : ca };
|
153
|
-
}
|
154
|
-
|
155
|
-
export async function downloadAndUnzip(
|
156
|
-
params: {
|
157
|
-
url: string;
|
158
|
-
destDirPath: string;
|
159
|
-
specificDirsToExtract?: string[];
|
160
|
-
preCacheTransform?: {
|
161
|
-
actionCacheId: string;
|
162
|
-
action: (params: { destDirPath: string }) => Promise<void>;
|
163
|
-
};
|
164
|
-
} & (
|
165
|
-
| {
|
166
|
-
doUseCache: true;
|
167
|
-
cacheDirPath: string;
|
168
|
-
}
|
169
|
-
| {
|
170
|
-
doUseCache: false;
|
171
|
-
}
|
172
|
-
)
|
173
|
-
) {
|
174
|
-
const { url, destDirPath, specificDirsToExtract, preCacheTransform, ...rest } = params;
|
175
|
-
|
176
|
-
const zipFileBasename = generateFileNameFromURL({
|
177
|
-
url,
|
178
|
-
"preCacheTransform":
|
179
|
-
preCacheTransform === undefined
|
180
|
-
? undefined
|
181
|
-
: {
|
182
|
-
"actionCacheId": preCacheTransform.actionCacheId,
|
183
|
-
"actionFootprint": preCacheTransform.action.toString()
|
184
|
-
}
|
185
|
-
});
|
186
|
-
|
187
|
-
const cacheDirPath = !rest.doUseCache ? `tmp_${Math.random().toString().slice(2, 12)}` : rest.cacheDirPath;
|
188
|
-
|
189
|
-
const zipFilePath = pathJoin(cacheDirPath, `${zipFileBasename}.zip`);
|
190
|
-
const extractDirPath = pathJoin(cacheDirPath, `tmp_unzip_${zipFileBasename}`);
|
191
|
-
|
192
|
-
download_zip_and_transform: {
|
193
|
-
if (await exists(zipFilePath)) {
|
194
|
-
break download_zip_and_transform;
|
195
|
-
}
|
196
|
-
|
197
|
-
const opts = await getFetchOptions();
|
198
|
-
|
199
|
-
const { response, isFromRemoteCache } = await (async () => {
|
200
|
-
const response = await fetch(`https://github.com/keycloakify/keycloakify/releases/download/v0.0.1/${pathBasename(zipFilePath)}`, opts);
|
201
|
-
|
202
|
-
if (response.status === 200) {
|
203
|
-
return {
|
204
|
-
response,
|
205
|
-
"isFromRemoteCache": true
|
206
|
-
};
|
207
|
-
}
|
208
|
-
|
209
|
-
return {
|
210
|
-
"response": await fetch(url, opts),
|
211
|
-
"isFromRemoteCache": false
|
212
|
-
};
|
213
|
-
})();
|
214
|
-
|
215
|
-
await mkdir(pathDirname(zipFilePath), { "recursive": true });
|
216
|
-
|
217
|
-
/**
|
218
|
-
* The correct way to fix this is to upgrade node-fetch beyond 3.2.5
|
219
|
-
* (see https://github.com/node-fetch/node-fetch/issues/1295#issuecomment-1144061991.)
|
220
|
-
* Unfortunately, octokit (a dependency of keycloakify) also uses node-fetch, and
|
221
|
-
* does not support node-fetch 3.x. So we stick around with this band-aid until
|
222
|
-
* octokit upgrades.
|
223
|
-
*/
|
224
|
-
response.body?.setMaxListeners(Number.MAX_VALUE);
|
225
|
-
assert(typeof response.body !== "undefined" && response.body != null);
|
226
|
-
|
227
|
-
await writeFile(zipFilePath, response.body);
|
228
|
-
|
229
|
-
if (isFromRemoteCache) {
|
230
|
-
break download_zip_and_transform;
|
231
|
-
}
|
232
|
-
|
233
|
-
if (specificDirsToExtract === undefined && preCacheTransform === undefined) {
|
234
|
-
break download_zip_and_transform;
|
235
|
-
}
|
236
|
-
|
237
|
-
await unzip(zipFilePath, extractDirPath, specificDirsToExtract);
|
238
|
-
|
239
|
-
try {
|
240
|
-
await preCacheTransform?.action({
|
241
|
-
"destDirPath": extractDirPath
|
242
|
-
});
|
243
|
-
} catch (error) {
|
244
|
-
await Promise.all([rm(extractDirPath, { "recursive": true }), unlink(zipFilePath)]);
|
245
|
-
|
246
|
-
throw error;
|
247
|
-
}
|
248
|
-
|
249
|
-
await unlink(zipFilePath);
|
250
|
-
|
251
|
-
await zip(extractDirPath, zipFilePath);
|
252
|
-
|
253
|
-
await rm(extractDirPath, { "recursive": true });
|
254
|
-
|
255
|
-
upload_to_remot_cache_if_admin: {
|
256
|
-
const githubToken = process.env["KEYCLOAKIFY_ADMIN_GITHUB_PERSONAL_ACCESS_TOKEN"];
|
257
|
-
|
258
|
-
if (githubToken === undefined) {
|
259
|
-
break upload_to_remot_cache_if_admin;
|
260
|
-
}
|
261
|
-
|
262
|
-
console.log("uploading to remote cache");
|
263
|
-
|
264
|
-
try {
|
265
|
-
child_process.execSync(`which putasset`);
|
266
|
-
} catch {
|
267
|
-
child_process.execSync(`npm install -g putasset`);
|
268
|
-
}
|
269
|
-
|
270
|
-
try {
|
271
|
-
child_process.execFileSync("putasset", [
|
272
|
-
"--owner",
|
273
|
-
"keycloakify",
|
274
|
-
"--repo",
|
275
|
-
"keycloakify",
|
276
|
-
"--tag",
|
277
|
-
"v0.0.1",
|
278
|
-
"--filename",
|
279
|
-
zipFilePath,
|
280
|
-
"--token",
|
281
|
-
githubToken
|
282
|
-
]);
|
283
|
-
} catch {
|
284
|
-
console.log("upload failed, asset probably already exists in remote cache");
|
285
|
-
}
|
286
|
-
}
|
287
|
-
}
|
288
|
-
|
289
|
-
await unzip(zipFilePath, extractDirPath);
|
290
|
-
|
291
|
-
transformCodebase({
|
292
|
-
"srcDirPath": extractDirPath,
|
293
|
-
"destDirPath": destDirPath
|
294
|
-
});
|
295
|
-
|
296
|
-
if (!rest.doUseCache) {
|
297
|
-
await rm(cacheDirPath, { "recursive": true });
|
298
|
-
} else {
|
299
|
-
await rm(extractDirPath, { "recursive": true });
|
300
|
-
}
|
301
|
-
}
|
@@ -1,232 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"plugins": [
|
3
|
-
{
|
4
|
-
"name": "vite:build-metadata"
|
5
|
-
},
|
6
|
-
{
|
7
|
-
"name": "vite:watch-package-data"
|
8
|
-
},
|
9
|
-
{
|
10
|
-
"name": "vite:pre-alias"
|
11
|
-
},
|
12
|
-
{
|
13
|
-
"name": "alias"
|
14
|
-
},
|
15
|
-
{
|
16
|
-
"name": "vite:react-babel",
|
17
|
-
"enforce": "pre"
|
18
|
-
},
|
19
|
-
{
|
20
|
-
"name": "vite:react-refresh",
|
21
|
-
"enforce": "pre"
|
22
|
-
},
|
23
|
-
{
|
24
|
-
"name": "vite:modulepreload-polyfill"
|
25
|
-
},
|
26
|
-
{
|
27
|
-
"name": "vite:resolve"
|
28
|
-
},
|
29
|
-
{
|
30
|
-
"name": "vite:html-inline-proxy"
|
31
|
-
},
|
32
|
-
{
|
33
|
-
"name": "vite:css"
|
34
|
-
},
|
35
|
-
{
|
36
|
-
"name": "vite:esbuild"
|
37
|
-
},
|
38
|
-
{
|
39
|
-
"name": "vite:json"
|
40
|
-
},
|
41
|
-
{
|
42
|
-
"name": "vite:wasm-helper"
|
43
|
-
},
|
44
|
-
{
|
45
|
-
"name": "vite:worker"
|
46
|
-
},
|
47
|
-
{
|
48
|
-
"name": "vite:asset"
|
49
|
-
},
|
50
|
-
{
|
51
|
-
"name": "vite-plugin-commonjs"
|
52
|
-
},
|
53
|
-
{
|
54
|
-
"name": "keycloakify"
|
55
|
-
},
|
56
|
-
{
|
57
|
-
"name": "vite:wasm-fallback"
|
58
|
-
},
|
59
|
-
{
|
60
|
-
"name": "vite:define"
|
61
|
-
},
|
62
|
-
{
|
63
|
-
"name": "vite:css-post"
|
64
|
-
},
|
65
|
-
{
|
66
|
-
"name": "vite:build-html"
|
67
|
-
},
|
68
|
-
{
|
69
|
-
"name": "vite:worker-import-meta-url"
|
70
|
-
},
|
71
|
-
{
|
72
|
-
"name": "vite:asset-import-meta-url"
|
73
|
-
},
|
74
|
-
{
|
75
|
-
"name": "vite:force-systemjs-wrap-complete"
|
76
|
-
},
|
77
|
-
{
|
78
|
-
"name": "commonjs",
|
79
|
-
"version": "25.0.7"
|
80
|
-
},
|
81
|
-
{
|
82
|
-
"name": "vite:data-uri"
|
83
|
-
},
|
84
|
-
{
|
85
|
-
"name": "vite:dynamic-import-vars"
|
86
|
-
},
|
87
|
-
{
|
88
|
-
"name": "vite:import-glob"
|
89
|
-
},
|
90
|
-
{
|
91
|
-
"name": "vite:build-import-analysis"
|
92
|
-
},
|
93
|
-
{
|
94
|
-
"name": "vite:esbuild-transpile"
|
95
|
-
},
|
96
|
-
{
|
97
|
-
"name": "vite:terser"
|
98
|
-
},
|
99
|
-
{
|
100
|
-
"name": "vite:reporter"
|
101
|
-
},
|
102
|
-
{
|
103
|
-
"name": "vite:load-fallback"
|
104
|
-
}
|
105
|
-
],
|
106
|
-
"optimizeDeps": {
|
107
|
-
"disabled": "build",
|
108
|
-
"esbuildOptions": {
|
109
|
-
"preserveSymlinks": false,
|
110
|
-
"jsx": "automatic",
|
111
|
-
"plugins": [
|
112
|
-
{
|
113
|
-
"name": "vite-plugin-commonjs:pre-bundle"
|
114
|
-
}
|
115
|
-
]
|
116
|
-
},
|
117
|
-
"include": ["react", "react/jsx-dev-runtime", "react/jsx-runtime"]
|
118
|
-
},
|
119
|
-
"build": {
|
120
|
-
"target": ["es2020", "edge88", "firefox78", "chrome87", "safari14"],
|
121
|
-
"cssTarget": ["es2020", "edge88", "firefox78", "chrome87", "safari14"],
|
122
|
-
"outDir": "dist",
|
123
|
-
"assetsDir": "assets",
|
124
|
-
"assetsInlineLimit": 4096,
|
125
|
-
"cssCodeSplit": true,
|
126
|
-
"sourcemap": false,
|
127
|
-
"rollupOptions": {},
|
128
|
-
"minify": "esbuild",
|
129
|
-
"terserOptions": {},
|
130
|
-
"write": true,
|
131
|
-
"emptyOutDir": null,
|
132
|
-
"copyPublicDir": true,
|
133
|
-
"manifest": false,
|
134
|
-
"lib": false,
|
135
|
-
"ssr": false,
|
136
|
-
"ssrManifest": false,
|
137
|
-
"ssrEmitAssets": false,
|
138
|
-
"reportCompressedSize": true,
|
139
|
-
"chunkSizeWarningLimit": 500,
|
140
|
-
"watch": null,
|
141
|
-
"commonjsOptions": {
|
142
|
-
"include": [{}],
|
143
|
-
"extensions": [".js", ".cjs"]
|
144
|
-
},
|
145
|
-
"dynamicImportVarsOptions": {
|
146
|
-
"warnOnError": true,
|
147
|
-
"exclude": [{}]
|
148
|
-
},
|
149
|
-
"modulePreload": {
|
150
|
-
"polyfill": true
|
151
|
-
},
|
152
|
-
"cssMinify": true
|
153
|
-
},
|
154
|
-
"esbuild": {
|
155
|
-
"jsxDev": false,
|
156
|
-
"jsx": "automatic"
|
157
|
-
},
|
158
|
-
"resolve": {
|
159
|
-
"mainFields": ["browser", "module", "jsnext:main", "jsnext"],
|
160
|
-
"conditions": [],
|
161
|
-
"extensions": [".mjs", ".js", ".mts", ".ts", ".jsx", ".tsx", ".json"],
|
162
|
-
"dedupe": ["react", "react-dom"],
|
163
|
-
"preserveSymlinks": false,
|
164
|
-
"alias": [
|
165
|
-
{
|
166
|
-
"find": {},
|
167
|
-
"replacement": "/@fs/Users/joseph/github/keycloakify-starter/node_modules/vite/dist/client/env.mjs"
|
168
|
-
},
|
169
|
-
{
|
170
|
-
"find": {},
|
171
|
-
"replacement": "/@fs/Users/joseph/github/keycloakify-starter/node_modules/vite/dist/client/client.mjs"
|
172
|
-
}
|
173
|
-
]
|
174
|
-
},
|
175
|
-
"configFile": "/Users/joseph/github/keycloakify-starter/vite.config.ts",
|
176
|
-
"configFileDependencies": ["/Users/joseph/github/keycloakify-starter/vite.config.ts"],
|
177
|
-
"inlineConfig": {
|
178
|
-
"optimizeDeps": {},
|
179
|
-
"build": {}
|
180
|
-
},
|
181
|
-
"root": "/Users/joseph/github/keycloakify-starter",
|
182
|
-
"base": "/",
|
183
|
-
"rawBase": "/",
|
184
|
-
"publicDir": "/Users/joseph/github/keycloakify-starter/public",
|
185
|
-
"cacheDir": "/Users/joseph/github/keycloakify-starter/node_modules/.vite",
|
186
|
-
"command": "build",
|
187
|
-
"mode": "production",
|
188
|
-
"ssr": {
|
189
|
-
"target": "node",
|
190
|
-
"optimizeDeps": {
|
191
|
-
"disabled": true,
|
192
|
-
"esbuildOptions": {
|
193
|
-
"preserveSymlinks": false
|
194
|
-
}
|
195
|
-
}
|
196
|
-
},
|
197
|
-
"isWorker": false,
|
198
|
-
"mainConfig": null,
|
199
|
-
"isProduction": true,
|
200
|
-
"css": {},
|
201
|
-
"server": {
|
202
|
-
"preTransformRequests": true,
|
203
|
-
"middlewareMode": false,
|
204
|
-
"fs": {
|
205
|
-
"strict": true,
|
206
|
-
"allow": ["/Users/joseph/github/keycloakify-starter"],
|
207
|
-
"deny": [".env", ".env.*", "*.{crt,pem}"],
|
208
|
-
"cachedChecks": false
|
209
|
-
}
|
210
|
-
},
|
211
|
-
"preview": {},
|
212
|
-
"envDir": "/Users/joseph/github/keycloakify-starter",
|
213
|
-
"env": {
|
214
|
-
"BASE_URL": "/",
|
215
|
-
"MODE": "production",
|
216
|
-
"DEV": false,
|
217
|
-
"PROD": true
|
218
|
-
},
|
219
|
-
"logger": {
|
220
|
-
"hasWarned": false
|
221
|
-
},
|
222
|
-
"packageCache": {},
|
223
|
-
"worker": {
|
224
|
-
"format": "iife",
|
225
|
-
"rollupOptions": {}
|
226
|
-
},
|
227
|
-
"appType": "spa",
|
228
|
-
"experimental": {
|
229
|
-
"importGlobRestoreExtension": false,
|
230
|
-
"hmrPartialAccept": false
|
231
|
-
}
|
232
|
-
}
|