@mieweb/pulsevault 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,20 @@ breaking changes, called out explicitly below.
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.4.1] - 2026-09-30
11
+
12
+ ### Fixed
13
+
14
+ - **`@mieweb/pulsevault/core` loads under Meteor again.** 0.4.0 read the
15
+ protocol version from `package.json` at runtime with
16
+ `createRequire(import.meta.url)`. That's valid ESM for Node, but Meteor
17
+ compiles npm packages into its own module wrapper, which already declares
18
+ `require` and can't compile `import.meta`, so a Meteor app crashed at boot
19
+ (`SyntaxError: Identifier 'require' has already been declared`). `npm run
20
+ build` now writes the version into `src/lib/protocol-version.gen.ts`
21
+ (`scripts/gen-protocol-version.mjs`); `package.json` `pulseProtocol` is still
22
+ the one place it's set, and a missing or malformed value now fails the build.
23
+
10
24
  ## [0.4.0] - 2026-09-30
11
25
 
12
26
  Protocol 2.2 (`PROTOCOL.md` §7.4). Protocol 2 records the `uploadUnit`
@@ -386,7 +400,8 @@ if you've evaluated against an intermediate build.
386
400
  lock, so this is now at least surfaced: a one-time `console.warn` fires
387
401
  per process the first time a deployment falls into this degraded mode.
388
402
 
389
- [Unreleased]: https://github.com/mieweb/pulsevault/compare/v0.4.0...HEAD
403
+ [Unreleased]: https://github.com/mieweb/pulsevault/compare/v0.4.1...HEAD
404
+ [0.4.1]: https://github.com/mieweb/pulsevault/compare/v0.4.0...v0.4.1
390
405
  [0.4.0]: https://github.com/mieweb/pulsevault/compare/v0.3.0...v0.4.0
391
406
  [0.3.0]: https://github.com/mieweb/pulsevault/compare/v0.2.0...v0.3.0
392
407
  [0.2.0]: https://github.com/mieweb/pulsevault/compare/v0.0.1...v0.2.0
@@ -0,0 +1,6 @@
1
+ export declare const PULSE_PROTOCOL: {
2
+ version: string;
3
+ min: number;
4
+ max: number;
5
+ };
6
+ //# sourceMappingURL=protocol-version.gen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-version.gen.d.ts","sourceRoot":"","sources":["../../src/lib/protocol-version.gen.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAIvE,CAAC"}
@@ -0,0 +1,8 @@
1
+ // GENERATED by scripts/gen-protocol-version.mjs from package.json `pulseProtocol`.
2
+ // Do not edit: change package.json, then run `npm run build`.
3
+ export const PULSE_PROTOCOL = {
4
+ version: '2.2',
5
+ min: 2,
6
+ max: 2,
7
+ };
8
+ //# sourceMappingURL=protocol-version.gen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-version.gen.js","sourceRoot":"","sources":["../../src/lib/protocol-version.gen.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,8DAA8D;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAkD;IAC3E,OAAO,EAAE,KAAK;IACd,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;CACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/lib/protocol.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAgBjD,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,QAAwB,CAAC;AACvD,uFAAuF;AACvF,eAAO,MAAM,gBAAgB,QAA0C,CAAC;AACxE,eAAO,MAAM,8BAA8B,QAAoB,CAAC;AAChE,eAAO,MAAM,8BAA8B,QAAoB,CAAC;AAUhE;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAQzF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,eAAe,GACnB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAcpF;AAQD,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMxF"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/lib/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAgBjD,2DAA2D;AAC3D,eAAO,MAAM,iBAAiB,QAAwB,CAAC;AACvD,uFAAuF;AACvF,eAAO,MAAM,gBAAgB,QAA0C,CAAC;AACxE,eAAO,MAAM,8BAA8B,QAAoB,CAAC;AAChE,eAAO,MAAM,8BAA8B,QAAoB,CAAC;AAUhE;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAQzF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,eAAe,GACnB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAcpF;AAQD,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMxF"}
@@ -1,6 +1,15 @@
1
- import { createRequire } from 'node:module';
2
- const require = createRequire(import.meta.url);
3
- const { pulseProtocol } = require('../../package.json');
1
+ import { PULSE_PROTOCOL as pulseProtocol } from './protocol-version.gen.js';
2
+ /*
3
+ * The protocol this release implements, from `package.json` `pulseProtocol` — the one place
4
+ * it's written down (PROTOCOL.md §7). npm keeps the field for every published version, so
5
+ * which release spoke which protocol can always be looked up. `npm run build` bakes it into
6
+ * `protocol-version.gen.ts` rather than reading package.json at runtime, which bundlers that
7
+ * wrap npm packages in their own module function (Meteor) can't compile.
8
+ *
9
+ * - `version` is the spec revision, `major.minor`. The major changes only for breaking changes
10
+ * and is what pairing compares; the minor counts additions older clients can ignore.
11
+ * - `min`/`max` are the protocol majors this release accepts from clients.
12
+ */
4
13
  /** Spec revision this release implements, e.g. `"2.1"`. */
