@rsdoctor/sdk 0.0.2-beta.2 → 0.1.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.
@@ -37,6 +37,7 @@ class RsdoctorWebpackSDK extends import_core.SDKCore {
37
37
  this._configs = [];
38
38
  this._errors = [];
39
39
  this._loader = [];
40
+ this._loaderStart = [];
40
41
  this._resolver = [];
41
42
  this._plugin = {};
42
43
  this._moduleGraph = new import_graph.ModuleGraph();
@@ -164,6 +165,21 @@ class RsdoctorWebpackSDK extends import_core.SDKCore {
164
165
  });
165
166
  this.onDataReport();
166
167
  }
168
+ reportLoaderStartOrEnd(data) {
169
+ const _builtinLoader = data.loaders[0];
170
+ if (_builtinLoader.startAt) {
171
+ this._loaderStart.push(data);
172
+ } else if (_builtinLoader.endAt) {
173
+ const matchLoaderStart = this._loaderStart.find(
174
+ (e) => e.resource.path === data.resource.path && e.loaders[0].loader === _builtinLoader.loader
175
+ );
176
+ if (matchLoaderStart) {
177
+ matchLoaderStart.loaders[0].result = _builtinLoader.result;
178
+ matchLoaderStart.loaders[0].endAt = _builtinLoader.endAt;
179
+ this.reportLoader([matchLoaderStart]);
180
+ }
181
+ }
182
+ }
167
183
  reportResolver(data) {
168
184
  data.forEach((item) => this._resolver.push(item));
169
185
  this.onDataReport();
@@ -14,6 +14,7 @@ class RsdoctorWebpackSDK extends SDKCore {
14
14
  this._configs = [];
15
15
  this._errors = [];
16
16
  this._loader = [];
17
+ this._loaderStart = [];
17
18
  this._resolver = [];
18
19
  this._plugin = {};
19
20
  this._moduleGraph = new ModuleGraph();
@@ -141,6 +142,21 @@ class RsdoctorWebpackSDK extends SDKCore {
141
142
  });
142
143
  this.onDataReport();
143
144
  }
145
+ reportLoaderStartOrEnd(data) {
146
+ const _builtinLoader = data.loaders[0];
147
+ if (_builtinLoader.startAt) {
148
+ this._loaderStart.push(data);
149
+ } else if (_builtinLoader.endAt) {
150
+ const matchLoaderStart = this._loaderStart.find(
151
+ (e) => e.resource.path === data.resource.path && e.loaders[0].loader === _builtinLoader.loader
152
+ );
153
+ if (matchLoaderStart) {
154
+ matchLoaderStart.loaders[0].result = _builtinLoader.result;
155
+ matchLoaderStart.loaders[0].endAt = _builtinLoader.endAt;
156
+ this.reportLoader([matchLoaderStart]);
157
+ }
158
+ }
159
+ }
144
160
  reportResolver(data) {
145
161
  data.forEach((item) => this._resolver.push(item));
146
162
  this.onDataReport();
@@ -4,6 +4,7 @@ import { ModuleGraph, ChunkGraph, PackageGraph } from '@rsdoctor/graph';
4
4
  import { RsdoctorServer } from '../server';
5
5
  import { RsdoctorWebpackSDKOptions } from './types';
6
6
  import { SDKCore } from './core';
7
+ import { ResourceLoaderData } from '@rsdoctor/types/dist/sdk';
7
8
  export declare class RsdoctorWebpackSDK<T extends RsdoctorWebpackSDKOptions = RsdoctorWebpackSDKOptions> extends SDKCore<T> implements SDK.RsdoctorBuilderSDKInstance {
8
9
  server: RsdoctorServer;
9
10
  extraConfig: SDK.SDKOptionsType | undefined;
@@ -12,6 +13,7 @@ export declare class RsdoctorWebpackSDK<T extends RsdoctorWebpackSDKOptions = Rs
12
13
  private _configs;
13
14
  private _errors;
14
15
  private _loader;
16
+ private _loaderStart;
15
17
  private _resolver;
16
18
  private _plugin;
17
19
  private _moduleGraph;
@@ -31,6 +33,7 @@ export declare class RsdoctorWebpackSDK<T extends RsdoctorWebpackSDKOptions = Rs
31
33
  reportConfiguration(config: SDK.ConfigData[0]): void;
32
34
  reportError(errors: Error[]): void;
33
35
  reportLoader(data: SDK.LoaderData): void;
36
+ reportLoaderStartOrEnd(data: ResourceLoaderData): void;
34
37
  reportResolver(data: SDK.ResolverData): void;
35
38
  reportPlugin(data: SDK.PluginData): void;
36
39
  reportModuleGraph(data: ModuleGraph): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rsdoctor/sdk",
3
- "version": "0.0.2-beta.2",
3
+ "version": "0.1.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/web-infra-dev/rsdoctor",
@@ -18,20 +18,22 @@
18
18
  "cors": "2.8.5",
19
19
  "dayjs": "1.11.6",
20
20
  "ip": "1.1.8",
21
+ "lodash": "^4.17.21",
21
22
  "open": "^8.4.0",
22
23
  "serve-static": "1.15.0",
23
24
  "socket.io": "4.7.2",
24
25
  "source-map": "^0.7.4",
25
26
  "tapable": "2.2.1",
26
- "@rsdoctor/utils": "0.0.2-beta.2",
27
- "@rsdoctor/graph": "0.0.2-beta.2",
28
- "@rsdoctor/types": "0.0.2-beta.2",
29
- "@rsdoctor/client": "0.0.2-beta.2"
27
+ "@rsdoctor/client": "0.1.0",
28
+ "@rsdoctor/graph": "0.1.0",
29
+ "@rsdoctor/utils": "0.1.0",
30
+ "@rsdoctor/types": "0.1.0"
30
31
  },
31
32
  "devDependencies": {
32
33
  "@types/body-parser": "1.19.2",
33
34
  "@types/cors": "2.8.13",
34
35
  "@types/ip": "1.1.0",
36
+ "@types/lodash": "^4.14.200",
35
37
  "@types/node": "^16",
36
38
  "@types/serve-static": "1.15.0",
37
39
  "tslib": "2.4.1",