@plugjs/zip 0.5.7 → 0.5.9

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/dist/index.cjs CHANGED
@@ -1,6 +1,21 @@
1
1
  "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
15
 
3
16
  // index.ts
17
+ var src_exports = {};
18
+ module.exports = __toCommonJS(src_exports);
4
19
  var import_fork = require("@plugjs/plug/fork");
5
20
  var import_paths = require("@plugjs/plug/paths");
6
21
  (0, import_fork.installForking)("zip", (0, import_paths.requireResolve)(__filename, "./zip"), "Zip");
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "mappings": ";;;AAAA,kBAA+B;AAC/B,mBAA+B;AAAA,IAa/B,4BAAe,WAAO,6BAAe,YAAW,OAAO,GAAG,KAAK;",
4
+ "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,kBAA+B;AAC/B,mBAA+B;AAAA,IAiC/B,4BAAe,WAAO,6BAAe,YAAW,OAAO,GAAG,KAAK;",
5
5
  "names": []
6
6
  }
package/dist/index.d.ts CHANGED
@@ -1,11 +1,28 @@
1
+ /** Options for zipping files */
2
+ export interface ZipOptions {
3
+ /** Force the modified timestamp for all files in the _ZIP archive_ */
4
+ mtime?: Date;
5
+ /** Force the mode for all files in the _ZIP archive_ */
6
+ mode?: number;
7
+ /** Compress all files in the _ZIP archive_ (default: `true`) */
8
+ compress?: boolean;
9
+ /** Force the `ZIP-64` format for all files in the _ZIP archive_ (default: `false`) */
10
+ forceZip64Format?: boolean;
11
+ }
1
12
  declare module '@plugjs/plug' {
2
13
  interface Pipe {
3
14
  /**
4
- * Archive all input {@link Files} into a _Zip_.
15
+ * Archive all input {@link Files} into a _ZIP archive_.
5
16
  *
6
- * @param filename The output zip file name.
17
+ * @param filename - The output _ZIP archive_ file name.
7
18
  */
8
19
  zip(filename: string): Pipe;
20
+ /**
21
+ * Archive all input {@link Files} into a _ZIP archive_.
22
+ *
23
+ * @param filename - The output _ZIP archive_ file name.
24
+ * @param options - Options for zipping the archive.
25
+ */
26
+ zip(filename: string, options: ZipOptions): Pipe;
9
27
  }
10
28
  }
11
- export {};
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "mappings": ";AAAA,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAa/B,eAAe,OAAO,eAAe,iBAAW,OAAO,GAAG,KAAK;",
4
+ "mappings": ";AAAA,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAiC/B,eAAe,OAAO,eAAe,iBAAW,OAAO,GAAG,KAAK;",
5
5
  "names": []
6
6
  }
package/dist/zip.cjs CHANGED
@@ -28,8 +28,9 @@ var import_plug = require("@plugjs/plug");
28
28
  var import_paths = require("@plugjs/plug/paths");
29
29
  var import_yazl = require("yazl");