5
14
  export const PROTOCOL_REVISION = pulseProtocol.version;
6
15
  /** Protocol major this release implements (the `Protocol-Version` response header). */
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/lib/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/lib/protocol.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE5E;;;;;;;;;;GAUG;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO,CAAC;AACvD,uFAAuF;AACvF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,8BAA8B,GAAG,aAAa,CAAC,GAAG,CAAC;AAChE,MAAM,CAAC,MAAM,8BAA8B,GAAG,aAAa,CAAC,GAAG,CAAC;AAEhE,IACE,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACrC,8BAA8B,GAAG,gBAAgB;IACjD,8BAA8B,GAAG,gBAAgB,EACjD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AAClG,CAAC;AAUD,MAAM,UAAU,gBAAgB,CAAC,KAAoC;IACnE,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IAC9D,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAO,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACjF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAAoB;IAEpB,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7D,IAAI,MAAM,EAAE,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,IAAI,8BAA8B,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GACT,8BAA8B,KAAK,8BAA8B;QAC/D,CAAC,CAAC,GAAG,8BAA8B,EAAE;QACrC,CAAC,CAAC,GAAG,8BAA8B,IAAI,8BAA8B,EAAE,CAAC;IAC5E,OAAO;QACL,KAAK,EAAE,0DAA0D,KAAK,iCAAiC;QACvG,mBAAmB,EAAE,8BAA8B;QACnD,mBAAmB,EAAE,8BAA8B;KACpD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC,oFAAoF;AACpF,MAAM,UAAU,mBAAmB,CAAC,KAAgC;IAClE,OAAO,CACL,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SAC7B,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC;SAChC,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS,CACzB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mieweb/pulsevault",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Resumable video uploads via TUS for Fastify (plugin) or any Node backend (framework-agnostic core), with a pluggable storage adapter and a filesystem-first local-storage default.",
5
5
  "type": "module",
6
6
  "main": "./dist/app.js",
@@ -37,13 +37,13 @@
37
37
  "protocol"
38
38
  ],
39
39
  "scripts": {
40
- "build": "tsc",
40
+ "build": "node scripts/gen-protocol-version.mjs && tsc",
41
41
  "prepublishOnly": "npm run build",
42
42
  "pretest": "npm run build",
43
43
  "test": "node --test test/*.test.mjs",
44
44
  "e2e": "npm run build && node scripts/e2e-tus.mjs",
45
45
  "protocol": "npm run build && node scripts/gen-protocol.mjs",
46
- "protocol:check": "npm run build && node scripts/gen-protocol.mjs --check",
46
+ "protocol:check": "node scripts/gen-protocol-version.mjs --check && npm run build && node scripts/gen-protocol.mjs --check",
47
47
  "protocol:compat": "node scripts/check-protocol.mjs"
48
48
  },
49
49
  "keywords": [