@modularizer/plat 0.14.0 → 0.15.0
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/client-side-server/server.js +1 -1
- package/dist/server/server.js +1 -1
- package/dist/static/file-response.d.ts.map +1 -1
- package/dist/static/file-response.js +15 -1
- package/dist/static/file-response.js.map +1 -1
- package/dist/static/glob-match.d.ts.map +1 -1
- package/dist/static/glob-match.js +15 -9
- package/dist/static/glob-match.js.map +1 -1
- package/package.json +1 -1
package/dist/server/server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-response.d.ts","sourceRoot":"","sources":["../../src/static/file-response.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,eAAkC,CAAA;AAElE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;
|
|
1
|
+
{"version":3,"file":"file-response.d.ts","sourceRoot":"","sources":["../../src/static/file-response.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,eAAkC,CAAA;AAElE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAgBD;;;GAGG;AACH,qBAAa,YAAY;IASrB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU;IAT/C,QAAQ,CAAC,CAAC,mBAAmB,CAAC,QAAO;IAErC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAExC,OAAO;IAYP;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;IACvC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,YAAY;IAC/D;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY;IAClF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,YAAY;IAiB1G;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;CAiBxC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE"}
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import { getMimeType } from './mime-types.js';
|
|
2
2
|
export const FILE_RESPONSE_BRAND = Symbol.for('plat:FileResponse');
|
|
3
3
|
function hasNodeBuffer(value) {
|
|
4
|
-
|
|
4
|
+
try {
|
|
5
|
+
return (typeof Buffer !== 'undefined' &&
|
|
6
|
+
typeof globalThis.Buffer !== 'undefined' &&
|
|
7
|
+
!!value &&
|
|
8
|
+
typeof value.constructor === 'function' &&
|
|
9
|
+
value.constructor.name === 'Buffer') === true;
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
5
14
|
}
|
|
6
15
|
/**
|
|
7
16
|
* A response that serves a file. Can be returned from any controller method.
|
|
@@ -46,6 +55,11 @@ export class FileResponse {
|
|
|
46
55
|
if (this.source instanceof Uint8Array) {
|
|
47
56
|
return this.source;
|
|
48
57
|
}
|
|
58
|
+
// If it's a Node.js Buffer, convert to Uint8Array (should not happen in browser)
|
|
59
|
+
if (hasNodeBuffer(this.source)) {
|
|
60
|
+
return new Uint8Array(this.source);
|
|
61
|
+
}
|
|
62
|
+
// Fallback: try to coerce to Uint8Array
|
|
49
63
|
return new Uint8Array(this.source);
|
|
50
64
|
}
|
|
51
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-response.js","sourceRoot":"","sources":["../../src/static/file-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;AAQlE,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"file-response.js","sourceRoot":"","sources":["../../src/static/file-response.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob-match.d.ts","sourceRoot":"","sources":["../../src/static/glob-match.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"glob-match.d.ts","sourceRoot":"","sources":["../../src/static/glob-match.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoCH;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CASxE"}
|
|
@@ -12,19 +12,25 @@
|
|
|
12
12
|
* Convert a gitignore-style glob pattern to a RegExp.
|
|
13
13
|
*/
|
|
14
14
|
function globToRegExp(pattern) {
|
|
15
|
+
// Defensive: warn if pattern looks like a regex, not a glob
|
|
16
|
+
if (/\\/.test(pattern)) {
|
|
17
|
+
console.warn('globToRegExp received a suspicious pattern (contains backslash):', pattern);
|
|
18
|
+
// Optionally, throw an error here to catch it early
|
|
19
|
+
// throw new Error('Invalid glob pattern: contains backslash')
|
|
20
|
+
}
|
|
15
21
|
// Normalize: strip leading/trailing slashes
|
|
16
22
|
let p = pattern.replace(/^\/+|\/+$/g, '');
|
|
17
23
|
// Escape regex special chars except * and ?
|
|
18
24
|
p = p.replace(/[.+^${}()|[\]\\]/g, '\\$&');
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
p = p.replace(
|
|
22
|
-
// **
|
|
23
|
-
p = p.replace(
|
|
24
|
-
//
|
|
25
|
-
p = p.replace(
|
|
26
|
-
// ?
|
|
27
|
-
p = p.replace(
|
|
25
|
+
// Replace glob tokens with regex equivalents
|
|
26
|
+
// Replace **/ with (?:.*/)?
|
|
27
|
+
p = p.replace(/\*\*\//g, '(?:.*/)?');
|
|
28
|
+
// Replace ** with .*
|
|
29
|
+
p = p.replace(/\*\*/g, '.*');
|
|
30
|
+
// Replace * with [^/]*
|
|
31
|
+
p = p.replace(/\*/g, '[^/]*');
|
|
32
|
+
// Replace ? with [^/]
|
|
33
|
+
p = p.replace(/\?/g, '[^/]');
|
|
28
34
|
// If pattern has no slash, match against basename anywhere in path
|
|
29
35
|
if (!pattern.includes('/')) {
|
|
30
36
|
return new RegExp(`(?:^|/)${p}$`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glob-match.js","sourceRoot":"","sources":["../../src/static/glob-match.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;GAEG;AACH,SAAS,YAAY,CAAC,OAAe;IACnC,4CAA4C;IAC5C,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IAEzC,4CAA4C;IAC5C,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;IAE1C,
|
|
1
|
+
{"version":3,"file":"glob-match.js","sourceRoot":"","sources":["../../src/static/glob-match.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;GAEG;AACH,SAAS,YAAY,CAAC,OAAe;IACnC,4DAA4D;IAC5D,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,kEAAkE,EAAE,OAAO,CAAC,CAAA;QACzF,oDAAoD;QACpD,8DAA8D;IAChE,CAAC;IACD,4CAA4C;IAC5C,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IAEzC,4CAA4C;IAC5C,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAA;IAE1C,6CAA6C;IAC7C,4BAA4B;IAC5B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IACpC,qBAAqB;IACrB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC5B,uBAAuB;IACvB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC7B,sBAAsB;IACtB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAE5B,mEAAmE;IACnE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;IAED,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,QAAkB;IAC7D,qBAAqB;IACrB,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC/C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
|