@modern-js/plugin-data-loader 2.0.1 → 2.0.3-alpha.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.
@@ -1,22 +1,32 @@
1
1
  import path from "path";
2
- const generateClient = ({ mapFile }) => {
2
+ const generateClient = ({ mapFile, loaderId }) => {
3
3
  delete require.cache[mapFile];
4
4
  const loadersMap = require(mapFile);
5
- const requestCode = Object.keys(loadersMap).map((loaderId) => {
6
- const routeId = loadersMap[loaderId];
7
- return `
8
- const ${loaderId} = createRequest('${routeId}');
9
- `;
10
- }).join("");
11
- let exportsCode = `export {`;
12
- for (const loader of Object.keys(loadersMap)) {
13
- exportsCode += `${loader},`;
14
- }
15
- exportsCode += "}";
5
+ let requestCode = ``;
6
+ let exportsCode = ``;
16
7
  const requestCreatorPath = path.join(__dirname, "./create-request").replace("/node/cli/", "/treeshaking/cli/").replace(/\\/g, "/");
17
8
  const importCode = `
18
9
  import { createRequest } from '${requestCreatorPath}';
19
10
  `;
11
+ if (!loaderId) {
12
+ requestCode = Object.keys(loadersMap).map((loaderId2) => {
13
+ const routeId = loadersMap[loaderId2].routeId;
14
+ return `
15
+ const ${loaderId2} = createRequest('${routeId}');
16
+ `;
17
+ }).join("");
18
+ exportsCode = `export {`;
19
+ for (const loader of Object.keys(loadersMap)) {
20
+ exportsCode += `${loader},`;
21
+ }
22
+ exportsCode += "}";
23
+ } else {
24
+ const loader = loadersMap[loaderId];
25
+ requestCode = `
26
+ const loader = createRequest('${loader.routeId}');
27
+ `;
28
+ exportsCode = `export default loader;`;
29
+ }
20
30
  const generatedCode = `
21
31
  ${importCode}
22
32
  ${requestCode}
@@ -29,7 +29,8 @@ function loader(source) {
29
29
  }
30
30
  const options = this.getOptions();
31
31
  const code = generateClient({
32
- mapFile: options.mapFile
32
+ mapFile: options.mapFile,
33
+ loaderId: options.loaderId
33
34
  });
34
35
  return code;
35
36
  });
@@ -46,7 +46,7 @@ import {
46
46
  import {
47
47
  matchRoutes
48
48
  } from "react-router-dom";
49
- import { LOADER_ROUTES_DIR, MAIN_ENTRY_NAME } from "@modern-js/utils";
49
+ import { MAIN_ENTRY_NAME, SERVER_BUNDLE_DIRECTORY } from "@modern-js/utils";
50
50
  import { LOADER_ID_PARAM } from "../common/constants";
51
51
  installGlobals();
52
52
  const redirectStatusCodes = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]);
@@ -160,8 +160,8 @@ const handleRequest = (_0) => __async(void 0, [_0], function* ({
160
160
  }
161
161
  const routesPath = path.join(
162
162
  distDir,
163
- LOADER_ROUTES_DIR,
164
- entry.entryName || MAIN_ENTRY_NAME
163
+ SERVER_BUNDLE_DIRECTORY,
164
+ `${entry.entryName || MAIN_ENTRY_NAME}-server-loaders`
165
165
  );
166
166
  const { routes } = yield import(routesPath);
167
167
  if (!routes) {
@@ -27,24 +27,34 @@ __export(generate_client_exports, {
27
27
  });
28
28
  module.exports = __toCommonJS(generate_client_exports);
29
29
  var import_path = __toESM(require("path"));
30
- const generateClient = ({ mapFile }) => {
30
+ const generateClient = ({ mapFile, loaderId }) => {
31
31
  delete require.cache[mapFile];
32
32
  const loadersMap = require(mapFile);
33
- const requestCode = Object.keys(loadersMap).map((loaderId) => {
34
- const routeId = loadersMap[loaderId];
35
- return `
36
- const ${loaderId} = createRequest('${routeId}');
37
- `;
38
- }).join("");
39
- let exportsCode = `export {`;
40
- for (const loader of Object.keys(loadersMap)) {
41
- exportsCode += `${loader},`;
42
- }
43
- exportsCode += "}";
33
+ let requestCode = ``;
34
+ let exportsCode = ``;
44
35
  const requestCreatorPath = import_path.default.join(__dirname, "./create-request").replace("/node/cli/", "/treeshaking/cli/").replace(/\\/g, "/");
45
36
  const importCode = `
46
37
  import { createRequest } from '${requestCreatorPath}';
47
38
  `;
39
+ if (!loaderId) {
40
+ requestCode = Object.keys(loadersMap).map((loaderId2) => {
41
+ const routeId = loadersMap[loaderId2].routeId;
42
+ return `
43
+ const ${loaderId2} = createRequest('${routeId}');
44
+ `;
45
+ }).join("");
46
+ exportsCode = `export {`;
47
+ for (const loader of Object.keys(loadersMap)) {
48
+ exportsCode += `${loader},`;
49
+ }
50
+ exportsCode += "}";
51
+ } else {
52
+ const loader = loadersMap[loaderId];
53
+ requestCode = `
54
+ const loader = createRequest('${loader.routeId}');
55
+ `;
56
+ exportsCode = `export default loader;`;
57
+ }
48
58
  const generatedCode = `
49
59
  ${importCode}
50
60
  ${requestCode}
@@ -51,7 +51,8 @@ function loader(source) {
51
51
  }
52
52
  const options = this.getOptions();
53
53
  const code = (0, import_generate_client.generateClient)({
54
- mapFile: options.mapFile
54
+ mapFile: options.mapFile,
55
+ loaderId: options.loaderId
55
56
  });
56
57
  return code;
57
58
  });
@@ -184,8 +184,8 @@ const handleRequest = (_0) => __async(void 0, [_0], function* ({
184
184
  }
185
185
  const routesPath = import_path.default.join(
186
186
  distDir,
187
- import_utils.LOADER_ROUTES_DIR,
188
- entry.entryName || import_utils.MAIN_ENTRY_NAME
187
+ import_utils.SERVER_BUNDLE_DIRECTORY,
188
+ `${entry.entryName || import_utils.MAIN_ENTRY_NAME}-server-loaders`
189
189
  );
190
190
  const { routes } = yield Promise.resolve().then(() => __toESM(require(routesPath)));
191
191
  if (!routes) {
@@ -1,36 +1,44 @@
1
1
  import path from "path";
2
2
  var generateClient = function(param) {
3
- var mapFile = param.mapFile;
3
+ var mapFile = param.mapFile, loaderId = param.loaderId;
4
4
  delete require.cache[mapFile];
5
5
  var loadersMap = require(mapFile);
6
- var requestCode = Object.keys(loadersMap).map(function(loaderId) {
7
- var routeId = loadersMap[loaderId];
8
- return "\n const ".concat(loaderId, " = createRequest('").concat(routeId, "');\n ");
9
- }).join("");
10
- var exportsCode = "export {";
11
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
12
- try {
13
- for(var _iterator = Object.keys(loadersMap)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
14
- var loader = _step.value;
15
- exportsCode += "".concat(loader, ",");
16
- }
17
- } catch (err) {
18
- _didIteratorError = true;
19
- _iteratorError = err;
20
- } finally{
6
+ var requestCode = "";
7
+ var exportsCode = "";
8
+ var requestCreatorPath = path.join(__dirname, "./create-request").replace("/node/cli/", "/treeshaking/cli/").replace(/\\/g, "/");
9
+ var importCode = "\n import { createRequest } from '".concat(requestCreatorPath, "';\n ");
10
+ if (!loaderId) {
11
+ requestCode = Object.keys(loadersMap).map(function(loaderId2) {
12
+ var routeId = loadersMap[loaderId2].routeId;
13
+ return "\n const ".concat(loaderId2, " = createRequest('").concat(routeId, "');\n ");
14
+ }).join("");
15
+ exportsCode = "export {";
16
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
21
17
  try {
22
- if (!_iteratorNormalCompletion && _iterator.return != null) {
23
- _iterator.return();
18
+ for(var _iterator = Object.keys(loadersMap)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
19
+ var loader = _step.value;
20
+ exportsCode += "".concat(loader, ",");
24
21
  }
22
+ } catch (err) {
23
+ _didIteratorError = true;
24
+ _iteratorError = err;
25
25
  } finally{
26
- if (_didIteratorError) {
27
- throw _iteratorError;
26
+ try {
27
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
28
+ _iterator.return();
29
+ }
30
+ } finally{
31
+ if (_didIteratorError) {
32
+ throw _iteratorError;
33
+ }
28
34
  }
29
35
  }
36
+ exportsCode += "}";
37
+ } else {
38
+ var loader1 = loadersMap[loaderId];
39
+ requestCode = "\n const loader = createRequest('".concat(loader1.routeId, "');\n ");
40
+ exportsCode = "export default loader;";
30
41
  }
31
- exportsCode += "}";
32
- var requestCreatorPath = path.join(__dirname, "./create-request").replace("/node/cli/", "/treeshaking/cli/").replace(/\\/g, "/");
33
- var importCode = "\n import { createRequest } from '".concat(requestCreatorPath, "';\n ");
34
42
  var generatedCode = "\n ".concat(importCode, "\n ").concat(requestCode, "\n ").concat(exportsCode, "\n ");
35
43
  return generatedCode;
36
44
  };
@@ -140,7 +140,8 @@ function _loader() {
140
140
  }
141
141
  options = this.getOptions();
142
142
  code = generateClient({
143
- mapFile: options.mapFile
143
+ mapFile: options.mapFile,
144
+ loaderId: options.loaderId
144
145
  });
145
146
  return [
146
147
  2,
@@ -223,7 +223,7 @@ var __generator = this && this.__generator || function(thisArg, body) {
223
223
  import path from "path";
224
224
  import { installGlobals, writeReadableStreamToWritable, Response as NodeResponse } from "@remix-run/node";
225
225
  import { matchRoutes } from "react-router-dom";
226
- import { LOADER_ROUTES_DIR, MAIN_ENTRY_NAME } from "@modern-js/utils";
226
+ import { MAIN_ENTRY_NAME, SERVER_BUNDLE_DIRECTORY } from "@modern-js/utils";
227
227
  import { LOADER_ID_PARAM } from "../common/constants";
228
228
  installGlobals();
229
229
  var redirectStatusCodes = /* @__PURE__ */ new Set([
@@ -455,7 +455,7 @@ var handleRequest = function() {
455
455
  2
456
456
  ];
457
457
  }
458
- routesPath = path.join(distDir, LOADER_ROUTES_DIR, entry.entryName || MAIN_ENTRY_NAME);
458
+ routesPath = path.join(distDir, SERVER_BUNDLE_DIRECTORY, "".concat(entry.entryName || MAIN_ENTRY_NAME, "-server-loaders"));
459
459
  return [
460
460
  4,
461
461
  import(routesPath)
@@ -1,5 +1,7 @@
1
1
  export declare const generateClient: ({
2
- mapFile
2
+ mapFile,
3
+ loaderId
3
4
  }: {
4
5
  mapFile: string;
6
+ loaderId?: string | undefined;
5
7
  }) => string;
@@ -1,6 +1,5 @@
1
1
  import type { LoaderContext } from 'webpack';
2
2
  export default function loader(this: LoaderContext<{
3
- routesDir: string;
4
- entryName: string;
5
3
  mapFile: string;
4
+ loaderId?: string;
6
5
  }>, source: string): Promise<string>;
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "2.0.1",
14
+ "version": "2.0.3-alpha.0",
15
15
  "jsnext:source": "./src/index.ts",
16
16
  "types": "./dist/types/index.d.ts",
17
17
  "main": "./dist/js/node/index.js",
@@ -40,13 +40,18 @@
40
40
  "dependencies": {
41
41
  "@babel/core": "^7.18.0",
42
42
  "@babel/runtime": "^7.18.0",
43
+ "@modern-js/babel-compiler": "2.0.2",
44
+ "@modern-js/utils": "2.0.2",
43
45
  "@remix-run/node": "^1.9.0",
44
46
  "path-to-regexp": "^6.2.0",
45
- "react-router-dom": "^6.6.0",
46
- "@modern-js/utils": "2.0.1",
47
- "@modern-js/babel-compiler": "2.0.1"
47
+ "react-router-dom": "^6.6.0"
48
48
  },
49
49
  "devDependencies": {
50
+ "@modern-js/core": "2.0.2",
51
+ "@modern-js/server-core": "2.0.2",
52
+ "@modern-js/types": "2.0.2",
53
+ "@scripts/build": "2.0.2",
54
+ "@scripts/jest-config": "2.0.2",
50
55
  "@types/babel__core": "^7.1.15",
51
56
  "@types/jest": "^27",
52
57
  "@types/node": "^14",
@@ -58,12 +63,7 @@
58
63
  "ts-jest": "^27.0.5",
59
64
  "typescript": "^4",
60
65
  "webpack": "^5.75.0",
61
- "webpack-chain": "^6.5.1",
62
- "@modern-js/core": "2.0.1",
63
- "@modern-js/server-core": "2.0.1",
64
- "@modern-js/types": "2.0.1",
65
- "@scripts/jest-config": "2.0.1",
66
- "@scripts/build": "2.0.1"
66
+ "webpack-chain": "^6.5.1"
67
67
  },
68
68
  "sideEffects": false,
69
69
  "publishConfig": {