@rsdoctor/sdk 1.6.3 → 1.6.4
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 +17 -57
- package/dist/index.js +19 -59
- package/dist/sdk/sdk/core.d.cts +0 -1
- package/dist/sdk/sdk/core.d.ts +0 -1
- package/dist/sdk/sdk/types.d.cts +1 -1
- package/dist/sdk/sdk/types.d.ts +1 -1
- package/dist/sdk/utils/index.d.cts +0 -1
- package/dist/sdk/utils/index.d.ts +0 -1
- package/package.json +5 -5
- package/dist/sdk/utils/manifestSharding.d.cts +0 -15
- package/dist/sdk/utils/manifestSharding.d.ts +0 -15
package/dist/index.cjs
CHANGED
|
@@ -6568,41 +6568,6 @@ var __webpack_modules__ = {
|
|
|
6568
6568
|
return firstPkgDir || null;
|
|
6569
6569
|
}
|
|
6570
6570
|
__webpack_require__.n(dayjs_index_js_namespaceObject)()().format('YYYYMMDD');
|
|
6571
|
-
var promises_ = __webpack_require__("node:fs/promises"), promises_default = __webpack_require__.n(promises_);
|
|
6572
|
-
let external_node_stream_namespaceObject = require("node:stream");
|
|
6573
|
-
var external_node_zlib_ = __webpack_require__("node:zlib");
|
|
6574
|
-
async function writeManifestShards(jsonFragments, folder, options = {}) {
|
|
6575
|
-
if (0 === jsonFragments.length) throw Error('Cannot write empty JSON fragments.');
|
|
6576
|
-
let { index = 0, shardSize = 10485760 } = options;
|
|
6577
|
-
if (!Number.isSafeInteger(shardSize) || shardSize <= 0) throw Error('Manifest shard size must be a positive integer.');
|
|
6578
|
-
await promises_default().mkdir(folder, {
|
|
6579
|
-
recursive: !0
|
|
6580
|
-
});
|
|
6581
|
-
let files = [], shardParts = [], shardLength = 0, flushShard = async ()=>{
|
|
6582
|
-
if (0 === shardLength) return;
|
|
6583
|
-
let basename = String(index + files.length), filePath = external_node_path_default().resolve(folder, basename);
|
|
6584
|
-
await promises_default().writeFile(filePath, shardParts.join(''), 'utf8'), files.push({
|
|
6585
|
-
path: filePath,
|
|
6586
|
-
basename
|
|
6587
|
-
}), shardParts = [], shardLength = 0;
|
|
6588
|
-
}, appendEncodedText = async (encodedText)=>{
|
|
6589
|
-
let offset = 0;
|
|
6590
|
-
for(; offset < encodedText.length;){
|
|
6591
|
-
let length = Math.min(shardSize - shardLength, encodedText.length - offset);
|
|
6592
|
-
shardParts.push(encodedText.slice(offset, offset + length)), shardLength += length, offset += length, shardLength === shardSize && await flushShard();
|
|
6593
|
-
}
|
|
6594
|
-
}, compressor = external_node_stream_namespaceObject.Readable.from(jsonFragments, {
|
|
6595
|
-
objectMode: !1
|
|
6596
|
-
}).pipe((0, external_node_zlib_.createDeflate)()), base64Remainder = Buffer.alloc(0);
|
|
6597
|
-
for await (let chunk of compressor){
|
|
6598
|
-
let compressedChunk = Buffer.from(chunk), bytes = base64Remainder.length ? Buffer.concat([
|
|
6599
|
-
base64Remainder,
|
|
6600
|
-
compressedChunk
|
|
6601
|
-
]) : compressedChunk, encodableLength = bytes.length - bytes.length % 3;
|
|
6602
|
-
encodableLength > 0 && await appendEncodedText(bytes.subarray(0, encodableLength).toString('base64')), base64Remainder = Buffer.from(bytes.subarray(encodableLength));
|
|
6603
|
-
}
|
|
6604
|
-
return base64Remainder.length > 0 && await appendEncodedText(base64Remainder.toString('base64')), await flushShard(), files;
|
|
6605
|
-
}
|
|
6606
6571
|
class SDKCore {
|
|
6607
6572
|
constructor({ name, root }){
|
|
6608
6573
|
this.hooks = {
|
|
@@ -6689,21 +6654,20 @@ var __webpack_modules__ = {
|
|
|
6689
6654
|
return build_namespaceObject.Json.stringify(data);
|
|
6690
6655
|
}
|
|
6691
6656
|
})();
|
|
6692
|
-
Array.isArray(jsonStr)
|
|
6657
|
+
if (Array.isArray(jsonStr)) {
|
|
6658
|
+
let fileOffset = 0;
|
|
6659
|
+
for (let str of jsonStr){
|
|
6660
|
+
let result = await this.writeToFolder(str, outputDir, key, fileOffset);
|
|
6661
|
+
fileOffset += result.files.length, urlsPromiseList.push(result);
|
|
6662
|
+
}
|
|
6663
|
+
} else urlsPromiseList.push(this.writeToFolder(jsonStr, outputDir, key));
|
|
6693
6664
|
}
|
|
6694
6665
|
let dataUrls = await Promise.all(urlsPromiseList);
|
|
6695
6666
|
logger_namespaceObject.logger.debug(`SDKCore.writePieces extraConfig: ${JSON.stringify(this.extraConfig)}`, '[SDKCore.writePieces]'), this.cloudData = {
|
|
6696
6667
|
client: {
|
|
6697
6668
|
enableRoutes: this.getClientRoutes()
|
|
6698
6669
|
},
|
|
6699
|
-
data: dataUrls.reduce((t, item)=>{
|
|
6700
|
-
if (!Array.isArray(item.files)) return t[item.name] = item.files, t;
|
|
6701
|
-
let previous = t[item.name];
|
|
6702
|
-
return t[item.name] = [
|
|
6703
|
-
...Array.isArray(previous) ? previous : [],
|
|
6704
|
-
...item.files.map((e)=>e.path)
|
|
6705
|
-
], t;
|
|
6706
|
-
}, {})
|
|
6670
|
+
data: dataUrls.reduce((t, item)=>(t[item.name] = Array.isArray(item.files) ? item.files.map((e)=>e.path).concat(t[item.name] || []) : item.files, t), {})
|
|
6707
6671
|
};
|
|
6708
6672
|
}
|
|
6709
6673
|
async writeManifest() {
|
|
@@ -6721,19 +6685,15 @@ var __webpack_modules__ = {
|
|
|
6721
6685
|
}), manifestDiskPath;
|
|
6722
6686
|
}
|
|
6723
6687
|
writeToFolder(jsonStr, dir, key, index) {
|
|
6724
|
-
|
|
6725
|
-
|
|
6726
|
-
|
|
6727
|
-
|
|
6728
|
-
|
|
6729
|
-
|
|
6730
|
-
|
|
6731
|
-
|
|
6732
|
-
|
|
6733
|
-
files: await writeManifestShards(jsonFragments, folder, {
|
|
6734
|
-
index
|
|
6735
|
-
})
|
|
6736
|
-
};
|
|
6688
|
+
let sharding = new build_namespaceObject.File.FileSharding(common_namespaceObject.Algorithm.compressText(jsonStr)), folder = external_node_path_default().resolve(dir, key);
|
|
6689
|
+
return sharding.writeStringToFolder(folder, '', index).then((item)=>({
|
|
6690
|
+
name: key,
|
|
6691
|
+
files: item.map((el)=>({
|
|
6692
|
+
path: external_node_path_default().resolve(folder, el.filename),
|
|
6693
|
+
basename: el.filename,
|
|
6694
|
+
content: el.content
|
|
6695
|
+
}))
|
|
6696
|
+
}));
|
|
6737
6697
|
}
|
|
6738
6698
|
}
|
|
6739
6699
|
let sdk_require = (0, external_module_namespaceObject.createRequire)(__rslib_import_meta_url__);
|
package/dist/index.js
CHANGED
|
@@ -27,9 +27,6 @@ import { randomBytes } from "crypto";
|
|
|
27
27
|
import node_process from "node:process";
|
|
28
28
|
import { AsyncSeriesHook } from "tapable";
|
|
29
29
|
import dayjs from "../compiled/dayjs/index.js";
|
|
30
|
-
import node_fs_promises from "node:fs/promises";
|
|
31
|
-
import { Readable } from "node:stream";
|
|
32
|
-
import { createDeflate } from "node:zlib";
|
|
33
30
|
import { __webpack_require__ } from "./612.js";
|
|
34
31
|
import { fileURLToPath as __rspack_fileURLToPath } from "node:url";
|
|
35
32
|
let __rspack_createRequire_require = __rspack_createRequire(import.meta.url);
|
|
@@ -58,7 +55,7 @@ __webpack_require__.add({
|
|
|
58
55
|
});
|
|
59
56
|
},
|
|
60
57
|
"../../node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/read.js" (module, __unused_rspack_exports, __webpack_require__) {
|
|
61
|
-
var createError = __webpack_require__("../../node_modules/.pnpm/http-errors@2.0.1/node_modules/http-errors/index.js"), getBody = __webpack_require__("../../node_modules/.pnpm/raw-body@3.0.2/node_modules/raw-body/index.js"), iconv = __webpack_require__("../../node_modules/.pnpm/iconv-lite@0.7.0/node_modules/iconv-lite/lib/index.js"), onFinished = __webpack_require__("../../node_modules/.pnpm/on-finished@2.4.1/node_modules/on-finished/index.js"), zlib = __webpack_require__("node:zlib
|
|
58
|
+
var createError = __webpack_require__("../../node_modules/.pnpm/http-errors@2.0.1/node_modules/http-errors/index.js"), getBody = __webpack_require__("../../node_modules/.pnpm/raw-body@3.0.2/node_modules/raw-body/index.js"), iconv = __webpack_require__("../../node_modules/.pnpm/iconv-lite@0.7.0/node_modules/iconv-lite/lib/index.js"), onFinished = __webpack_require__("../../node_modules/.pnpm/on-finished@2.4.1/node_modules/on-finished/index.js"), zlib = __webpack_require__("node:zlib"), hasBody = __webpack_require__("../../node_modules/.pnpm/type-is@2.0.1/node_modules/type-is/index.js").hasBody, { getCharset } = __webpack_require__("../../node_modules/.pnpm/body-parser@2.2.2/node_modules/body-parser/lib/utils.js");
|
|
62
59
|
module.exports = function(req, res, next, parse, debug, options) {
|
|
63
60
|
if (onFinished.isFinished(req)) {
|
|
64
61
|
debug('body already parsed'), next();
|
|
@@ -5133,7 +5130,7 @@ __webpack_require__.add({
|
|
|
5133
5130
|
"fs?8b28" (module) {
|
|
5134
5131
|
module.exports = __rspack_createRequire_require("fs");
|
|
5135
5132
|
},
|
|
5136
|
-
"node:zlib
|
|
5133
|
+
"node:zlib" (module) {
|
|
5137
5134
|
module.exports = __rspack_createRequire_require("node:zlib");
|
|
5138
5135
|
},
|
|
5139
5136
|
"os?da1a" (module) {
|
|
@@ -6563,38 +6560,6 @@ function findRoot(startDir = process.cwd()) {
|
|
|
6563
6560
|
}
|
|
6564
6561
|
return firstPkgDir || null;
|
|
6565
6562
|
}
|
|
6566
|
-
async function writeManifestShards(jsonFragments, folder, options = {}) {
|
|
6567
|
-
if (0 === jsonFragments.length) throw Error('Cannot write empty JSON fragments.');
|
|
6568
|
-
let { index = 0, shardSize = 10485760 } = options;
|
|
6569
|
-
if (!Number.isSafeInteger(shardSize) || shardSize <= 0) throw Error('Manifest shard size must be a positive integer.');
|
|
6570
|
-
await node_fs_promises.mkdir(folder, {
|
|
6571
|
-
recursive: !0
|
|
6572
|
-
});
|
|
6573
|
-
let files = [], shardParts = [], shardLength = 0, flushShard = async ()=>{
|
|
6574
|
-
if (0 === shardLength) return;
|
|
6575
|
-
let basename = String(index + files.length), filePath = node_path.resolve(folder, basename);
|
|
6576
|
-
await node_fs_promises.writeFile(filePath, shardParts.join(''), 'utf8'), files.push({
|
|
6577
|
-
path: filePath,
|
|
6578
|
-
basename
|
|
6579
|
-
}), shardParts = [], shardLength = 0;
|
|
6580
|
-
}, appendEncodedText = async (encodedText)=>{
|
|
6581
|
-
let offset = 0;
|
|
6582
|
-
for(; offset < encodedText.length;){
|
|
6583
|
-
let length = Math.min(shardSize - shardLength, encodedText.length - offset);
|
|
6584
|
-
shardParts.push(encodedText.slice(offset, offset + length)), shardLength += length, offset += length, shardLength === shardSize && await flushShard();
|
|
6585
|
-
}
|
|
6586
|
-
}, compressor = Readable.from(jsonFragments, {
|
|
6587
|
-
objectMode: !1
|
|
6588
|
-
}).pipe(createDeflate()), base64Remainder = Buffer.alloc(0);
|
|
6589
|
-
for await (let chunk of compressor){
|
|
6590
|
-
let compressedChunk = Buffer.from(chunk), bytes = base64Remainder.length ? Buffer.concat([
|
|
6591
|
-
base64Remainder,
|
|
6592
|
-
compressedChunk
|
|
6593
|
-
]) : compressedChunk, encodableLength = bytes.length - bytes.length % 3;
|
|
6594
|
-
encodableLength > 0 && await appendEncodedText(bytes.subarray(0, encodableLength).toString('base64')), base64Remainder = Buffer.from(bytes.subarray(encodableLength));
|
|
6595
|
-
}
|
|
6596
|
-
return base64Remainder.length > 0 && await appendEncodedText(base64Remainder.toString('base64')), await flushShard(), files;
|
|
6597
|
-
}
|
|
6598
6563
|
dayjs().format('YYYYMMDD');
|
|
6599
6564
|
class SDKCore {
|
|
6600
6565
|
constructor({ name, root }){
|
|
@@ -6682,21 +6647,20 @@ class SDKCore {
|
|
|
6682
6647
|
return Json.stringify(data);
|
|
6683
6648
|
}
|
|
6684
6649
|
})();
|
|
6685
|
-
Array.isArray(jsonStr)
|
|
6650
|
+
if (Array.isArray(jsonStr)) {
|
|
6651
|
+
let fileOffset = 0;
|
|
6652
|
+
for (let str of jsonStr){
|
|
6653
|
+
let result = await this.writeToFolder(str, outputDir, key, fileOffset);
|
|
6654
|
+
fileOffset += result.files.length, urlsPromiseList.push(result);
|
|
6655
|
+
}
|
|
6656
|
+
} else urlsPromiseList.push(this.writeToFolder(jsonStr, outputDir, key));
|
|
6686
6657
|
}
|
|
6687
6658
|
let dataUrls = await Promise.all(urlsPromiseList);
|
|
6688
6659
|
logger.debug(`SDKCore.writePieces extraConfig: ${JSON.stringify(this.extraConfig)}`, '[SDKCore.writePieces]'), this.cloudData = {
|
|
6689
6660
|
client: {
|
|
6690
6661
|
enableRoutes: this.getClientRoutes()
|
|
6691
6662
|
},
|
|
6692
|
-
data: dataUrls.reduce((t, item)=>{
|
|
6693
|
-
if (!Array.isArray(item.files)) return t[item.name] = item.files, t;
|
|
6694
|
-
let previous = t[item.name];
|
|
6695
|
-
return t[item.name] = [
|
|
6696
|
-
...Array.isArray(previous) ? previous : [],
|
|
6697
|
-
...item.files.map((e)=>e.path)
|
|
6698
|
-
], t;
|
|
6699
|
-
}, {})
|
|
6663
|
+
data: dataUrls.reduce((t, item)=>(t[item.name] = Array.isArray(item.files) ? item.files.map((e)=>e.path).concat(t[item.name] || []) : item.files, t), {})
|
|
6700
6664
|
};
|
|
6701
6665
|
}
|
|
6702
6666
|
async writeManifest() {
|
|
@@ -6714,19 +6678,15 @@ class SDKCore {
|
|
|
6714
6678
|
}), manifestDiskPath;
|
|
6715
6679
|
}
|
|
6716
6680
|
writeToFolder(jsonStr, dir, key, index) {
|
|
6717
|
-
|
|
6718
|
-
|
|
6719
|
-
|
|
6720
|
-
|
|
6721
|
-
|
|
6722
|
-
|
|
6723
|
-
|
|
6724
|
-
|
|
6725
|
-
|
|
6726
|
-
files: await writeManifestShards(jsonFragments, folder, {
|
|
6727
|
-
index
|
|
6728
|
-
})
|
|
6729
|
-
};
|
|
6681
|
+
let sharding = new File.FileSharding(Algorithm.compressText(jsonStr)), folder = node_path.resolve(dir, key);
|
|
6682
|
+
return sharding.writeStringToFolder(folder, '', index).then((item)=>({
|
|
6683
|
+
name: key,
|
|
6684
|
+
files: item.map((el)=>({
|
|
6685
|
+
path: node_path.resolve(folder, el.filename),
|
|
6686
|
+
basename: el.filename,
|
|
6687
|
+
content: el.content
|
|
6688
|
+
}))
|
|
6689
|
+
}));
|
|
6730
6690
|
}
|
|
6731
6691
|
}
|
|
6732
6692
|
let source_map = __webpack_require__("../../node_modules/.pnpm/source-map@0.7.6/node_modules/source-map/source-map.js"), sdk_require = createRequire(import.meta.url);
|
package/dist/sdk/sdk/core.d.cts
CHANGED
|
@@ -29,6 +29,5 @@ export declare abstract class SDKCore<T extends RsdoctorSDKOptions> implements S
|
|
|
29
29
|
protected writeManifest(): Promise<string>;
|
|
30
30
|
saveManifest(data: Common.PlainObject, options: SDK.WriteStoreOptionsType): Promise<string>;
|
|
31
31
|
protected writeToFolder(jsonStr: string, dir: string, key: string, index?: number): Promise<DataWithUrl>;
|
|
32
|
-
protected writeJsonFragmentsToFolder(jsonFragments: string[], dir: string, key: string, index?: number): Promise<DataWithUrl>;
|
|
33
32
|
abstract onDataReport(): void | Promise<void>;
|
|
34
33
|
}
|
package/dist/sdk/sdk/core.d.ts
CHANGED
|
@@ -29,6 +29,5 @@ export declare abstract class SDKCore<T extends RsdoctorSDKOptions> implements S
|
|
|
29
29
|
protected writeManifest(): Promise<string>;
|
|
30
30
|
saveManifest(data: Common.PlainObject, options: SDK.WriteStoreOptionsType): Promise<string>;
|
|
31
31
|
protected writeToFolder(jsonStr: string, dir: string, key: string, index?: number): Promise<DataWithUrl>;
|
|
32
|
-
protected writeJsonFragmentsToFolder(jsonFragments: string[], dir: string, key: string, index?: number): Promise<DataWithUrl>;
|
|
33
32
|
abstract onDataReport(): void | Promise<void>;
|
|
34
33
|
}
|
package/dist/sdk/sdk/types.d.cts
CHANGED
package/dist/sdk/sdk/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsdoctor/sdk",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.4",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/web-infra-dev/rsdoctor",
|
|
@@ -32,10 +32,10 @@
|
|
|
32
32
|
"safer-buffer": "2.1.2",
|
|
33
33
|
"socket.io": "4.8.1",
|
|
34
34
|
"tapable": "2.3.3",
|
|
35
|
-
"@rsdoctor/client": "1.6.
|
|
36
|
-
"@rsdoctor/
|
|
37
|
-
"@rsdoctor/types": "1.6.
|
|
38
|
-
"@rsdoctor/
|
|
35
|
+
"@rsdoctor/client": "1.6.4",
|
|
36
|
+
"@rsdoctor/utils": "1.6.4",
|
|
37
|
+
"@rsdoctor/types": "1.6.4",
|
|
38
|
+
"@rsdoctor/graph": "1.6.4"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/body-parser": "1.19.6",
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export declare const DEFAULT_MANIFEST_SHARD_SIZE: number;
|
|
2
|
-
interface WriteManifestShardsOptions {
|
|
3
|
-
index?: number;
|
|
4
|
-
shardSize?: number;
|
|
5
|
-
}
|
|
6
|
-
export interface ManifestShardFile {
|
|
7
|
-
path: string;
|
|
8
|
-
basename: string;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Compress JSON fragments as one deflate stream, encode that stream as one
|
|
12
|
-
* continuous Base64 value, and write bounded physical shards.
|
|
13
|
-
*/
|
|
14
|
-
export declare function writeManifestShards(jsonFragments: string[], folder: string, options?: WriteManifestShardsOptions): Promise<ManifestShardFile[]>;
|
|
15
|
-
export {};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export declare const DEFAULT_MANIFEST_SHARD_SIZE: number;
|
|
2
|
-
interface WriteManifestShardsOptions {
|
|
3
|
-
index?: number;
|
|
4
|
-
shardSize?: number;
|
|
5
|
-
}
|
|
6
|
-
export interface ManifestShardFile {
|
|
7
|
-
path: string;
|
|
8
|
-
basename: string;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Compress JSON fragments as one deflate stream, encode that stream as one
|
|
12
|
-
* continuous Base64 value, and write bounded physical shards.
|
|
13
|
-
*/
|
|
14
|
-
export declare function writeManifestShards(jsonFragments: string[], folder: string, options?: WriteManifestShardsOptions): Promise<ManifestShardFile[]>;
|
|
15
|
-
export {};
|