30
30
  var Zip = class {
31
- constructor(_filename) {
31
+ constructor(_filename, _options = {}) {
32
32
  this._filename = _filename;
33
+ this._options = _options;
33
34
  (0, import_plug.assert)(_filename, "No filename specified for ZIP file");
34
35
  }
35
36
  pipe(files, context) {
@@ -40,7 +41,7 @@ var Zip = class {
40
41
  context.log.info(`Packaging ${(0, import_plug.$ylw)(files.length)} files`);
41
42
  for (const [relative, absolute] of files.pathMappings()) {
42
43
  context.log.debug(`Adding file ${(0, import_plug.$p)(absolute)}`);
43
- zipfile.addFile(absolute, relative);
44
+ zipfile.addFile(absolute, relative, this._options);
44
45
  }
45
46
  const directory = (0, import_paths.getAbsoluteParent)(filename);
46
47
  const output = import_plug.Files.builder(directory).add(filename).build();
package/dist/zip.cjs.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/zip.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAkC;AAElC,kBAAwC;AACxC,mBAAkC;AAClC,kBAAwB;AAcjB,IAAM,MAAN,MAAiC;AAAA,EAEtC,YAA6B,WAAmB;AAAnB;AAC3B,4BAAO,WAAW,oCAAoC;AAAA,EACxD;AAAA,EAEA,KAAK,OAAc,SAAkC;AACnD,UAAM,WAAW,QAAQ,QAAQ,KAAK,SAAS;AAG/C,UAAM,UAAU,IAAI,oBAAQ;AAC5B,UAAM,gBAAY,kCAAkB,QAAQ;AAC5C,YAAQ,aAAa,KAAK,SAAS;AAGnC,YAAQ,IAAI,KAAK,iBAAa,kBAAK,MAAM,MAAM,CAAC,QAAQ;AACxD,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AACzD,cAAQ,IAAI,MAAM,mBAAe,gBAAG,QAAQ,CAAC,EAAE;AAC/C,cAAQ,QAAQ,UAAU,QAAQ;AAAA,IACpC;AAGA,UAAM,gBAAY,gCAAkB,QAAQ;AAC5C,UAAM,SAAS,kBAAM,QAAQ,SAAS,EAAE,IAAI,QAAQ,EAAE,MAAM;AAC5D,YAAQ,IAAI;AAGZ,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,gBAAU,GAAG,SAAS,MAAM,QAAQ,MAAM,CAAC;AAE3C,cAAQ,GAAG,SAAS,CAAC,UAAU,OAAO,KAAK,CAAC;AAE5C,gBAAU,GAAG,SAAS,CAAC,UAAU,OAAO,KAAK,CAAC;AAAA,IAChD,CAAC;AAAA,EACH;AACF;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAkC;AAElC,kBAAwC;AACxC,mBAAkC;AAClC,kBAAwB;AAejB,IAAM,MAAN,MAAiC;AAAA,EAEtC,YACqB,WACA,WAAuB,CAAC,GAC3C;AAFmB;AACA;AAEnB,4BAAO,WAAW,oCAAoC;AAAA,EACxD;AAAA,EAEA,KAAK,OAAc,SAAkC;AACnD,UAAM,WAAW,QAAQ,QAAQ,KAAK,SAAS;AAG/C,UAAM,UAAU,IAAI,oBAAQ;AAC5B,UAAM,gBAAY,kCAAkB,QAAQ;AAC5C,YAAQ,aAAa,KAAK,SAAS;AAGnC,YAAQ,IAAI,KAAK,iBAAa,kBAAK,MAAM,MAAM,CAAC,QAAQ;AACxD,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AACzD,cAAQ,IAAI,MAAM,mBAAe,gBAAG,QAAQ,CAAC,EAAE;AAC/C,cAAQ,QAAQ,UAAU,UAAU,KAAK,QAAQ;AAAA,IACnD;AAGA,UAAM,gBAAY,gCAAkB,QAAQ;AAC5C,UAAM,SAAS,kBAAM,QAAQ,SAAS,EAAE,IAAI,QAAQ,EAAE,MAAM;AAC5D,YAAQ,IAAI;AAGZ,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,gBAAU,GAAG,SAAS,MAAM,QAAQ,MAAM,CAAC;AAE3C,cAAQ,GAAG,SAAS,CAAC,UAAU,OAAO,KAAK,CAAC;AAE5C,gBAAU,GAAG,SAAS,CAAC,UAAU,OAAO,KAAK,CAAC;AAAA,IAChD,CAAC;AAAA,EACH;AACF;",
5
5
  "names": []
6
6
  }
package/dist/zip.d.ts CHANGED
@@ -11,6 +11,7 @@ declare module 'yazl' {
11
11
  /** Writes some info about the current {@link Files} being passed around. */
12
12
  export declare class Zip implements Plug<Files> {
13
13
  private readonly _filename;
14
+ private readonly _options;
14
15
  constructor(...args: PipeParameters<'zip'>);
15
16
  pipe(files: Files, context: Context): Promise<Files>;
16
17
  }
package/dist/zip.mjs CHANGED
@@ -4,8 +4,9 @@ import { $p, $ylw, assert, Files } from "@plugjs/plug";
4
4
  import { getAbsoluteParent } from "@plugjs/plug/paths";
5
5
  import { ZipFile } from "yazl";
6
6
  var Zip = class {
7
- constructor(_filename) {
7
+ constructor(_filename, _options = {}) {
8
8
  this._filename = _filename;
9
+ this._options = _options;
9
10
  assert(_filename, "No filename specified for ZIP file");
10
11
  }
11
12
  pipe(files, context) {
@@ -16,7 +17,7 @@ var Zip = class {
16
17
  context.log.info(`Packaging ${$ylw(files.length)} files`);
17
18
  for (const [relative, absolute] of files.pathMappings()) {
18
19
  context.log.debug(`Adding file ${$p(absolute)}`);
19
- zipfile.addFile(absolute, relative);
20
+ zipfile.addFile(absolute, relative, this._options);
20
21
  }
21
22
  const directory = getAbsoluteParent(filename);
22
23
  const output = Files.builder(directory).add(filename).build();
package/dist/zip.mjs.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/zip.ts"],
4
- "mappings": ";AAGA,SAAS,yBAAyB;AAElC,SAAS,IAAI,MAAM,QAAQ,aAAa;AACxC,SAAS,yBAAyB;AAClC,SAAS,eAAe;AAcjB,IAAM,MAAN,MAAiC;AAAA,EAEtC,YAA6B,WAAmB;AAAnB;AAC3B,WAAO,WAAW,oCAAoC;AAAA,EACxD;AAAA,EAEA,KAAK,OAAc,SAAkC;AACnD,UAAM,WAAW,QAAQ,QAAQ,KAAK,SAAS;AAG/C,UAAM,UAAU,IAAI,QAAQ;AAC5B,UAAM,YAAY,kBAAkB,QAAQ;AAC5C,YAAQ,aAAa,KAAK,SAAS;AAGnC,YAAQ,IAAI,KAAK,aAAa,KAAK,MAAM,MAAM,CAAC,QAAQ;AACxD,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AACzD,cAAQ,IAAI,MAAM,eAAe,GAAG,QAAQ,CAAC,EAAE;AAC/C,cAAQ,QAAQ,UAAU,QAAQ;AAAA,IACpC;AAGA,UAAM,YAAY,kBAAkB,QAAQ;AAC5C,UAAM,SAAS,MAAM,QAAQ,SAAS,EAAE,IAAI,QAAQ,EAAE,MAAM;AAC5D,YAAQ,IAAI;AAGZ,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,gBAAU,GAAG,SAAS,MAAM,QAAQ,MAAM,CAAC;AAE3C,cAAQ,GAAG,SAAS,CAAC,UAAU,OAAO,KAAK,CAAC;AAE5C,gBAAU,GAAG,SAAS,CAAC,UAAU,OAAO,KAAK,CAAC;AAAA,IAChD,CAAC;AAAA,EACH;AACF;",
4
+ "mappings": ";AAGA,SAAS,yBAAyB;AAElC,SAAS,IAAI,MAAM,QAAQ,aAAa;AACxC,SAAS,yBAAyB;AAClC,SAAS,eAAe;AAejB,IAAM,MAAN,MAAiC;AAAA,EAEtC,YACqB,WACA,WAAuB,CAAC,GAC3C;AAFmB;AACA;AAEnB,WAAO,WAAW,oCAAoC;AAAA,EACxD;AAAA,EAEA,KAAK,OAAc,SAAkC;AACnD,UAAM,WAAW,QAAQ,QAAQ,KAAK,SAAS;AAG/C,UAAM,UAAU,IAAI,QAAQ;AAC5B,UAAM,YAAY,kBAAkB,QAAQ;AAC5C,YAAQ,aAAa,KAAK,SAAS;AAGnC,YAAQ,IAAI,KAAK,aAAa,KAAK,MAAM,MAAM,CAAC,QAAQ;AACxD,eAAW,CAAE,UAAU,QAAS,KAAK,MAAM,aAAa,GAAG;AACzD,cAAQ,IAAI,MAAM,eAAe,GAAG,QAAQ,CAAC,EAAE;AAC/C,cAAQ,QAAQ,UAAU,UAAU,KAAK,QAAQ;AAAA,IACnD;AAGA,UAAM,YAAY,kBAAkB,QAAQ;AAC5C,UAAM,SAAS,MAAM,QAAQ,SAAS,EAAE,IAAI,QAAQ,EAAE,MAAM;AAC5D,YAAQ,IAAI;AAGZ,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,gBAAU,GAAG,SAAS,MAAM,QAAQ,MAAM,CAAC;AAE3C,cAAQ,GAAG,SAAS,CAAC,UAAU,OAAO,KAAK,CAAC;AAE5C,gBAAU,GAAG,SAAS,CAAC,UAAU,OAAO,KAAK,CAAC;AAAA,IAChD,CAAC;AAAA,EACH;AACF;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plugjs/zip",
3
- "version": "0.5.7",
3
+ "version": "0.5.9",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
@@ -33,12 +33,12 @@
33
33
  "yazl": "^2.5.1"
34
34
  },
35
35
  "devDependencies": {
36
- "@types/yauzl": "^2.10.1",
37
- "@types/yazl": "^2.4.3",
36
+ "@types/yauzl": "^2.10.2",
37
+ "@types/yazl": "^2.4.4",
38
38
  "yauzl": "^2.10.0"
39
39
  },
40
40
  "peerDependencies": {
41
- "@plugjs/plug": "0.5.7"
41
+ "@plugjs/plug": "0.5.9"
42
42
  },
43
43
  "files": [
44
44
  "*.md",
package/src/index.ts CHANGED
@@ -1,14 +1,34 @@
1
1
  import { installForking } from '@plugjs/plug/fork'
2
2
  import { requireResolve } from '@plugjs/plug/paths'
3
3
 
4
+ /** Options for zipping files */
5
+ export interface ZipOptions {
6
+ /** Force the modified timestamp for all files in the _ZIP archive_ */
7
+ mtime?: Date;
8
+ /** Force the mode for all files in the _ZIP archive_ */
9
+ mode?: number;
10
+ /** Compress all files in the _ZIP archive_ (default: `true`) */
11
+ compress?: boolean;
12
+ /** Force the `ZIP-64` format for all files in the _ZIP archive_ (default: `false`) */
13
+ forceZip64Format?: boolean;
14
+ }
15
+
4
16
  declare module '@plugjs/plug' {
5
17
  export interface Pipe {
6
18
  /**
7
- * Archive all input {@link Files} into a _Zip_.
19
+ * Archive all input {@link Files} into a _ZIP archive_.
8
20
  *
9
- * @param filename The output zip file name.
21
+ * @param filename - The output _ZIP archive_ file name.
10
22
  */
11
23
  zip(filename: string): Pipe
24
+
25
+ /**
26
+ * Archive all input {@link Files} into a _ZIP archive_.
27
+ *
28
+ * @param filename - The output _ZIP archive_ file name.
29
+ * @param options - Options for zipping the archive.
30
+ */
31
+ zip(filename: string, options: ZipOptions): Pipe
12
32
  }
13
33
  }
14
34
 
package/src/zip.ts CHANGED
@@ -9,6 +9,7 @@ import { ZipFile } from 'yazl'
9
9
 
10
10
  import type { Context, PipeParameters, Plug } from '@plugjs/plug/pipe'
11
11
  import type EventEmitter from 'node:events'
12
+ import type { ZipOptions } from '.'
12
13
 
13
14
 
14
15
  // The "yazl" types don't define "ZipFile" as an "EventEmitter"
@@ -21,7 +22,10 @@ declare module 'yazl' {
21
22
  /** Writes some info about the current {@link Files} being passed around. */
22
23
  export class Zip implements Plug<Files> {
23
24
  constructor(...args: PipeParameters<'zip'>)
24
- constructor(private readonly _filename: string) {
25
+ constructor(
26
+ private readonly _filename: string,
27
+ private readonly _options: ZipOptions = {},
28
+ ) {
25
29
  assert(_filename, 'No filename specified for ZIP file')
26
30
  }
27
31
 
@@ -37,7 +41,7 @@ export class Zip implements Plug<Files> {
37
41
  context.log.info(`Packaging ${$ylw(files.length)} files`)
38
42
  for (const [ relative, absolute ] of files.pathMappings()) {
39
43
  context.log.debug(`Adding file ${$p(absolute)}`)
40
- zipfile.addFile(absolute, relative)
44
+ zipfile.addFile(absolute, relative, this._options)
41
45
  }
42
46
 
43
47
  /* All files are added, just compute our return */