one 2.6.4 → 2.6.6
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/cjs/server/assetRange.cjs +84 -16
- package/dist/cjs/server/assetRange.native.cjs +102 -16
- package/dist/cjs/server/assetRange.native.js +102 -16
- package/dist/cjs/server/assetRange.native.js.map +1 -1
- package/dist/cjs/vite/one.cjs +37 -22
- package/dist/cjs/vite/one.native.cjs +22 -2
- package/dist/cjs/vite/one.native.js +22 -2
- package/dist/cjs/vite/one.native.js.map +1 -1
- package/dist/esm/server/assetRange.mjs +84 -16
- package/dist/esm/server/assetRange.mjs.map +1 -1
- package/dist/esm/server/assetRange.native.js +102 -16
- package/dist/esm/server/assetRange.native.js.map +1 -1
- package/dist/esm/vite/one.mjs +37 -22
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js +22 -2
- package/dist/esm/vite/one.native.js.map +1 -1
- package/nitrogen/generated/ios/One-Swift-Cxx-Bridge.hpp +1 -10
- package/package.json +12 -12
- package/src/server/assetRange.test.ts +50 -10
- package/src/server/assetRange.ts +90 -14
- package/src/vite/one-defines.test.ts +43 -0
- package/src/vite/one.ts +47 -26
- package/src/vite/types.ts +4 -1
- package/types/server/assetRange.d.ts.map +1 -1
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/types.d.ts +4 -1
- package/types/vite/types.d.ts.map +1 -1
|
@@ -23,35 +23,103 @@ __export(assetRange_exports, { withRange: () => withRange });
|
|
|
23
23
|
module.exports = __toCommonJS(assetRange_exports);
|
|
24
24
|
async function withRange(request, response) {
|
|
25
25
|
const range = request.headers.get("range");
|
|
26
|
-
if (!range || request.method !== "GET" || response.status !== 200 || response.headers.has("content-range") || response.headers.has("content-encoding")) {
|
|
26
|
+
if (!range || request.method !== "GET" || response.status !== 200 || !response.body || response.headers.has("content-range") || response.headers.has("content-encoding") || !ifRangeMatches(request.headers.get("if-range"), response.headers)) {
|
|
27
27
|
return response;
|
|
28
28
|
}
|
|
29
29
|
const match = /^bytes=(\d*)-(\d*)$/.exec(range.trim());
|
|
30
30
|
if (!match || !match[1] && !match[2]) return response;
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
let start;
|
|
34
|
-
let end;
|
|
35
|
-
if (!match[1]) {
|
|
36
|
-
start = Math.max(0, size - Number(match[2]));
|
|
37
|
-
end = size - 1;
|
|
38
|
-
} else {
|
|
39
|
-
start = Number(match[1]);
|
|
40
|
-
end = match[2] ? Math.min(Number(match[2]), size - 1) : size - 1;
|
|
41
|
-
}
|
|
31
|
+
const length = response.headers.get("content-length");
|
|
32
|
+
const known = length && /^\d+$/.test(length) ? Number(length) : void 0;
|
|
42
33
|
const headers = new Headers(response.headers);
|
|
43
34
|
headers.set("accept-ranges", "bytes");
|
|
44
|
-
|
|
35
|
+
headers.delete("content-length");
|
|
36
|
+
const { size, kept, keptStart } = await readRange(response.body, match, known);
|
|
37
|
+
const span = resolve(match, size);
|
|
38
|
+
if (!span) {
|
|
45
39
|
headers.set("content-range", `bytes */${size}`);
|
|
46
40
|
return new Response(null, {
|
|
47
41
|
status: 416,
|
|
48
42
|
headers
|
|
49
43
|
});
|
|
50
44
|
}
|
|
51
|
-
headers.set("content-range", `bytes ${start}-${end}/${size}`);
|
|
52
|
-
headers.set("content-length", String(end - start + 1));
|
|
53
|
-
return new Response(
|
|
45
|
+
headers.set("content-range", `bytes ${span.start}-${span.end}/${size}`);
|
|
46
|
+
headers.set("content-length", String(span.end - span.start + 1));
|
|
47
|
+
return new Response(kept.subarray(span.start - keptStart, span.end - keptStart + 1), {
|
|
54
48
|
status: 206,
|
|
55
49
|
headers
|
|
56
50
|
});
|
|
57
51
|
}
|
|
52
|
+
function ifRangeMatches(ifRange, headers) {
|
|
53
|
+
if (!ifRange) return true;
|
|
54
|
+
const value = ifRange.trim();
|
|
55
|
+
if (value.startsWith("\"")) {
|
|
56
|
+
const etag = headers.get("etag");
|
|
57
|
+
return !!etag && !etag.startsWith("W/") && etag === value;
|
|
58
|
+
}
|
|
59
|
+
if (value.startsWith("W/")) return false;
|
|
60
|
+
return headers.get("last-modified") === value;
|
|
61
|
+
}
|
|
62
|
+
function resolve(match, size) {
|
|
63
|
+
let start;
|
|
64
|
+
let end;
|
|
65
|
+
if (!match[1]) {
|
|
66
|
+
start = Math.max(0, size - Number(match[2]));
|
|
67
|
+
end = size - 1;
|
|
68
|
+
} else {
|
|
69
|
+
start = Number(match[1]);
|
|
70
|
+
end = match[2] ? Math.min(Number(match[2]), size - 1) : size - 1;
|
|
71
|
+
}
|
|
72
|
+
if (start >= size || start > end) return;
|
|
73
|
+
return {
|
|
74
|
+
start,
|
|
75
|
+
end
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
async function readRange(body, match, known) {
|
|
79
|
+
const span = known === void 0 ? void 0 : resolve(match, known) ?? {
|
|
80
|
+
start: known,
|
|
81
|
+
end: -1
|
|
82
|
+
};
|
|
83
|
+
const suffix = !span && !match[1] ? Number(match[2]) : 0;
|
|
84
|
+
const from = span ? span.start : match[1] ? Number(match[1]) : 0;
|
|
85
|
+
const to = span ? span.end : match[2] && match[1] ? Number(match[2]) : Number.POSITIVE_INFINITY;
|
|
86
|
+
const chunks = [];
|
|
87
|
+
let keptBytes = 0;
|
|
88
|
+
let size = 0;
|
|
89
|
+
const reader = body.getReader();
|
|
90
|
+
while (known === void 0 || size <= to) {
|
|
91
|
+
const { done, value } = await reader.read();
|
|
92
|
+
if (done) break;
|
|
93
|
+
const chunkStart = size;
|
|
94
|
+
size += value.byteLength;
|
|
95
|
+
if (suffix) {
|
|
96
|
+
chunks.push(value);
|
|
97
|
+
keptBytes += value.byteLength;
|
|
98
|
+
while (chunks.length > 1 && keptBytes - chunks[0].byteLength >= suffix) {
|
|
99
|
+
keptBytes -= chunks.shift().byteLength;
|
|
100
|
+
}
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
const lo = Math.max(from, chunkStart);
|
|
104
|
+
const hi = Math.min(to + 1, size);
|
|
105
|
+
if (hi > lo) {
|
|
106
|
+
chunks.push(value.subarray(lo - chunkStart, hi - chunkStart));
|
|
107
|
+
keptBytes += hi - lo;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (known !== void 0) {
|
|
111
|
+
await reader.cancel();
|
|
112
|
+
size = known;
|
|
113
|
+
}
|
|
114
|
+
const kept = new Uint8Array(keptBytes);
|
|
115
|
+
let at = 0;
|
|
116
|
+
for (const chunk of chunks) {
|
|
117
|
+
kept.set(chunk, at);
|
|
118
|
+
at += chunk.byteLength;
|
|
119
|
+
}
|
|
120
|
+
return {
|
|
121
|
+
size,
|
|
122
|
+
kept,
|
|
123
|
+
keptStart: suffix ? size - keptBytes : from
|
|
124
|
+
};
|
|
125
|
+
}
|
|
@@ -25,35 +25,121 @@ __export(assetRange_exports, { withRange: () => withRange });
|
|
|
25
25
|
module.exports = __toCommonJS(assetRange_exports);
|
|
26
26
|
async function withRange(request, response) {
|
|
27
27
|
var range = request.headers.get("range");
|
|
28
|
-
if (!range || request.method !== "GET" || response.status !== 200 || response.headers.has("content-range") || response.headers.has("content-encoding")) {
|
|
28
|
+
if (!range || request.method !== "GET" || response.status !== 200 || !response.body || response.headers.has("content-range") || response.headers.has("content-encoding") || !ifRangeMatches(request.headers.get("if-range"), response.headers)) {
|
|
29
29
|
return response;
|
|
30
30
|
}
|
|
31
31
|
var match = /^bytes=(\d*)-(\d*)$/.exec(range.trim());
|
|
32
32
|
if (!match || !match[1] && !match[2]) return response;
|
|
33
|
-
var
|
|
34
|
-
var
|
|
35
|
-
var start;
|
|
36
|
-
var end;
|
|
37
|
-
if (!match[1]) {
|
|
38
|
-
start = Math.max(0, size - Number(match[2]));
|
|
39
|
-
end = size - 1;
|
|
40
|
-
} else {
|
|
41
|
-
start = Number(match[1]);
|
|
42
|
-
end = match[2] ? Math.min(Number(match[2]), size - 1) : size - 1;
|
|
43
|
-
}
|
|
33
|
+
var length = response.headers.get("content-length");
|
|
34
|
+
var known = length && /^\d+$/.test(length) ? Number(length) : void 0;
|
|
44
35
|
var headers = new Headers(response.headers);
|
|
45
36
|
headers.set("accept-ranges", "bytes");
|
|
46
|
-
|
|
37
|
+
headers.delete("content-length");
|
|
38
|
+
var { size, kept, keptStart } = await readRange(response.body, match, known);
|
|
39
|
+
var span = resolve(match, size);
|
|
40
|
+
if (!span) {
|
|
47
41
|
headers.set("content-range", `bytes */${size}`);
|
|
48
42
|
return new Response(null, {
|
|
49
43
|
status: 416,
|
|
50
44
|
headers
|
|
51
45
|
});
|
|
52
46
|
}
|
|
53
|
-
headers.set("content-range", `bytes ${start}-${end}/${size}`);
|
|
54
|
-
headers.set("content-length", String(end - start + 1));
|
|
55
|
-
return new Response(
|
|
47
|
+
headers.set("content-range", `bytes ${span.start}-${span.end}/${size}`);
|
|
48
|
+
headers.set("content-length", String(span.end - span.start + 1));
|
|
49
|
+
return new Response(kept.subarray(span.start - keptStart, span.end - keptStart + 1), {
|
|
56
50
|
status: 206,
|
|
57
51
|
headers
|
|
58
52
|
});
|
|
59
53
|
}
|
|
54
|
+
function ifRangeMatches(ifRange, headers) {
|
|
55
|
+
if (!ifRange) return true;
|
|
56
|
+
var value = ifRange.trim();
|
|
57
|
+
if (value.startsWith("\"")) {
|
|
58
|
+
var etag = headers.get("etag");
|
|
59
|
+
return !!etag && !etag.startsWith("W/") && etag === value;
|
|
60
|
+
}
|
|
61
|
+
if (value.startsWith("W/")) return false;
|
|
62
|
+
return headers.get("last-modified") === value;
|
|
63
|
+
}
|
|
64
|
+
function resolve(match, size) {
|
|
65
|
+
var start;
|
|
66
|
+
var end;
|
|
67
|
+
if (!match[1]) {
|
|
68
|
+
start = Math.max(0, size - Number(match[2]));
|
|
69
|
+
end = size - 1;
|
|
70
|
+
} else {
|
|
71
|
+
start = Number(match[1]);
|
|
72
|
+
end = match[2] ? Math.min(Number(match[2]), size - 1) : size - 1;
|
|
73
|
+
}
|
|
74
|
+
if (start >= size || start > end) return;
|
|
75
|
+
return {
|
|
76
|
+
start,
|
|
77
|
+
end
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
async function readRange(body, match, known) {
|
|
81
|
+
var _resolve;
|
|
82
|
+
var span = known === void 0 ? void 0 : (_resolve = resolve(match, known)) !== null && _resolve !== void 0 ? _resolve : {
|
|
83
|
+
start: known,
|
|
84
|
+
end: -1
|
|
85
|
+
};
|
|
86
|
+
var suffix = !span && !match[1] ? Number(match[2]) : 0;
|
|
87
|
+
var from = span ? span.start : match[1] ? Number(match[1]) : 0;
|
|
88
|
+
var to = span ? span.end : match[2] && match[1] ? Number(match[2]) : Number.POSITIVE_INFINITY;
|
|
89
|
+
var chunks = [];
|
|
90
|
+
var keptBytes = 0;
|
|
91
|
+
var size = 0;
|
|
92
|
+
var reader = body.getReader();
|
|
93
|
+
while (known === void 0 || size <= to) {
|
|
94
|
+
var { done, value } = await reader.read();
|
|
95
|
+
if (done) break;
|
|
96
|
+
var chunkStart = size;
|
|
97
|
+
size += value.byteLength;
|
|
98
|
+
if (suffix) {
|
|
99
|
+
chunks.push(value);
|
|
100
|
+
keptBytes += value.byteLength;
|
|
101
|
+
while (chunks.length > 1 && keptBytes - chunks[0].byteLength >= suffix) {
|
|
102
|
+
keptBytes -= chunks.shift().byteLength;
|
|
103
|
+
}
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
var lo = Math.max(from, chunkStart);
|
|
107
|
+
var hi = Math.min(to + 1, size);
|
|
108
|
+
if (hi > lo) {
|
|
109
|
+
chunks.push(value.subarray(lo - chunkStart, hi - chunkStart));
|
|
110
|
+
keptBytes += hi - lo;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (known !== void 0) {
|
|
114
|
+
await reader.cancel();
|
|
115
|
+
size = known;
|
|
116
|
+
}
|
|
117
|
+
var kept = new Uint8Array(keptBytes);
|
|
118
|
+
var at = 0;
|
|
119
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
120
|
+
try {
|
|
121
|
+
for (var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
122
|
+
var chunk = _step.value;
|
|
123
|
+
kept.set(chunk, at);
|
|
124
|
+
at += chunk.byteLength;
|
|
125
|
+
}
|
|
126
|
+
} catch (err) {
|
|
127
|
+
_didIteratorError = true;
|
|
128
|
+
_iteratorError = err;
|
|
129
|
+
} finally {
|
|
130
|
+
try {
|
|
131
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
132
|
+
_iterator.return();
|
|
133
|
+
}
|
|
134
|
+
} finally {
|
|
135
|
+
if (_didIteratorError) {
|
|
136
|
+
throw _iteratorError;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return {
|
|
141
|
+
size,
|
|
142
|
+
kept,
|
|
143
|
+
keptStart: suffix ? size - keptBytes : from
|
|
144
|
+
};
|
|
145
|
+
}
|
|
@@ -25,37 +25,123 @@ __export(assetRange_exports, { withRange: () => withRange });
|
|
|
25
25
|
module.exports = __toCommonJS(assetRange_exports);
|
|
26
26
|
async function withRange(request, response) {
|
|
27
27
|
var range = request.headers.get("range");
|
|
28
|
-
if (!range || request.method !== "GET" || response.status !== 200 || response.headers.has("content-range") || response.headers.has("content-encoding")) {
|
|
28
|
+
if (!range || request.method !== "GET" || response.status !== 200 || !response.body || response.headers.has("content-range") || response.headers.has("content-encoding") || !ifRangeMatches(request.headers.get("if-range"), response.headers)) {
|
|
29
29
|
return response;
|
|
30
30
|
}
|
|
31
31
|
var match = /^bytes=(\d*)-(\d*)$/.exec(range.trim());
|
|
32
32
|
if (!match || !match[1] && !match[2]) return response;
|
|
33
|
-
var
|
|
34
|
-
var
|
|
35
|
-
var start;
|
|
36
|
-
var end;
|
|
37
|
-
if (!match[1]) {
|
|
38
|
-
start = Math.max(0, size - Number(match[2]));
|
|
39
|
-
end = size - 1;
|
|
40
|
-
} else {
|
|
41
|
-
start = Number(match[1]);
|
|
42
|
-
end = match[2] ? Math.min(Number(match[2]), size - 1) : size - 1;
|
|
43
|
-
}
|
|
33
|
+
var length = response.headers.get("content-length");
|
|
34
|
+
var known = length && /^\d+$/.test(length) ? Number(length) : void 0;
|
|
44
35
|
var headers = new Headers(response.headers);
|
|
45
36
|
headers.set("accept-ranges", "bytes");
|
|
46
|
-
|
|
37
|
+
headers.delete("content-length");
|
|
38
|
+
var { size, kept, keptStart } = await readRange(response.body, match, known);
|
|
39
|
+
var span = resolve(match, size);
|
|
40
|
+
if (!span) {
|
|
47
41
|
headers.set("content-range", `bytes */${size}`);
|
|
48
42
|
return new Response(null, {
|
|
49
43
|
status: 416,
|
|
50
44
|
headers
|
|
51
45
|
});
|
|
52
46
|
}
|
|
53
|
-
headers.set("content-range", `bytes ${start}-${end}/${size}`);
|
|
54
|
-
headers.set("content-length", String(end - start + 1));
|
|
55
|
-
return new Response(
|
|
47
|
+
headers.set("content-range", `bytes ${span.start}-${span.end}/${size}`);
|
|
48
|
+
headers.set("content-length", String(span.end - span.start + 1));
|
|
49
|
+
return new Response(kept.subarray(span.start - keptStart, span.end - keptStart + 1), {
|
|
56
50
|
status: 206,
|
|
57
51
|
headers
|
|
58
52
|
});
|
|
59
53
|
}
|
|
54
|
+
function ifRangeMatches(ifRange, headers) {
|
|
55
|
+
if (!ifRange) return true;
|
|
56
|
+
var value = ifRange.trim();
|
|
57
|
+
if (value.startsWith("\"")) {
|
|
58
|
+
var etag = headers.get("etag");
|
|
59
|
+
return !!etag && !etag.startsWith("W/") && etag === value;
|
|
60
|
+
}
|
|
61
|
+
if (value.startsWith("W/")) return false;
|
|
62
|
+
return headers.get("last-modified") === value;
|
|
63
|
+
}
|
|
64
|
+
function resolve(match, size) {
|
|
65
|
+
var start;
|
|
66
|
+
var end;
|
|
67
|
+
if (!match[1]) {
|
|
68
|
+
start = Math.max(0, size - Number(match[2]));
|
|
69
|
+
end = size - 1;
|
|
70
|
+
} else {
|
|
71
|
+
start = Number(match[1]);
|
|
72
|
+
end = match[2] ? Math.min(Number(match[2]), size - 1) : size - 1;
|
|
73
|
+
}
|
|
74
|
+
if (start >= size || start > end) return;
|
|
75
|
+
return {
|
|
76
|
+
start,
|
|
77
|
+
end
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
async function readRange(body, match, known) {
|
|
81
|
+
var _resolve;
|
|
82
|
+
var span = known === void 0 ? void 0 : (_resolve = resolve(match, known)) !== null && _resolve !== void 0 ? _resolve : {
|
|
83
|
+
start: known,
|
|
84
|
+
end: -1
|
|
85
|
+
};
|
|
86
|
+
var suffix = !span && !match[1] ? Number(match[2]) : 0;
|
|
87
|
+
var from = span ? span.start : match[1] ? Number(match[1]) : 0;
|
|
88
|
+
var to = span ? span.end : match[2] && match[1] ? Number(match[2]) : Number.POSITIVE_INFINITY;
|
|
89
|
+
var chunks = [];
|
|
90
|
+
var keptBytes = 0;
|
|
91
|
+
var size = 0;
|
|
92
|
+
var reader = body.getReader();
|
|
93
|
+
while (known === void 0 || size <= to) {
|
|
94
|
+
var { done, value } = await reader.read();
|
|
95
|
+
if (done) break;
|
|
96
|
+
var chunkStart = size;
|
|
97
|
+
size += value.byteLength;
|
|
98
|
+
if (suffix) {
|
|
99
|
+
chunks.push(value);
|
|
100
|
+
keptBytes += value.byteLength;
|
|
101
|
+
while (chunks.length > 1 && keptBytes - chunks[0].byteLength >= suffix) {
|
|
102
|
+
keptBytes -= chunks.shift().byteLength;
|
|
103
|
+
}
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
var lo = Math.max(from, chunkStart);
|
|
107
|
+
var hi = Math.min(to + 1, size);
|
|
108
|
+
if (hi > lo) {
|
|
109
|
+
chunks.push(value.subarray(lo - chunkStart, hi - chunkStart));
|
|
110
|
+
keptBytes += hi - lo;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (known !== void 0) {
|
|
114
|
+
await reader.cancel();
|
|
115
|
+
size = known;
|
|
116
|
+
}
|
|
117
|
+
var kept = new Uint8Array(keptBytes);
|
|
118
|
+
var at = 0;
|
|
119
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
120
|
+
try {
|
|
121
|
+
for (var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
122
|
+
var chunk = _step.value;
|
|
123
|
+
kept.set(chunk, at);
|
|
124
|
+
at += chunk.byteLength;
|
|
125
|
+
}
|
|
126
|
+
} catch (err) {
|
|
127
|
+
_didIteratorError = true;
|
|
128
|
+
_iteratorError = err;
|
|
129
|
+
} finally {
|
|
130
|
+
try {
|
|
131
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
132
|
+
_iterator.return();
|
|
133
|
+
}
|
|
134
|
+
} finally {
|
|
135
|
+
if (_didIteratorError) {
|
|
136
|
+
throw _iteratorError;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return {
|
|
141
|
+
size,
|
|
142
|
+
kept,
|
|
143
|
+
keptStart: suffix ? size - keptBytes : from
|
|
144
|
+
};
|
|
145
|
+
}
|
|
60
146
|
|
|
61
147
|
//# sourceMappingURL=assetRange.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assetRange.native.js","names":[],"sources":["cjs/server/assetRange.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar assetRange_exports = {};\n__export(assetRange_exports, {\n withRange: () => withRange\n});\nmodule.exports = __toCommonJS(assetRange_exports);\nasync function withRange(request, response) {\n var range = request.headers.get(\"range\");\n if (!range || request.method !== \"GET\" || response.status !== 200 || response.headers.has(\"content-range\") || response.headers.has(\"content-encoding\")) {\n return response;\n }\n var match = /^bytes=(\\d*)-(\\d*)$/.exec(range.trim());\n if (!match || !match[1] && !match[2]) return response;\n var
|
|
1
|
+
{"version":3,"file":"assetRange.native.js","names":[],"sources":["cjs/server/assetRange.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar assetRange_exports = {};\n__export(assetRange_exports, {\n withRange: () => withRange\n});\nmodule.exports = __toCommonJS(assetRange_exports);\nasync function withRange(request, response) {\n var range = request.headers.get(\"range\");\n if (!range || request.method !== \"GET\" || response.status !== 200 || !response.body || response.headers.has(\"content-range\") || response.headers.has(\"content-encoding\") || !ifRangeMatches(request.headers.get(\"if-range\"), response.headers)) {\n return response;\n }\n var match = /^bytes=(\\d*)-(\\d*)$/.exec(range.trim());\n if (!match || !match[1] && !match[2]) return response;\n var length = response.headers.get(\"content-length\");\n var known = length && /^\\d+$/.test(length) ? Number(length) : void 0;\n var headers = new Headers(response.headers);\n headers.set(\"accept-ranges\", \"bytes\");\n headers.delete(\"content-length\");\n var { size, kept, keptStart } = await readRange(response.body, match, known);\n var span = resolve(match, size);\n if (!span) {\n headers.set(\"content-range\", `bytes */${size}`);\n return new Response(null, {\n status: 416,\n headers\n });\n }\n headers.set(\"content-range\", `bytes ${span.start}-${span.end}/${size}`);\n headers.set(\"content-length\", String(span.end - span.start + 1));\n return new Response(kept.subarray(span.start - keptStart, span.end - keptStart + 1), {\n status: 206,\n headers\n });\n}\nfunction ifRangeMatches(ifRange, headers) {\n if (!ifRange) return true;\n var value = ifRange.trim();\n if (value.startsWith('\"')) {\n var etag = headers.get(\"etag\");\n return !!etag && !etag.startsWith(\"W/\") && etag === value;\n }\n if (value.startsWith(\"W/\")) return false;\n return headers.get(\"last-modified\") === value;\n}\nfunction resolve(match, size) {\n var start;\n var end;\n if (!match[1]) {\n start = Math.max(0, size - Number(match[2]));\n end = size - 1;\n } else {\n start = Number(match[1]);\n end = match[2] ? Math.min(Number(match[2]), size - 1) : size - 1;\n }\n if (start >= size || start > end) return;\n return {\n start,\n end\n };\n}\nasync function readRange(body, match, known) {\n var _resolve;\n var span = known === void 0 ? void 0 : (_resolve = resolve(match, known)) !== null && _resolve !== void 0 ? _resolve : {\n start: known,\n end: -1\n };\n var suffix = !span && !match[1] ? Number(match[2]) : 0;\n var from = span ? span.start : match[1] ? Number(match[1]) : 0;\n var to = span ? span.end : match[2] && match[1] ? Number(match[2]) : Number.POSITIVE_INFINITY;\n var chunks = [];\n var keptBytes = 0;\n var size = 0;\n var reader = body.getReader();\n while (known === void 0 || size <= to) {\n var { done, value } = await reader.read();\n if (done) break;\n var chunkStart = size;\n size += value.byteLength;\n if (suffix) {\n chunks.push(value);\n keptBytes += value.byteLength;\n while (chunks.length > 1 && keptBytes - chunks[0].byteLength >= suffix) {\n keptBytes -= chunks.shift().byteLength;\n }\n continue;\n }\n var lo = Math.max(from, chunkStart);\n var hi = Math.min(to + 1, size);\n if (hi > lo) {\n chunks.push(value.subarray(lo - chunkStart, hi - chunkStart));\n keptBytes += hi - lo;\n }\n }\n if (known !== void 0) {\n await reader.cancel();\n size = known;\n }\n var kept = new Uint8Array(keptBytes);\n var at = 0;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var chunk = _step.value;\n kept.set(chunk, at);\n at += chunk.byteLength;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return {\n size,\n kept,\n keptStart: suffix ? size - keptBytes : from\n };\n}\n//# sourceMappingURL=assetRange.js.map\n"],"mappings":"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"}
|
package/dist/cjs/vite/one.cjs
CHANGED
|
@@ -568,31 +568,45 @@ function one(options = {}) {
|
|
|
568
568
|
...dedupeSymlinks ? [ssrSymlinkDedupPlugin] : []
|
|
569
569
|
];
|
|
570
570
|
const nativeWebDevAndProdPlugsin = [(0, import_clientTreeShakePlugin.clientTreeShakePlugin)({ routerRoot })];
|
|
571
|
+
let nativeFormPlugins = [];
|
|
572
|
+
const nativeFormPluginsCapture = {
|
|
573
|
+
name: "one:native-form-plugins",
|
|
574
|
+
configResolved(config) {
|
|
575
|
+
nativeFormPlugins = config.plugins.filter((plugin) => plugin.api?.vxrnNative);
|
|
576
|
+
}
|
|
577
|
+
};
|
|
571
578
|
if (!nativeDisabled) {
|
|
572
579
|
const viteBundlerOptions = nativeOptions?.bundler === "metro" ? void 0 : nativeOptions?.bundlerOptions;
|
|
573
|
-
globalThis.__vxrnAddNativePlugins = (platform) =>
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
580
|
+
globalThis.__vxrnAddNativePlugins = (platform) => {
|
|
581
|
+
const listed = [
|
|
582
|
+
(0, import_vxrn.backgroundComputationPlugin)("native"),
|
|
583
|
+
(0, import_vxrn.workletImportsPlugin)({}),
|
|
584
|
+
...nativeApp ? [{
|
|
585
|
+
name: "one:externalize-expo-for-native-app",
|
|
586
|
+
resolveId(source) {
|
|
587
|
+
if (/^(?:expo(?:-[^/]+)?|@expo\/[^/]+)(?:\/|$)/.test(source)) {
|
|
588
|
+
return {
|
|
589
|
+
id: source,
|
|
590
|
+
external: true
|
|
591
|
+
};
|
|
592
|
+
}
|
|
584
593
|
}
|
|
585
|
-
}
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
(
|
|
594
|
-
|
|
595
|
-
|
|
594
|
+
}] : [],
|
|
595
|
+
createAliasPlugin(withAbsorbedAliases(options.alias), platform),
|
|
596
|
+
(0, import_clientTreeShakePlugin.clientTreeShakePlugin)({
|
|
597
|
+
runtime: "rolldown",
|
|
598
|
+
routerRoot
|
|
599
|
+
}),
|
|
600
|
+
...viteBundlerOptions?.plugins ?? []
|
|
601
|
+
];
|
|
602
|
+
const listedNames = new Set(listed.map((plugin) => plugin.name));
|
|
603
|
+
return [
|
|
604
|
+
...listed,
|
|
605
|
+
...nativeFormPlugins.filter((plugin) => !listedNames.has(plugin.name)),
|
|
606
|
+
(0, import_swiftPackagePlugin.swiftPackagePlugin)(platform, root),
|
|
607
|
+
(0, import_kotlinSourcePlugin.kotlinSourcePlugin)(platform, root)
|
|
608
|
+
];
|
|
609
|
+
};
|
|
596
610
|
globalThis.__vxrnNativeUserDefine = {
|
|
597
611
|
...viteBundlerOptions?.define,
|
|
598
612
|
...nativeAppName && {
|
|
@@ -638,6 +652,7 @@ function one(options = {}) {
|
|
|
638
652
|
...devAndProdPlugins,
|
|
639
653
|
...inspectorPlugins,
|
|
640
654
|
...nativeWebDevAndProdPlugsin,
|
|
655
|
+
...nativeDisabled ? [] : [nativeFormPluginsCapture],
|
|
641
656
|
(0, import_fileSystemRouterPlugin.createFileSystemRouterPlugin)(options, routeIndex),
|
|
642
657
|
(0, import_generateFileSystemRouteTypesPlugin.generateFileSystemRouteTypesPlugin)(options, routeIndex),
|
|
643
658
|
(0, import_fixDependenciesPlugin.fixDependenciesPlugin)(options.patches),
|
|
@@ -701,11 +701,21 @@ function one() {
|
|
|
701
701
|
...dedupeSymlinks ? [ssrSymlinkDedupPlugin] : []
|
|
702
702
|
];
|
|
703
703
|
var nativeWebDevAndProdPlugsin = [(0, import_clientTreeShakePlugin.clientTreeShakePlugin)({ routerRoot })];
|
|
704
|
+
var nativeFormPlugins = [];
|
|
705
|
+
var nativeFormPluginsCapture = {
|
|
706
|
+
name: "one:native-form-plugins",
|
|
707
|
+
configResolved(config) {
|
|
708
|
+
nativeFormPlugins = config.plugins.filter(function(plugin) {
|
|
709
|
+
var _plugin_api;
|
|
710
|
+
return (_plugin_api = plugin.api) === null || _plugin_api === void 0 ? void 0 : _plugin_api.vxrnNative;
|
|
711
|
+
});
|
|
712
|
+
}
|
|
713
|
+
};
|
|
704
714
|
if (!nativeDisabled) {
|
|
705
715
|
var viteBundlerOptions = (nativeOptions === null || nativeOptions === void 0 ? void 0 : nativeOptions.bundler) === "metro" ? void 0 : nativeOptions === null || nativeOptions === void 0 ? void 0 : nativeOptions.bundlerOptions;
|
|
706
716
|
globalThis.__vxrnAddNativePlugins = function(platform) {
|
|
707
717
|
var _ref2;
|
|
708
|
-
|
|
718
|
+
var listed = [
|
|
709
719
|
(0, import_vxrn.backgroundComputationPlugin)("native"),
|
|
710
720
|
(0, import_vxrn.workletImportsPlugin)({}),
|
|
711
721
|
...nativeApp ? [{
|
|
@@ -724,7 +734,16 @@ function one() {
|
|
|
724
734
|
runtime: "rolldown",
|
|
725
735
|
routerRoot
|
|
726
736
|
}),
|
|
727
|
-
...(_ref2 = viteBundlerOptions === null || viteBundlerOptions === void 0 ? void 0 : viteBundlerOptions.plugins) !== null && _ref2 !== void 0 ? _ref2 : []
|
|
737
|
+
...(_ref2 = viteBundlerOptions === null || viteBundlerOptions === void 0 ? void 0 : viteBundlerOptions.plugins) !== null && _ref2 !== void 0 ? _ref2 : []
|
|
738
|
+
];
|
|
739
|
+
var listedNames = new Set(listed.map(function(plugin) {
|
|
740
|
+
return plugin.name;
|
|
741
|
+
}));
|
|
742
|
+
return [
|
|
743
|
+
...listed,
|
|
744
|
+
...nativeFormPlugins.filter(function(plugin) {
|
|
745
|
+
return !listedNames.has(plugin.name);
|
|
746
|
+
}),
|
|
728
747
|
(0, import_swiftPackagePlugin.swiftPackagePlugin)(platform, root),
|
|
729
748
|
(0, import_kotlinSourcePlugin.kotlinSourcePlugin)(platform, root)
|
|
730
749
|
];
|
|
@@ -783,6 +802,7 @@ function one() {
|
|
|
783
802
|
...devAndProdPlugins,
|
|
784
803
|
...inspectorPlugins,
|
|
785
804
|
...nativeWebDevAndProdPlugsin,
|
|
805
|
+
...nativeDisabled ? [] : [nativeFormPluginsCapture],
|
|
786
806
|
(0, import_fileSystemRouterPlugin.createFileSystemRouterPlugin)(options, routeIndex),
|
|
787
807
|
(0, import_generateFileSystemRouteTypesPlugin.generateFileSystemRouteTypesPlugin)(options, routeIndex),
|
|
788
808
|
(0, import_fixDependenciesPlugin.fixDependenciesPlugin)(options.patches),
|
|
@@ -701,11 +701,21 @@ function one() {
|
|
|
701
701
|
...dedupeSymlinks ? [ssrSymlinkDedupPlugin] : []
|
|
702
702
|
];
|
|
703
703
|
var nativeWebDevAndProdPlugsin = [(0, import_clientTreeShakePlugin.clientTreeShakePlugin)({ routerRoot })];
|
|
704
|
+
var nativeFormPlugins = [];
|
|
705
|
+
var nativeFormPluginsCapture = {
|
|
706
|
+
name: "one:native-form-plugins",
|
|
707
|
+
configResolved(config) {
|
|
708
|
+
nativeFormPlugins = config.plugins.filter(function(plugin) {
|
|
709
|
+
var _plugin_api;
|
|
710
|
+
return (_plugin_api = plugin.api) === null || _plugin_api === void 0 ? void 0 : _plugin_api.vxrnNative;
|
|
711
|
+
});
|
|
712
|
+
}
|
|
713
|
+
};
|
|
704
714
|
if (!nativeDisabled) {
|
|
705
715
|
var viteBundlerOptions = (nativeOptions === null || nativeOptions === void 0 ? void 0 : nativeOptions.bundler) === "metro" ? void 0 : nativeOptions === null || nativeOptions === void 0 ? void 0 : nativeOptions.bundlerOptions;
|
|
706
716
|
globalThis.__vxrnAddNativePlugins = function(platform) {
|
|
707
717
|
var _ref2;
|
|
708
|
-
|
|
718
|
+
var listed = [
|
|
709
719
|
(0, import_vxrn.backgroundComputationPlugin)("native"),
|
|
710
720
|
(0, import_vxrn.workletImportsPlugin)({}),
|
|
711
721
|
...nativeApp ? [{
|
|
@@ -724,7 +734,16 @@ function one() {
|
|
|
724
734
|
runtime: "rolldown",
|
|
725
735
|
routerRoot
|
|
726
736
|
}),
|
|
727
|
-
...(_ref2 = viteBundlerOptions === null || viteBundlerOptions === void 0 ? void 0 : viteBundlerOptions.plugins) !== null && _ref2 !== void 0 ? _ref2 : []
|
|
737
|
+
...(_ref2 = viteBundlerOptions === null || viteBundlerOptions === void 0 ? void 0 : viteBundlerOptions.plugins) !== null && _ref2 !== void 0 ? _ref2 : []
|
|
738
|
+
];
|
|
739
|
+
var listedNames = new Set(listed.map(function(plugin) {
|
|
740
|
+
return plugin.name;
|
|
741
|
+
}));
|
|
742
|
+
return [
|
|
743
|
+
...listed,
|
|
744
|
+
...nativeFormPlugins.filter(function(plugin) {
|
|
745
|
+
return !listedNames.has(plugin.name);
|
|
746
|
+
}),
|
|
728
747
|
(0, import_swiftPackagePlugin.swiftPackagePlugin)(platform, root),
|
|
729
748
|
(0, import_kotlinSourcePlugin.kotlinSourcePlugin)(platform, root)
|
|
730
749
|
];
|
|
@@ -783,6 +802,7 @@ function one() {
|
|
|
783
802
|
...devAndProdPlugins,
|
|
784
803
|
...inspectorPlugins,
|
|
785
804
|
...nativeWebDevAndProdPlugsin,
|
|
805
|
+
...nativeDisabled ? [] : [nativeFormPluginsCapture],
|
|
786
806
|
(0, import_fileSystemRouterPlugin.createFileSystemRouterPlugin)(options, routeIndex),
|
|
787
807
|
(0, import_generateFileSystemRouteTypesPlugin.generateFileSystemRouteTypesPlugin)(options, routeIndex),
|
|
788
808
|
(0, import_fixDependenciesPlugin.fixDependenciesPlugin)(options.patches),
|