packtory 0.0.1 → 0.0.2
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/artifacts/artifacts-builder.d.ts.map +1 -1
- package/artifacts/artifacts-builder.js +11 -2
- package/artifacts/artifacts-builder.js.map +1 -1
- package/artifacts/file-manager.d.ts +1 -0
- package/artifacts/file-manager.d.ts.map +1 -1
- package/artifacts/file-manager.js +4 -0
- package/artifacts/file-manager.js.map +1 -1
- package/file-description/equal.js +3 -1
- package/file-description/equal.js.map +1 -1
- package/file-description/file-description.d.ts +1 -0
- package/file-description/file-description.d.ts.map +1 -1
- package/file-description/permissions.js +13 -0
- package/file-description/permissions.js.map +1 -0
- package/package-json.js +31 -9
- package/package-json.js.map +1 -1
- package/package.json +18 -17
- package/publisher/extract-package-tarball.js +4 -1
- package/publisher/extract-package-tarball.js.map +1 -1
- package/tar/tarball-builder.d.ts.map +1 -1
- package/tar/tarball-builder.js +7 -1
- package/tar/tarball-builder.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts-builder.d.ts","sourceRoot":"","sources":["../../../../source/artifacts/artifacts-builder.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"artifacts-builder.d.ts","sourceRoot":"","sources":["../../../../source/artifacts/artifacts-builder.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAiB,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,MAAM,4BAA4B,GAAG;IACvC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;IAChF,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAClE,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/E,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,4BAA4B,EAAE,4BAA4B,GAAG,gBAAgB,CA0DnH"}
|
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import ssri from 'ssri';
|
|
3
|
+
import { isExecutableFileMode } from '../file-description/permissions.js';
|
|
3
4
|
export function createArtifactsBuilder(artifactsBuilderDependencies) {
|
|
4
5
|
const { fileManager, tarballBuilder } = artifactsBuilderDependencies;
|
|
6
|
+
async function isBundleContentExecutable(content) {
|
|
7
|
+
if (content.kind !== 'source') {
|
|
8
|
+
const fileMode = await fileManager.getFileMode(content.sourceFilePath);
|
|
9
|
+
return isExecutableFileMode(fileMode);
|
|
10
|
+
}
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
5
13
|
async function collectContents(bundle) {
|
|
6
14
|
const artifactContents = [];
|
|
7
15
|
for (const entry of bundle.contents) {
|
|
8
16
|
const targetFilePath = path.join('package', entry.targetFilePath);
|
|
17
|
+
const isExecutable = await isBundleContentExecutable(entry);
|
|
9
18
|
if (entry.kind === 'reference') {
|
|
10
19
|
const content = await fileManager.readFile(entry.sourceFilePath);
|
|
11
|
-
artifactContents.push({ filePath: targetFilePath, content });
|
|
20
|
+
artifactContents.push({ filePath: targetFilePath, content, isExecutable });
|
|
12
21
|
}
|
|
13
22
|
else {
|
|
14
|
-
artifactContents.push({ filePath: targetFilePath, content: entry.source });
|
|
23
|
+
artifactContents.push({ filePath: targetFilePath, content: entry.source, isExecutable });
|
|
15
24
|
}
|
|
16
25
|
}
|
|
17
26
|
return artifactContents;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts-builder.js","sourceRoot":"","sources":["../../../../source/artifacts/artifacts-builder.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"artifacts-builder.js","sourceRoot":"","sources":["../../../../source/artifacts/artifacts-builder.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAIxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAmB1E,MAAM,UAAU,sBAAsB,CAAC,4BAA0D;IAC7F,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,4BAA4B,CAAC;IAErE,KAAK,UAAU,yBAAyB,CAAC,OAAsB;QAC3D,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACvE,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,UAAU,eAAe,CAAC,MAAyB;QACpD,MAAM,gBAAgB,GAAsB,EAAE,CAAC;QAE/C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;YAClE,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,KAAK,CAAC,CAAC;YAE5D,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACjE,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACJ,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;YAC7F,CAAC;QACL,CAAC;QACD,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,OAAO;QACH,eAAe;QAEf,KAAK,CAAC,YAAY,CAAC,MAAM;YACrB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAErD,OAAO;gBACH,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE;gBACpE,OAAO;aACV,CAAC;QACN,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY;YAClC,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAErE,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,UAAU,YAAY,iBAAiB,CAAC,CAAC;YAC7D,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAClC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;gBAErE,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW;oBAC7B,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC;oBAC5D,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -12,6 +12,7 @@ export type FileManager = {
|
|
|
12
12
|
readFile(filePath: string): Promise<string>;
|
|
13
13
|
writeFile(filePath: string, content: string): Promise<void>;
|
|
14
14
|
copyFile(from: string, to: string): Promise<void>;
|
|
15
|
+
getFileMode(filePath: string): Promise<number>;
|
|
15
16
|
};
|
|
16
17
|
export declare function createFileManager(dependencies: FileManagerDependencies): FileManager;
|
|
17
18
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-manager.d.ts","sourceRoot":"","sources":["../../../../source/artifacts/file-manager.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAGzB,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC;CAC/C,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC3B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC7E,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"file-manager.d.ts","sourceRoot":"","sources":["../../../../source/artifacts/file-manager.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAGzB,MAAM,MAAM,uBAAuB,GAAG;IAClC,QAAQ,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC;CAC/C,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC3B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC7E,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAClD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,uBAAuB,GAAG,WAAW,CA4CpF"}
|
|
@@ -29,6 +29,10 @@ export function createFileManager(dependencies) {
|
|
|
29
29
|
async copyFile(from, to) {
|
|
30
30
|
const content = await readFile(from);
|
|
31
31
|
await writeFile(to, content);
|
|
32
|
+
},
|
|
33
|
+
async getFileMode(filePath) {
|
|
34
|
+
const stats = await hostFileSystem.stat(filePath);
|
|
35
|
+
return stats.mode;
|
|
32
36
|
}
|
|
33
37
|
};
|
|
34
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-manager.js","sourceRoot":"","sources":["../../../../source/artifacts/file-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"file-manager.js","sourceRoot":"","sources":["../../../../source/artifacts/file-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAkB7B,MAAM,UAAU,iBAAiB,CAAC,YAAqC;IACnE,MAAM,EAAE,cAAc,EAAE,GAAG,YAAY,CAAC;IAExC,KAAK,UAAU,gBAAgB,CAAC,gBAAwB;QACpD,IAAI,CAAC;YACD,MAAM,cAAc,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACjE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QACjC,CAAC;IACL,CAAC;IAED,KAAK,UAAU,SAAS,CAAC,QAAgB,EAAE,OAAe;QACtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,iBAAiB,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAEnE,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,cAAc,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,UAAU,QAAQ,CAAC,QAAgB;QACpC,OAAO,cAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO;QACH,gBAAgB;QAEhB,SAAS;QAET,QAAQ;QAER,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;YACnB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,QAAQ;YACtB,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClD,OAAO,KAAK,CAAC,IAAI,CAAC;QACtB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export function areFileDescriptionEqual(first, second) {
|
|
2
|
-
return first.filePath === second.filePath &&
|
|
2
|
+
return (first.filePath === second.filePath &&
|
|
3
|
+
first.content === second.content &&
|
|
4
|
+
first.isExecutable === second.isExecutable);
|
|
3
5
|
}
|
|
4
6
|
//# sourceMappingURL=equal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"equal.js","sourceRoot":"","sources":["../../../../source/file-description/equal.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,KAAsB,EAAE,MAAuB;IACnF,OAAO,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"equal.js","sourceRoot":"","sources":["../../../../source/file-description/equal.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CAAC,KAAsB,EAAE,MAAuB;IACnF,OAAO,CACH,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;QAClC,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;QAChC,KAAK,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY,CAC7C,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-description.d.ts","sourceRoot":"","sources":["../../../../source/file-description/file-description.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"file-description.d.ts","sourceRoot":"","sources":["../../../../source/file-description/file-description.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAClC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { convert } from 'unix-permissions';
|
|
2
|
+
export function isExecutableFileMode(mode) {
|
|
3
|
+
try {
|
|
4
|
+
const permissions = convert.object(mode);
|
|
5
|
+
return (permissions.user?.execute === true &&
|
|
6
|
+
permissions.group?.execute === true &&
|
|
7
|
+
permissions.others?.execute === true);
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../../source/file-description/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC7C,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,OAAO,CACH,WAAW,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI;YAClC,WAAW,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;YACnC,WAAW,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CACvC,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
|
package/package-json.js
CHANGED
|
@@ -1,17 +1,28 @@
|
|
|
1
1
|
const indentationSize = 4;
|
|
2
|
+
function isPrimitive(value) {
|
|
3
|
+
return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';
|
|
4
|
+
}
|
|
5
|
+
function isArray(value) {
|
|
6
|
+
return Array.isArray(value);
|
|
7
|
+
}
|
|
8
|
+
function compareValues(valueA, valueB) {
|
|
9
|
+
if (isPrimitive(valueA) && isPrimitive(valueB)) {
|
|
10
|
+
if (valueA < valueB) {
|
|
11
|
+
return -1;
|
|
12
|
+
}
|
|
13
|
+
if (valueA > valueB) {
|
|
14
|
+
return 1;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return 0;
|
|
18
|
+
}
|
|
2
19
|
function compareEntryKeys(entryA, entryB) {
|
|
3
20
|
const [keyA] = entryA;
|
|
4
21
|
const [keyB] = entryB;
|
|
5
|
-
|
|
6
|
-
return -1;
|
|
7
|
-
}
|
|
8
|
-
if (keyA > keyB) {
|
|
9
|
-
return 1;
|
|
10
|
-
}
|
|
11
|
-
return 0;
|
|
22
|
+
return compareValues(keyA, keyB);
|
|
12
23
|
}
|
|
13
24
|
function isRecord(value) {
|
|
14
|
-
return typeof value === 'object' && value !== null;
|
|
25
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
15
26
|
}
|
|
16
27
|
function deepSort(value, visitedObjects) {
|
|
17
28
|
if (visitedObjects.includes(value)) {
|
|
@@ -21,7 +32,18 @@ function deepSort(value, visitedObjects) {
|
|
|
21
32
|
const entries = Object.entries(value);
|
|
22
33
|
entries.sort(compareEntryKeys);
|
|
23
34
|
return Object.fromEntries(entries.map(([propertyName, propertyValue]) => {
|
|
24
|
-
|
|
35
|
+
let currentValue = propertyValue;
|
|
36
|
+
if (isArray(propertyValue)) {
|
|
37
|
+
currentValue = propertyValue
|
|
38
|
+
.map((item) => {
|
|
39
|
+
if (isRecord(item)) {
|
|
40
|
+
return deepSort(item, []);
|
|
41
|
+
}
|
|
42
|
+
return item;
|
|
43
|
+
})
|
|
44
|
+
.sort(compareValues);
|
|
45
|
+
}
|
|
46
|
+
return [propertyName, deepSort(currentValue, [...visitedObjects, value])];
|
|
25
47
|
}));
|
|
26
48
|
}
|
|
27
49
|
return value;
|
package/package-json.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-json.js","sourceRoot":"","sources":["../../../source/package-json.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,CAAC,CAAC;AAO1B,SAAS,
|
|
1
|
+
{"version":3,"file":"package-json.js","sourceRoot":"","sources":["../../../source/package-json.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,CAAC,CAAC;AAO1B,SAAS,WAAW,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,CAAC;AAChG,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,aAAa,CAAC,MAAe,EAAE,MAAe;IACnD,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC,CAAC;QACd,CAAC;QACD,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC;QACb,CAAC;IACL,CAAC;IAED,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA0B,EAAE,MAA0B;IAC5E,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAEtB,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,QAAQ,CAAI,KAAQ,EAAE,cAAkC;IAC7D,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE/B,OAAO,MAAM,CAAC,WAAW,CACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,EAAE;YAC1C,IAAI,YAAY,GAAG,aAAa,CAAC;YAEjC,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzB,YAAY,GAAG,aAAa;qBACvB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACV,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBACjB,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC9B,CAAC;oBACD,OAAO,IAAI,CAAC;gBAChB,CAAC,CAAC;qBACD,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7B,CAAC;YAED,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC,CAAC,CACA,CAAC;IACX,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAA2B;IAC5D,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtC,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;AAC7D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"author": "Mathias Schreck <schreck.mathias@gmail.com>",
|
|
3
|
-
"contributors":
|
|
4
|
-
"
|
|
5
|
-
|
|
3
|
+
"contributors": [
|
|
4
|
+
"Christian Rackerseder <github@echooff.de>"
|
|
5
|
+
],
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@effect/schema": "0.60.4",
|
|
8
8
|
"@ts-morph/common": "0.22.0",
|
|
@@ -17,24 +17,25 @@
|
|
|
17
17
|
"tar-stream": "3.1.6",
|
|
18
18
|
"true-myth": "7.1.0",
|
|
19
19
|
"ts-morph": "19.0.0",
|
|
20
|
-
"type-fest": "4.3.1"
|
|
20
|
+
"type-fest": "4.3.1",
|
|
21
|
+
"unix-permissions": "6.0.0"
|
|
21
22
|
},
|
|
22
23
|
"description": "Enable customized npm package bundling and publishing using packtory’s versatile API.",
|
|
23
24
|
"engines": {
|
|
24
25
|
"node": "^20"
|
|
25
26
|
},
|
|
26
|
-
"keywords":
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
|
|
27
|
+
"keywords": [
|
|
28
|
+
"bundler",
|
|
29
|
+
"bundling",
|
|
30
|
+
"modules",
|
|
31
|
+
"monorepo",
|
|
32
|
+
"npm",
|
|
33
|
+
"package",
|
|
34
|
+
"packaging",
|
|
35
|
+
"publish",
|
|
36
|
+
"publishing",
|
|
37
|
+
"versioning"
|
|
38
|
+
],
|
|
38
39
|
"license": "MIT",
|
|
39
40
|
"main": "packages/packtory/packtory.entry-point.js",
|
|
40
41
|
"name": "packtory",
|
|
@@ -44,5 +45,5 @@
|
|
|
44
45
|
},
|
|
45
46
|
"type": "module",
|
|
46
47
|
"types": "packages/packtory/packtory.entry-point.d.ts",
|
|
47
|
-
"version": "0.0.
|
|
48
|
+
"version": "0.0.2"
|
|
48
49
|
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { isExecutableFileMode } from '../file-description/permissions.js';
|
|
1
2
|
import { extractTarEntries } from '../tar/extract-tar.js';
|
|
2
3
|
function tarEntryToFileDescription(tarEntry) {
|
|
4
|
+
const isExecutable = tarEntry.header.mode === undefined ? false : isExecutableFileMode(tarEntry.header.mode);
|
|
3
5
|
return {
|
|
4
6
|
filePath: tarEntry.header.name,
|
|
5
|
-
content: tarEntry.content
|
|
7
|
+
content: tarEntry.content,
|
|
8
|
+
isExecutable
|
|
6
9
|
};
|
|
7
10
|
}
|
|
8
11
|
export async function extractPackageTarball(tarball) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-package-tarball.js","sourceRoot":"","sources":["../../../../source/publisher/extract-package-tarball.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,uBAAuB,CAAC;AAEzE,SAAS,yBAAyB,CAAC,QAAkB;IACjD,OAAO;QACH,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;QAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"extract-package-tarball.js","sourceRoot":"","sources":["../../../../source/publisher/extract-package-tarball.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAiB,MAAM,uBAAuB,CAAC;AAEzE,SAAS,yBAAyB,CAAC,QAAkB;IACjD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE7G,OAAO;QACH,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;QAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,YAAY;KACf,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAe;IACvD,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,UAAU,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tarball-builder.d.ts","sourceRoot":"","sources":["../../../../source/tar/tarball-builder.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG;IACzB,KAAK,CAAC,gBAAgB,EAAE,SAAS,eAAe,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACxE,CAAC;
|
|
1
|
+
{"version":3,"file":"tarball-builder.d.ts","sourceRoot":"","sources":["../../../../source/tar/tarball-builder.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE/E,MAAM,MAAM,cAAc,GAAG;IACzB,KAAK,CAAC,gBAAgB,EAAE,SAAS,eAAe,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACxE,CAAC;AAcF,wBAAgB,oBAAoB,IAAI,cAAc,CAsCrD"}
|
package/tar/tarball-builder.js
CHANGED
|
@@ -7,11 +7,17 @@ function unsetOperatingSystemGzipHeaderField(data) {
|
|
|
7
7
|
data[gzipHeaderOperationSystemTypeFieldIndex] = gzipHeaderOperationSystemTypeUnknown;
|
|
8
8
|
}
|
|
9
9
|
const staticFileModificationTime = new Date(0);
|
|
10
|
+
const executableFileMode = 493;
|
|
11
|
+
const nonExecutableFileMode = 420;
|
|
10
12
|
export function createTarballBuilder() {
|
|
11
13
|
function createPack(fileDescriptions) {
|
|
12
14
|
const pack = tar.pack();
|
|
13
15
|
for (const fileDescription of fileDescriptions) {
|
|
14
|
-
const entry = pack.entry({
|
|
16
|
+
const entry = pack.entry({
|
|
17
|
+
name: fileDescription.filePath,
|
|
18
|
+
mtime: staticFileModificationTime,
|
|
19
|
+
mode: fileDescription.isExecutable ? executableFileMode : nonExecutableFileMode
|
|
20
|
+
}, fileDescription.content);
|
|
15
21
|
entry.end();
|
|
16
22
|
}
|
|
17
23
|
pack.finalize();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tarball-builder.js","sourceRoot":"","sources":["../../../../source/tar/tarball-builder.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,GAAG,EAAE,EAAa,MAAM,YAAY,CAAC;AAO5C,MAAM,uCAAuC,GAAG,CAAC,CAAC;AAClD,MAAM,oCAAoC,GAAG,GAAG,CAAC;AAEjD,SAAS,mCAAmC,CAAC,IAAY;IACrD,qGAAqG;IACrG,IAAI,CAAC,uCAAuC,CAAC,GAAG,oCAAoC,CAAC;AACzF,CAAC;AAED,MAAM,0BAA0B,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"tarball-builder.js","sourceRoot":"","sources":["../../../../source/tar/tarball-builder.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,GAAG,EAAE,EAAa,MAAM,YAAY,CAAC;AAO5C,MAAM,uCAAuC,GAAG,CAAC,CAAC;AAClD,MAAM,oCAAoC,GAAG,GAAG,CAAC;AAEjD,SAAS,mCAAmC,CAAC,IAAY;IACrD,qGAAqG;IACrG,IAAI,CAAC,uCAAuC,CAAC,GAAG,oCAAoC,CAAC;AACzF,CAAC;AAED,MAAM,0BAA0B,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/C,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,MAAM,UAAU,oBAAoB;IAChC,SAAS,UAAU,CAAC,gBAA4C;QAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAExB,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACpB;gBACI,IAAI,EAAE,eAAe,CAAC,QAAQ;gBAC9B,KAAK,EAAE,0BAA0B;gBACjC,IAAI,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,qBAAqB;aAClF,EACD,eAAe,CAAC,OAAO,CAC1B,CAAC;YACF,KAAK,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO;QACH,KAAK,CAAC,KAAK,CAAC,gBAAgB;YACxB,MAAM,IAAI,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAE1C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACjD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,mCAAmC,CAAC,OAAO,CAAC,CAAC;YAC7C,OAAO,OAAO,CAAC;QACnB,CAAC;KACJ,CAAC;AACN,CAAC"}
|