keycloakify 7.3.1 → 7.3.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/bin/download-builtin-keycloak-theme.js +3 -3
- package/bin/download-builtin-keycloak-theme.js.map +1 -1
- package/bin/eject-keycloak-page.js +2 -2
- package/bin/eject-keycloak-page.js.map +1 -1
- package/bin/initialize-email-theme.d.ts +1 -3
- package/bin/initialize-email-theme.js +4 -9
- package/bin/initialize-email-theme.js.map +1 -1
- package/bin/keycloakify/BuildOptions.d.ts +3 -4
- package/bin/keycloakify/BuildOptions.js +8 -25
- package/bin/keycloakify/BuildOptions.js.map +1 -1
- package/bin/keycloakify/build-paths.d.ts +12 -0
- package/bin/keycloakify/build-paths.js +93 -0
- package/bin/keycloakify/build-paths.js.map +1 -0
- package/bin/keycloakify/index.js +1 -1
- package/bin/keycloakify/index.js.map +1 -1
- package/bin/keycloakify/keycloakify.d.ts +0 -1
- package/bin/keycloakify/keycloakify.js +13 -15
- package/bin/keycloakify/keycloakify.js.map +1 -1
- package/bin/keycloakify/parsed-package-json.d.ts +20 -0
- package/bin/keycloakify/parsed-package-json.js +62 -0
- package/bin/keycloakify/parsed-package-json.js.map +1 -0
- package/bin/tools/downloadAndUnzip.d.ts +1 -1
- package/bin/tools/downloadAndUnzip.js +16 -16
- package/bin/tools/downloadAndUnzip.js.map +1 -1
- package/bin/tools/jar.js +2 -2
- package/bin/tools/jar.js.map +1 -1
- package/bin/tools/unzip.d.ts +1 -30
- package/bin/tools/unzip.js +99 -288
- package/bin/tools/unzip.js.map +1 -1
- package/package.json +13 -6
- package/src/bin/download-builtin-keycloak-theme.ts +3 -4
- package/src/bin/eject-keycloak-page.ts +1 -1
- package/src/bin/initialize-email-theme.ts +2 -10
- package/src/bin/keycloakify/BuildOptions.ts +13 -52
- package/src/bin/keycloakify/build-paths.ts +72 -0
- package/src/bin/keycloakify/index.ts +1 -1
- package/src/bin/keycloakify/keycloakify.ts +12 -16
- package/src/bin/keycloakify/parsed-package-json.ts +58 -0
- package/src/bin/tools/downloadAndUnzip.ts +5 -11
- package/src/bin/tools/jar.ts +2 -2
- package/src/bin/tools/unzip.ts +82 -174
- package/bin/getThemeSrcDirPath.d.ts +0 -5
- package/bin/getThemeSrcDirPath.js +0 -53
- package/bin/getThemeSrcDirPath.js.map +0 -1
- package/src/bin/getThemeSrcDirPath.ts +0 -33
@@ -149,31 +149,31 @@ function getNpmProxyConfig() {
|
|
149
149
|
});
|
150
150
|
});
|
151
151
|
}
|
152
|
-
function downloadAndUnzip(
|
153
|
-
var
|
154
|
-
var url = _a.url, destDirPath = _a.destDirPath, pathOfDirToExtractInArchive = _a.pathOfDirToExtractInArchive;
|
152
|
+
function downloadAndUnzip(params) {
|
153
|
+
var _a, _b;
|
155
154
|
return __awaiter(this, void 0, void 0, function () {
|
156
|
-
var downloadHash, projectRoot, cacheRoot, zipFilePath, extractDirPath, proxyOpts, response;
|
157
|
-
return __generator(this, function (
|
158
|
-
switch (
|
155
|
+
var url, destDirPath, pathOfDirToExtractInArchive, downloadHash, projectRoot, cacheRoot, zipFilePath, extractDirPath, proxyOpts, response;
|
156
|
+
return __generator(this, function (_c) {
|
157
|
+
switch (_c.label) {
|
159
158
|
case 0:
|
159
|
+
url = params.url, destDirPath = params.destDirPath, pathOfDirToExtractInArchive = params.pathOfDirToExtractInArchive;
|
160
160
|
downloadHash = hash(JSON.stringify({ url: url })).substring(0, 15);
|
161
161
|
projectRoot = (0, getProjectRoot_1.getProjectRoot)();
|
162
|
-
cacheRoot = (
|
162
|
+
cacheRoot = (_a = process.env.XDG_CACHE_HOME) !== null && _a !== void 0 ? _a : (0, path_1.join)(projectRoot, "node_modules", ".cache");
|
163
163
|
zipFilePath = (0, path_1.join)(cacheRoot, "keycloakify", "zip", "_".concat(downloadHash, ".zip"));
|
164
164
|
extractDirPath = (0, path_1.join)(cacheRoot, "keycloakify", "unzip", "_".concat(downloadHash));
|
165
165
|
return [4 /*yield*/, exists(zipFilePath)];
|
166
166
|
case 1:
|
167
|
-
if (!!(
|
167
|
+
if (!!(_c.sent())) return [3 /*break*/, 6];
|
168
168
|
return [4 /*yield*/, getNpmProxyConfig()];
|
169
169
|
case 2:
|
170
|
-
proxyOpts =
|
170
|
+
proxyOpts = _c.sent();
|
171
171
|
return [4 /*yield*/, (0, make_fetch_happen_1.default)(url, proxyOpts)];
|
172
172
|
case 3:
|
173
|
-
response =
|
174
|
-
return [4 /*yield*/, (0, promises_1.mkdir)((0, path_1.dirname)(zipFilePath), { recursive: true })];
|
173
|
+
response = _c.sent();
|
174
|
+
return [4 /*yield*/, (0, promises_1.mkdir)((0, path_1.dirname)(zipFilePath), { "recursive": true })];
|
175
175
|
case 4:
|
176
|
-
|
176
|
+
_c.sent();
|
177
177
|
/**
|
178
178
|
* The correct way to fix this is to upgrade node-fetch beyond 3.2.5
|
179
179
|
* (see https://github.com/node-fetch/node-fetch/issues/1295#issuecomment-1144061991.)
|
@@ -181,15 +181,15 @@ function downloadAndUnzip(_a) {
|
|
181
181
|
* does not support node-fetch 3.x. So we stick around with this band-aid until
|
182
182
|
* octokit upgrades.
|
183
183
|
*/
|
184
|
-
(
|
184
|
+
(_b = response.body) === null || _b === void 0 ? void 0 : _b.setMaxListeners(Number.MAX_VALUE);
|
185
185
|
(0, tsafe_1.assert)(typeof response.body !== "undefined" && response.body != null);
|
186
186
|
return [4 /*yield*/, (0, promises_1.writeFile)(zipFilePath, response.body)];
|
187
187
|
case 5:
|
188
|
-
|
189
|
-
|
188
|
+
_c.sent();
|
189
|
+
_c.label = 6;
|
190
190
|
case 6: return [4 /*yield*/, (0, unzip_1.unzip)(zipFilePath, extractDirPath, pathOfDirToExtractInArchive)];
|
191
191
|
case 7:
|
192
|
-
|
192
|
+
_c.sent();
|
193
193
|
(0, transformCodebase_1.transformCodebase)({
|
194
194
|
"srcDirPath": extractDirPath,
|
195
195
|
"destDirPath": destDirPath
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"downloadAndUnzip.js","sourceRoot":"","sources":["../../src/bin/tools/downloadAndUnzip.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAqD;AACrD,iCAAoC;AACpC,wCAAqD;AACrD,wEAA6D;AAC7D,6BAAgE;AAChE,+BAA+B;AAC/B,6BAAiC;AACjC,mDAAkD;AAClD,yDAAwD;AACxD,iCAAgC;AAEhC,IAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,oBAAY,CAAC,CAAC;AAErC,SAAS,IAAI,CAAC,CAAS;IACnB,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAe,MAAM,CAAC,IAAY;;;;;;;oBAE1B,qBAAM,IAAA,eAAI,EAAC,IAAI,CAAC,EAAA;;oBAAhB,SAAgB,CAAC;oBACjB,sBAAO,IAAI,EAAC;;;oBAEZ,IAAK,OAAkC,CAAC,IAAI,KAAK,QAAQ;wBAAE,sBAAO,KAAK,EAAC;oBACxE,MAAM,OAAK,CAAC;;;;;CAEnB;AAED;;GAEG;AACH,SAAe,YAAY;;;;;wBACJ,qBAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAA;;oBAA7D,MAAM,GAAK,CAAA,SAAkD,CAAA,OAAvD;oBACd,sBAAO,MAAM;6BACR,KAAK,CAAC,IAAI,CAAC;6BACX,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAArB,CAAqB,CAAC;6BACrC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,EAAE,EAAX,CAAW,CAAC;6BACxB,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAlB,CAAkB,CAAC;6BAC/B,MAAM,CAAC,UAAC,GAAG,EAAE,EAAY;;gCAAZ,KAAA,aAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;4BAAM,OAAA,uBAAM,GAAG,gBAAG,GAAG,IAAG,KAAK,OAAG;wBAA1B,CAA0B,EAAE,EAAE,CAAC,EAAC;;;;CACtE;AAED;;;;;GAKG;AACH,SAAe,iBAAiB;;;;;;wBAChB,qBAAM,YAAY,EAAE,EAAA;;oBAA1B,GAAG,GAAG,SAAoB;oBAE1B,KAAK,GAAG,MAAA,GAAG,CAAC,aAAa,CAAC,mCAAI,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC3C,OAAO,GAAG,MAAA,GAAG,CAAC,SAAS,CAAC,mCAAI,GAAG,CAAC,UAAU,CAAC,CAAC;oBAElD,sBAAO,EAAE,KAAK,OAAA,EAAE,OAAO,SAAA,EAAE,EAAC;;;;CAC7B;AAED,SAAsB,gBAAgB,CAAC,
|
1
|
+
{"version":3,"file":"downloadAndUnzip.js","sourceRoot":"","sources":["../../src/bin/tools/downloadAndUnzip.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAqD;AACrD,iCAAoC;AACpC,wCAAqD;AACrD,wEAA6D;AAC7D,6BAAgE;AAChE,+BAA+B;AAC/B,6BAAiC;AACjC,mDAAkD;AAClD,yDAAwD;AACxD,iCAAgC;AAEhC,IAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,oBAAY,CAAC,CAAC;AAErC,SAAS,IAAI,CAAC,CAAS;IACnB,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,SAAe,MAAM,CAAC,IAAY;;;;;;;oBAE1B,qBAAM,IAAA,eAAI,EAAC,IAAI,CAAC,EAAA;;oBAAhB,SAAgB,CAAC;oBACjB,sBAAO,IAAI,EAAC;;;oBAEZ,IAAK,OAAkC,CAAC,IAAI,KAAK,QAAQ;wBAAE,sBAAO,KAAK,EAAC;oBACxE,MAAM,OAAK,CAAC;;;;;CAEnB;AAED;;GAEG;AACH,SAAe,YAAY;;;;;wBACJ,qBAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAA;;oBAA7D,MAAM,GAAK,CAAA,SAAkD,CAAA,OAAvD;oBACd,sBAAO,MAAM;6BACR,KAAK,CAAC,IAAI,CAAC;6BACX,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAArB,CAAqB,CAAC;6BACrC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,EAAE,EAAX,CAAW,CAAC;6BACxB,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAlB,CAAkB,CAAC;6BAC/B,MAAM,CAAC,UAAC,GAAG,EAAE,EAAY;;gCAAZ,KAAA,aAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;4BAAM,OAAA,uBAAM,GAAG,gBAAG,GAAG,IAAG,KAAK,OAAG;wBAA1B,CAA0B,EAAE,EAAE,CAAC,EAAC;;;;CACtE;AAED;;;;;GAKG;AACH,SAAe,iBAAiB;;;;;;wBAChB,qBAAM,YAAY,EAAE,EAAA;;oBAA1B,GAAG,GAAG,SAAoB;oBAE1B,KAAK,GAAG,MAAA,GAAG,CAAC,aAAa,CAAC,mCAAI,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC3C,OAAO,GAAG,MAAA,GAAG,CAAC,SAAS,CAAC,mCAAI,GAAG,CAAC,UAAU,CAAC,CAAC;oBAElD,sBAAO,EAAE,KAAK,OAAA,EAAE,OAAO,SAAA,EAAE,EAAC;;;;CAC7B;AAED,SAAsB,gBAAgB,CAAC,MAAkF;;;;;;;oBAC7G,GAAG,GAA+C,MAAM,IAArD,EAAE,WAAW,GAAkC,MAAM,YAAxC,EAAE,2BAA2B,GAAK,MAAM,4BAAX,CAAY;oBAE3D,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9D,WAAW,GAAG,IAAA,+BAAc,GAAE,CAAC;oBAC/B,SAAS,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,cAAc,mCAAI,IAAA,WAAQ,EAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;oBAC1F,WAAW,GAAG,IAAA,WAAQ,EAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,WAAI,YAAY,SAAM,CAAC,CAAC;oBAChF,cAAc,GAAG,IAAA,WAAQ,EAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,WAAI,YAAY,CAAE,CAAC,CAAC;oBAEjF,qBAAM,MAAM,CAAC,WAAW,CAAC,EAAA;;yBAA3B,CAAC,CAAC,SAAyB,CAAC,EAA5B,wBAA4B;oBACV,qBAAM,iBAAiB,EAAE,EAAA;;oBAArC,SAAS,GAAG,SAAyB;oBAC1B,qBAAM,IAAA,2BAAK,EAAC,GAAG,EAAE,SAAS,CAAC,EAAA;;oBAAtC,QAAQ,GAAG,SAA2B;oBAC5C,qBAAM,IAAA,gBAAK,EAAC,IAAA,cAAW,EAAC,WAAW,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAA;;oBAA5D,SAA4D,CAAC;oBAC7D;;;;;;uBAMG;oBACH,MAAA,QAAQ,CAAC,IAAI,0CAAE,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACjD,IAAA,cAAM,EAAC,OAAO,QAAQ,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;oBACtE,qBAAM,IAAA,oBAAS,EAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAA;;oBAA3C,SAA2C,CAAC;;wBAGhD,qBAAM,IAAA,aAAK,EAAC,WAAW,EAAE,cAAc,EAAE,2BAA2B,CAAC,EAAA;;oBAArE,SAAqE,CAAC;oBAEtE,IAAA,qCAAiB,EAAC;wBACd,YAAY,EAAE,cAAc;wBAC5B,aAAa,EAAE,WAAW;qBAC7B,CAAC,CAAC;;;;;CACN;AA/BD,4CA+BC"}
|
package/bin/tools/jar.js
CHANGED
@@ -68,7 +68,7 @@ function jar(_a) {
|
|
68
68
|
};
|
69
69
|
pomProps = {
|
70
70
|
path: "META-INF/maven/".concat(groupId, "/").concat(artifactId, "/pom.properties"),
|
71
|
-
data: Buffer.from((0, trimIndent_1.default)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["# Generated by keycloakify\n # ", "\n artifactId=", "\n groupId=", "\n version=", "\n "], ["# Generated by keycloakify\n # ", "\n artifactId=", "\n groupId=", "\n version=", "\n "])), new Date(), artifactId, groupId, version))
|
71
|
+
data: Buffer.from((0, trimIndent_1.default)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["# Generated by keycloakify\n # ", "\n artifactId=", "\n groupId=", "\n version=", "\n "], ["# Generated by keycloakify\n # ", "\n artifactId=", "\n groupId=", "\n version=", "\n "])), new Date().toString(), artifactId, groupId, version))
|
72
72
|
};
|
73
73
|
pathToRecord = function () {
|
74
74
|
return new stream_1.Transform({
|
@@ -124,7 +124,7 @@ if (require.main === module) {
|
|
124
124
|
version: (_c = process.env.VERSION) !== null && _c !== void 0 ? _c : "1.0.0"
|
125
125
|
});
|
126
126
|
};
|
127
|
-
main()
|
127
|
+
main();
|
128
128
|
}
|
129
129
|
var templateObject_1, templateObject_2;
|
130
130
|
//# sourceMappingURL=jar.js.map
|
package/bin/tools/jar.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"jar.js","sourceRoot":"","sources":["../../src/bin/tools/jar.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA6C;AAC7C,6BAA8C;AAC9C,yBAAuC;AAEvC,gDAA0B;AAC1B,8CAA4C;AAC5C,wCAAoC;AACpC,4DAAsC;AAUtC;;;;GAIG;AACH,SAA8B,GAAG,CAAC,EAA+D;QAA7D,OAAO,aAAA,EAAE,UAAU,gBAAA,EAAE,OAAO,aAAA,EAAE,QAAQ,cAAA,EAAE,UAAU,gBAAA;;;;;;oBAC5E,QAAQ,GAAc;wBACxB,IAAI,EAAE,sBAAsB;wBAC5B,IAAI,EAAE,MAAM,CAAC,IAAI,KAAC,oBAAU,yQAAA,qMAMvB,KAAC;qBACT,CAAC;oBAEI,QAAQ,GAAc;wBACxB,IAAI,EAAE,yBAAkB,OAAO,cAAI,UAAU,oBAAiB;wBAC9D,IAAI,EAAE,MAAM,CAAC,IAAI,KAAC,oBAAU,mNAAA,4CACpB,
|
1
|
+
{"version":3,"file":"jar.js","sourceRoot":"","sources":["../../src/bin/tools/jar.ts"],"names":[],"mappings":"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"}
|
package/bin/tools/unzip.d.ts
CHANGED
@@ -1,30 +1 @@
|
|
1
|
-
export
|
2
|
-
cause: Error[];
|
3
|
-
};
|
4
|
-
/**
|
5
|
-
* Extract the archive `zipFile` into the directory `dir`. If `archiveDir` is given,
|
6
|
-
* only that directory will be extracted, stripping the given path components.
|
7
|
-
*
|
8
|
-
* If dir does not exist, it will be created.
|
9
|
-
*
|
10
|
-
* If any archive file exists, it will be overwritten.
|
11
|
-
*
|
12
|
-
* Will unzip using all available nodejs worker threads.
|
13
|
-
*
|
14
|
-
* Will try to clean up extracted files on failure.
|
15
|
-
*
|
16
|
-
* If unpacking fails, will either throw an regular error, or
|
17
|
-
* possibly an `MultiError`, which contains a `cause` field with
|
18
|
-
* a number of root cause errors.
|
19
|
-
*
|
20
|
-
* Warning this method is not optimized for continuous reading of the zip
|
21
|
-
* archive, but is a trade-off between simplicity and allowing extraction
|
22
|
-
* of a single directory from the archive.
|
23
|
-
*
|
24
|
-
* @param zipFilePath the file to unzip
|
25
|
-
* @param extractDirPath the target directory
|
26
|
-
* @param pathOfDirToExtractInArchive if given, unpack only files from this archive directory
|
27
|
-
* @throws {MultiError} error
|
28
|
-
* @returns Promise for a list of full file paths pointing to actually extracted files
|
29
|
-
*/
|
30
|
-
export declare function unzip(zipFilePath: string, extractDirPath: string, pathOfDirToExtractInArchive?: string): Promise<string[]>;
|
1
|
+
export declare function unzip(file: string, targetFolder: string, unzipSubPath?: string): Promise<void>;
|
package/bin/tools/unzip.js
CHANGED
@@ -35,311 +35,122 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
35
35
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
36
36
|
}
|
37
37
|
};
|
38
|
-
var
|
39
|
-
|
40
|
-
var m = o[Symbol.asyncIterator], i;
|
41
|
-
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
42
|
-
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
43
|
-
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
44
|
-
};
|
45
|
-
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
46
|
-
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
47
|
-
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
48
|
-
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
49
|
-
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
50
|
-
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
51
|
-
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
52
|
-
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
53
|
-
function fulfill(value) { resume("next", value); }
|
54
|
-
function reject(value) { resume("throw", value); }
|
55
|
-
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
56
|
-
};
|
57
|
-
var __read = (this && this.__read) || function (o, n) {
|
58
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
59
|
-
if (!m) return o;
|
60
|
-
var i = m.call(o), r, ar = [], e;
|
61
|
-
try {
|
62
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
63
|
-
}
|
64
|
-
catch (error) { e = { error: error }; }
|
65
|
-
finally {
|
66
|
-
try {
|
67
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
68
|
-
}
|
69
|
-
finally { if (e) throw e.error; }
|
70
|
-
}
|
71
|
-
return ar;
|
72
|
-
};
|
73
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
74
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
75
|
-
if (ar || !(i in from)) {
|
76
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
77
|
-
ar[i] = from[i];
|
78
|
-
}
|
79
|
-
}
|
80
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
81
40
|
};
|
82
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
83
42
|
exports.unzip = void 0;
|
84
|
-
var
|
85
|
-
var
|
86
|
-
var
|
87
|
-
var
|
88
|
-
var
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
*
|
93
|
-
* If dir does not exist, it will be created.
|
94
|
-
*
|
95
|
-
* If any archive file exists, it will be overwritten.
|
96
|
-
*
|
97
|
-
* Will unzip using all available nodejs worker threads.
|
98
|
-
*
|
99
|
-
* Will try to clean up extracted files on failure.
|
100
|
-
*
|
101
|
-
* If unpacking fails, will either throw an regular error, or
|
102
|
-
* possibly an `MultiError`, which contains a `cause` field with
|
103
|
-
* a number of root cause errors.
|
104
|
-
*
|
105
|
-
* Warning this method is not optimized for continuous reading of the zip
|
106
|
-
* archive, but is a trade-off between simplicity and allowing extraction
|
107
|
-
* of a single directory from the archive.
|
108
|
-
*
|
109
|
-
* @param zipFilePath the file to unzip
|
110
|
-
* @param extractDirPath the target directory
|
111
|
-
* @param pathOfDirToExtractInArchive if given, unpack only files from this archive directory
|
112
|
-
* @throws {MultiError} error
|
113
|
-
* @returns Promise for a list of full file paths pointing to actually extracted files
|
114
|
-
*/
|
115
|
-
function unzip(zipFilePath, extractDirPath, pathOfDirToExtractInArchive) {
|
116
|
-
var _a, e_1, _b, _c;
|
43
|
+
var promises_1 = __importDefault(require("node:fs/promises"));
|
44
|
+
var fs_1 = __importDefault(require("fs"));
|
45
|
+
var node_path_1 = __importDefault(require("node:path"));
|
46
|
+
var yauzl_1 = __importDefault(require("yauzl"));
|
47
|
+
var node_stream_1 = __importDefault(require("node:stream"));
|
48
|
+
var node_util_1 = require("node:util");
|
49
|
+
var pipeline = (0, node_util_1.promisify)(node_stream_1.default.pipeline);
|
50
|
+
function pathExists(path) {
|
117
51
|
return __awaiter(this, void 0, void 0, function () {
|
118
|
-
var
|
119
|
-
|
120
|
-
|
121
|
-
return __generator(this, function (_l) {
|
122
|
-
switch (_l.label) {
|
52
|
+
var error_1;
|
53
|
+
return __generator(this, function (_a) {
|
54
|
+
switch (_a.label) {
|
123
55
|
case 0:
|
124
|
-
|
125
|
-
|
126
|
-
return [4 /*yield*/, (0, promises_1.mkdir)(extractDirPath, { recursive: true })];
|
56
|
+
_a.trys.push([0, 2, , 3]);
|
57
|
+
return [4 /*yield*/, promises_1.default.stat(path)];
|
127
58
|
case 1:
|
128
|
-
|
129
|
-
|
130
|
-
_l.label = 2;
|
59
|
+
_a.sent();
|
60
|
+
return [2 /*return*/, true];
|
131
61
|
case 2:
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
var recordPath = record.path, createRecordReadStream = record.createReadStream;
|
139
|
-
if (pathOfDirToExtractInArchive && !recordPath.startsWith(pathOfDirToExtractInArchive)) {
|
140
|
-
return "continue";
|
141
|
-
}
|
142
|
-
var relativePath = pathOfDirToExtractInArchive ? (0, path_1.relative)(pathOfDirToExtractInArchive, recordPath) : recordPath;
|
143
|
-
var filePath = (0, path_1.join)(extractDirPath, relativePath);
|
144
|
-
var parent_1 = (0, path_1.dirname)(filePath);
|
145
|
-
promises.push(new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
146
|
-
var _a, _b, output;
|
147
|
-
return __generator(this, function (_c) {
|
148
|
-
switch (_c.label) {
|
149
|
-
case 0:
|
150
|
-
if (!!dirsCreated.includes(parent_1)) return [3 /*break*/, 2];
|
151
|
-
_b = (_a = dirsCreated).push;
|
152
|
-
return [4 /*yield*/, (0, promises_1.mkdir)(parent_1, { recursive: true })];
|
153
|
-
case 1:
|
154
|
-
_b.apply(_a, [_c.sent()]);
|
155
|
-
_c.label = 2;
|
156
|
-
case 2:
|
157
|
-
output = (0, fs_1.createWriteStream)(filePath);
|
158
|
-
output.on("error", function (e) { return reject(Object.assign(e, { filePath: filePath })); });
|
159
|
-
output.on("finish", function () { return resolve(filePath); });
|
160
|
-
createRecordReadStream().pipe(output);
|
161
|
-
return [2 /*return*/];
|
162
|
-
}
|
163
|
-
});
|
164
|
-
}); }));
|
165
|
-
}
|
166
|
-
finally {
|
167
|
-
_f = true;
|
168
|
-
}
|
169
|
-
};
|
170
|
-
_f = true, _g = __asyncValues(iterateZipArchive(zipFilePath));
|
171
|
-
_l.label = 3;
|
172
|
-
case 3: return [4 /*yield*/, _g.next()];
|
173
|
-
case 4:
|
174
|
-
if (!(_h = _l.sent(), _a = _h.done, !_a)) return [3 /*break*/, 6];
|
175
|
-
_loop_1();
|
176
|
-
_l.label = 5;
|
177
|
-
case 5: return [3 /*break*/, 3];
|
178
|
-
case 6: return [3 /*break*/, 13];
|
179
|
-
case 7:
|
180
|
-
e_1_1 = _l.sent();
|
181
|
-
e_1 = { error: e_1_1 };
|
182
|
-
return [3 /*break*/, 13];
|
183
|
-
case 8:
|
184
|
-
_l.trys.push([8, , 11, 12]);
|
185
|
-
if (!(!_f && !_a && (_b = _g.return))) return [3 /*break*/, 10];
|
186
|
-
return [4 /*yield*/, _b.call(_g)];
|
187
|
-
case 9:
|
188
|
-
_l.sent();
|
189
|
-
_l.label = 10;
|
190
|
-
case 10: return [3 /*break*/, 12];
|
191
|
-
case 11:
|
192
|
-
if (e_1) throw e_1.error;
|
193
|
-
return [7 /*endfinally*/];
|
194
|
-
case 12: return [7 /*endfinally*/];
|
195
|
-
case 13: return [4 /*yield*/, Promise.allSettled(promises)];
|
196
|
-
case 14:
|
197
|
-
_j = __read.apply(void 0, [(_k = (_l.sent())).reduce.apply(_k, __spreadArray([], __read((0, partitionPromiseSettledResults_1.partitionPromiseSettledResults)()), false)), 2]), success = _j[0], failure = _j[1];
|
198
|
-
if (!failure.length) return [3 /*break*/, 17];
|
199
|
-
return [4 /*yield*/, Promise.all(__spreadArray(__spreadArray([], __read(success.map(function (path) { return (0, promises_1.unlink)(path).catch(function (_unused) { return undefined; }); })), false), __read(failure.map(function (e) { return e && e.path && (0, promises_1.unlink)(e.path).catch(function (_unused) { return undefined; }); })), false))];
|
200
|
-
case 15:
|
201
|
-
_l.sent();
|
202
|
-
return [4 /*yield*/, Promise.all(dirsCreated.filter(Boolean).sort(sortByFolderDepth("desc")))];
|
203
|
-
case 16:
|
204
|
-
_l.sent();
|
205
|
-
e = new Error("Failed to extract: " + failure.map(function (e) { return e.message; }).join(";"));
|
206
|
-
e.cause = failure;
|
207
|
-
throw e;
|
208
|
-
case 17: return [2 /*return*/, success];
|
62
|
+
error_1 = _a.sent();
|
63
|
+
if (error_1.code === "ENOENT") {
|
64
|
+
return [2 /*return*/, false];
|
65
|
+
}
|
66
|
+
throw error_1;
|
67
|
+
case 3: return [2 /*return*/];
|
209
68
|
}
|
210
69
|
});
|
211
70
|
});
|
212
71
|
}
|
213
|
-
|
214
|
-
function depth(dir) {
|
215
|
-
var _a, _b;
|
216
|
-
return (_b = (_a = dir.match(/\//g)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
|
217
|
-
}
|
218
|
-
function sortByFolderDepth(order) {
|
219
|
-
var ord = order === "asc" ? 1 : -1;
|
220
|
-
return function (a, b) { return ord * depth(a !== null && a !== void 0 ? a : "") + -ord * depth(b !== null && b !== void 0 ? b : ""); };
|
221
|
-
}
|
222
|
-
/**
|
223
|
-
*
|
224
|
-
* @param file file to read
|
225
|
-
* @param start first byte to read
|
226
|
-
* @param end last byte to read
|
227
|
-
* @returns Promise of a buffer of read bytes
|
228
|
-
*/
|
229
|
-
function readFileChunk(file, start, end) {
|
72
|
+
function unzip(file, targetFolder, unzipSubPath) {
|
230
73
|
return __awaiter(this, void 0, void 0, function () {
|
231
|
-
var
|
74
|
+
var _this = this;
|
232
75
|
return __generator(this, function (_a) {
|
233
|
-
|
76
|
+
// add trailing slash to unzipSubPath and targetFolder
|
77
|
+
if (unzipSubPath && (!unzipSubPath.endsWith("/") || !unzipSubPath.endsWith("\\"))) {
|
78
|
+
unzipSubPath += "/";
|
79
|
+
}
|
80
|
+
if (!targetFolder.endsWith("/") || !targetFolder.endsWith("\\")) {
|
81
|
+
targetFolder += "/";
|
82
|
+
}
|
83
|
+
if (!fs_1.default.existsSync(targetFolder)) {
|
84
|
+
fs_1.default.mkdirSync(targetFolder, { recursive: true });
|
85
|
+
}
|
234
86
|
return [2 /*return*/, new Promise(function (resolve, reject) {
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
});
|
242
|
-
});
|
243
|
-
}
|
244
|
-
/**
|
245
|
-
* Iterate over all records of a zipfile, and yield a ZipRecord.
|
246
|
-
* Use `record.createReadStream()` to actually read the file.
|
247
|
-
*
|
248
|
-
* Warning this method will only work with single-disk zip files.
|
249
|
-
* Warning this method may fail if the zip archive has an crazy amount
|
250
|
-
* of files and the central directory is not fully contained within the
|
251
|
-
* last 65k bytes of the zip file.
|
252
|
-
*
|
253
|
-
* @param zipFile
|
254
|
-
* @returns AsyncGenerator which will yield ZipRecords
|
255
|
-
*/
|
256
|
-
function iterateZipArchive(zipFile) {
|
257
|
-
return __asyncGenerator(this, arguments, function iterateZipArchive_1() {
|
258
|
-
var size, chunkSize, chunk, unread, i, found, nFiles, directorySize, directoryOffset, _loop_2;
|
259
|
-
return __generator(this, function (_a) {
|
260
|
-
switch (_a.label) {
|
261
|
-
case 0: return [4 /*yield*/, __await((0, promises_1.stat)(zipFile))];
|
262
|
-
case 1:
|
263
|
-
size = (_a.sent()).size;
|
264
|
-
chunkSize = 65535 + 22 + 1;
|
265
|
-
return [4 /*yield*/, __await(readFileChunk(zipFile, size - chunkSize, size))];
|
266
|
-
case 2:
|
267
|
-
chunk = _a.sent();
|
268
|
-
unread = size - chunk.length;
|
269
|
-
i = chunk.length - 4;
|
270
|
-
found = false;
|
271
|
-
// Find central directory end header, reading backwards from the end
|
272
|
-
while (!found && i-- > 0)
|
273
|
-
if (chunk[i] === 0x50 && chunk.readUInt32LE(i) === 0x06054b50)
|
274
|
-
found = true;
|
275
|
-
if (!found)
|
276
|
-
throw new Error("Not a zip file");
|
277
|
-
// This method will fail on a multi-disk zip, so bail early.
|
278
|
-
if (chunk.readUInt16LE(i + 4) !== 0)
|
279
|
-
throw new Error("Multi-disk zip not supported");
|
280
|
-
nFiles = chunk.readUint16LE(i + 10);
|
281
|
-
directorySize = chunk.readUint32LE(i + 12);
|
282
|
-
directoryOffset = chunk.readUint32LE(i + 16);
|
283
|
-
if (directoryOffset === 4294967295)
|
284
|
-
throw new Error("zip64 not supported");
|
285
|
-
if (directoryOffset > size)
|
286
|
-
throw new Error("Central directory offset ".concat(directoryOffset, " is outside file"));
|
287
|
-
i = directoryOffset - unread;
|
288
|
-
if (!(i < 0)) return [3 /*break*/, 4];
|
289
|
-
return [4 /*yield*/, __await(readFileChunk(zipFile, directoryOffset, directoryOffset + directorySize))];
|
290
|
-
case 3:
|
291
|
-
chunk = _a.sent();
|
292
|
-
i = 0;
|
293
|
-
_a.label = 4;
|
294
|
-
case 4:
|
295
|
-
_loop_2 = function () {
|
296
|
-
var compressionMethod, compressedFileSize, filenameLength, extraLength, commentLength, start, end, filename, createRecordReadStream;
|
297
|
-
return __generator(this, function (_b) {
|
298
|
-
switch (_b.label) {
|
299
|
-
case 0:
|
300
|
-
// Check for marker bytes
|
301
|
-
if (chunk.readUInt32LE(i) !== 0x02014b50)
|
302
|
-
throw new Error("No central directory record at position " + (unread + i));
|
303
|
-
compressionMethod = { 8: "deflate" }[chunk.readUint16LE(i + 10)];
|
304
|
-
compressedFileSize = chunk.readUint32LE(i + 20);
|
305
|
-
filenameLength = chunk.readUint16LE(i + 28);
|
306
|
-
extraLength = chunk.readUint16LE(i + 30);
|
307
|
-
commentLength = chunk.readUint16LE(i + 32);
|
308
|
-
start = chunk.readUint32LE(i + 42) + 30 + filenameLength + extraLength;
|
309
|
-
end = start + compressedFileSize;
|
310
|
-
filename = chunk.slice(i + 46, i + 46 + filenameLength).toString("utf-8");
|
311
|
-
createRecordReadStream = function () {
|
312
|
-
var input = (0, fs_1.createReadStream)(zipFile, { start: start, end: end });
|
313
|
-
if (compressionMethod === "deflate") {
|
314
|
-
var inflate = (0, zlib_1.createInflateRaw)();
|
315
|
-
input.pipe(inflate);
|
316
|
-
return inflate;
|
317
|
-
}
|
318
|
-
return input;
|
319
|
-
};
|
320
|
-
if (!(end > start)) return [3 /*break*/, 3];
|
321
|
-
return [4 /*yield*/, __await({ path: filename, createReadStream: createRecordReadStream, compressionMethod: compressionMethod })];
|
322
|
-
case 1: return [4 /*yield*/, _b.sent()];
|
323
|
-
case 2:
|
324
|
-
_b.sent();
|
325
|
-
_b.label = 3;
|
326
|
-
case 3:
|
327
|
-
// advance pointer to next central directory entry
|
328
|
-
i += 46 + filenameLength + extraLength + commentLength;
|
329
|
-
return [2 /*return*/];
|
87
|
+
yauzl_1.default.open(file, { lazyEntries: true }, function (err, zipfile) { return __awaiter(_this, void 0, void 0, function () {
|
88
|
+
var _this = this;
|
89
|
+
return __generator(this, function (_a) {
|
90
|
+
if (err) {
|
91
|
+
reject(err);
|
92
|
+
return [2 /*return*/];
|
330
93
|
}
|
94
|
+
zipfile.readEntry();
|
95
|
+
zipfile.on("entry", function (entry) { return __awaiter(_this, void 0, void 0, function () {
|
96
|
+
var target;
|
97
|
+
var _this = this;
|
98
|
+
return __generator(this, function (_a) {
|
99
|
+
switch (_a.label) {
|
100
|
+
case 0:
|
101
|
+
if (unzipSubPath) {
|
102
|
+
// Skip files outside of the unzipSubPath
|
103
|
+
if (!entry.fileName.startsWith(unzipSubPath)) {
|
104
|
+
zipfile.readEntry();
|
105
|
+
return [2 /*return*/];
|
106
|
+
}
|
107
|
+
// Remove the unzipSubPath from the file name
|
108
|
+
entry.fileName = entry.fileName.substring(unzipSubPath.length);
|
109
|
+
}
|
110
|
+
target = node_path_1.default.join(targetFolder, entry.fileName);
|
111
|
+
if (!/[\/\\]$/.test(target)) return [3 /*break*/, 2];
|
112
|
+
return [4 /*yield*/, promises_1.default.mkdir(target, { recursive: true })];
|
113
|
+
case 1:
|
114
|
+
_a.sent();
|
115
|
+
zipfile.readEntry();
|
116
|
+
return [2 /*return*/];
|
117
|
+
case 2: return [4 /*yield*/, pathExists(target)];
|
118
|
+
case 3:
|
119
|
+
// Skip existing files
|
120
|
+
if (_a.sent()) {
|
121
|
+
zipfile.readEntry();
|
122
|
+
return [2 /*return*/];
|
123
|
+
}
|
124
|
+
zipfile.openReadStream(entry, function (err, readStream) { return __awaiter(_this, void 0, void 0, function () {
|
125
|
+
return __generator(this, function (_a) {
|
126
|
+
switch (_a.label) {
|
127
|
+
case 0:
|
128
|
+
if (err) {
|
129
|
+
reject(err);
|
130
|
+
return [2 /*return*/];
|
131
|
+
}
|
132
|
+
return [4 /*yield*/, pipeline(readStream, fs_1.default.createWriteStream(target))];
|
133
|
+
case 1:
|
134
|
+
_a.sent();
|
135
|
+
zipfile.readEntry();
|
136
|
+
return [2 /*return*/];
|
137
|
+
}
|
138
|
+
});
|
139
|
+
}); });
|
140
|
+
return [2 /*return*/];
|
141
|
+
}
|
142
|
+
});
|
143
|
+
}); });
|
144
|
+
zipfile.once("end", function () {
|
145
|
+
zipfile.close();
|
146
|
+
resolve();
|
147
|
+
});
|
148
|
+
return [2 /*return*/];
|
331
149
|
});
|
332
|
-
};
|
333
|
-
|
334
|
-
case 5:
|
335
|
-
if (!(nFiles-- > 0)) return [3 /*break*/, 7];
|
336
|
-
return [5 /*yield**/, _loop_2()];
|
337
|
-
case 6:
|
338
|
-
_a.sent();
|
339
|
-
return [3 /*break*/, 5];
|
340
|
-
case 7: return [2 /*return*/];
|
341
|
-
}
|
150
|
+
}); });
|
151
|
+
})];
|
342
152
|
});
|
343
153
|
});
|
344
154
|
}
|
155
|
+
exports.unzip = unzip;
|
345
156
|
//# sourceMappingURL=unzip.js.map
|
package/bin/tools/unzip.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"unzip.js","sourceRoot":"","sources":["../../src/bin/tools/unzip.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"unzip.js","sourceRoot":"","sources":["../../src/bin/tools/unzip.ts"],"names":[],"mappings":"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"}
|