packtory 0.0.1 → 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.
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts-builder.d.ts","sourceRoot":"","sources":["../../../../source/artifacts/artifacts-builder.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/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,CAgDnH"}
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;AAsBxB,MAAM,UAAU,sBAAsB,CAAC,4BAA0D;IAC7F,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,4BAA4B,CAAC;IAErE,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;YAElE,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,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACJ,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/E,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"}
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;CACrD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,uBAAuB,GAAG,WAAW,CAuCpF"}
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;AAiB7B,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;KACJ,CAAC;AACN,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 && first.content === second.content;
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,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC;AAClF,CAAC"}
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,5 +1,6 @@
1
1
  export type FileDescription = {
2
2
  readonly filePath: string;
3
3
  readonly content: string;
4
+ readonly isExecutable: boolean;
4
5
  };
5
6
  //# sourceMappingURL=file-description.d.ts.map
@@ -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;CAC5B,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
- if (keyA < keyB) {
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
- return [propertyName, deepSort(propertyValue, [...visitedObjects, value])];
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;
@@ -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,gBAAgB,CAAC,MAA0B,EAAE,MAA0B;IAC5E,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAEtB,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IACD,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,CAAC;IACb,CAAC;IAED,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACvD,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,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/E,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"}
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
- "0": "Christian Rackerseder <github@echooff.de>"
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
- "0": "bundler",
28
- "1": "bundling",
29
- "2": "npm",
30
- "3": "publish",
31
- "4": "modules",
32
- "5": "versioning",
33
- "6": "monorepo",
34
- "7": "publishing",
35
- "8": "package",
36
- "9": "packaging"
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.1"
48
+ "version": "0.0.3"
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;KAC5B,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
+ {"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"}
@@ -12,6 +12,6 @@ export function replaceImportPaths(sourceFile, replacements) {
12
12
  }
13
13
  }
14
14
  }
15
- return sourceFile.getText();
15
+ return sourceFile.getFullText();
16
16
  }
17
17
  //# sourceMappingURL=import-paths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-paths.js","sourceRoot":"","sources":["../../../../source/source-modifier/import-paths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAC;AAC9F,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AAInG,MAAM,UAAU,kBAAkB,CAAC,UAAgC,EAAE,YAAoC;IACrG,MAAM,oBAAoB,GAAG,UAAU,CAAC,uBAAuB,EAAE,CAAC;IAElE,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;QACzC,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC9E,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;YAC7E,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAEzD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"import-paths.js","sourceRoot":"","sources":["../../../../source/source-modifier/import-paths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAC;AAC9F,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AAInG,MAAM,UAAU,kBAAkB,CAAC,UAAgC,EAAE,YAAoC;IACrG,MAAM,oBAAoB,GAAG,UAAU,CAAC,uBAAuB,EAAE,CAAC;IAElE,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;QACzC,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC9E,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;YAC7E,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAEzD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC;AACpC,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;AAYF,wBAAgB,oBAAoB,IAAI,cAAc,CAkCrD"}
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"}
@@ -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({ name: fileDescription.filePath, mtime: staticFileModificationTime }, fileDescription.content);
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;AAE/C,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,EAAE,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,0BAA0B,EAAE,EACrE,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"}
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"}