lcd-router-webpack-plugin 9.2.4 → 9.2.5-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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoutersGenerator.d.ts","sourceRoot":"","sources":["../src/RoutersGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,UAAU,IAAI;IACZ,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAID,qBAAa,gBAAiB,SAAQ,SAAS,CAAC,IAAI,CAAC;IACnD,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;gBAEb,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW;IAMrD,OAAO,CAAC,iCAAiC;IAyCzC,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,SAAS;IAyBjB,OAAO,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"RoutersGenerator.d.ts","sourceRoot":"","sources":["../src/RoutersGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,UAAU,IAAI;IACZ,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAID,qBAAa,gBAAiB,SAAQ,SAAS,CAAC,IAAI,CAAC;IACnD,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;gBAEb,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW;IAMrD,OAAO,CAAC,iCAAiC;IAyCzC,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,SAAS;IAyBjB,OAAO,CAAC,oBAAoB;IA+B5B,OAAO,CAAC,sBAAsB;IAyB9B,eAAe,CAAC,OAAO,EAAE,MAAM;CAmFhC"}
|
package/lib/RoutersGenerator.js
CHANGED
|
@@ -63,6 +63,9 @@ class RoutersGenerator extends _Generator.Generator {
|
|
|
63
63
|
if (item.enablePreFetch) {
|
|
64
64
|
_core.types.addComment(sourceAst, 'leading', 'webpackPrefetch: true');
|
|
65
65
|
}
|
|
66
|
+
if (item.meJSON.webpackChunkName) {
|
|
67
|
+
_core.types.addComment(sourceAst, 'leading', `webpackChunkName: "${item.meJSON.webpackChunkName}"`);
|
|
68
|
+
}
|
|
66
69
|
return _core.types.callExpression(_core.types.memberExpression(_core.types.callExpression(_core.types.import(), [sourceAst]), _core.types.identifier('then')), [_core.types.arrowFunctionExpression([_core.types.identifier('module')], _core.types.blockStatement([
|
|
67
70
|
// TODO
|
|
68
71
|
_core.types.returnStatement(_core.types.objectExpression(returnObjectProperties))]))]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoutersGenerator.js","names":["_fs","_interopRequireDefault","require","_core","_Generator","obj","__esModule","default","RoutersGenerator","Generator","config","pathService","constructor","errorComponentVariableDeclaration","types","variableDeclaration","variableDeclarator","identifier","arrowFunctionExpression","blockStatement","returnStatement","jsxElement","jsxOpeningElement","jsxIdentifier","jsxClosingElement","jsxText","jsxExpressionContainer","optionalMemberExpression","memberExpression","loadingVariableDeclaration","jsxFragment","jsxOpeningFragment","jsxClosingFragment","createDowngradeValue","meJSON","name","defaultValue","transform","item","downgradeValue","route","keepAlive","retain","title","undefined","enablePreFetch","linkExtendable","injectStore","pageImportExpression","returnObjectProperties","objectProperty","sync","push","booleanLiteral","sourceAst","stringLiteral","meJSONRelativePath","addComment","callExpression","import","objectExpression","loadableCallExpression","nullLiteral","page","JSON","stringify","writeCodeToFile","absPath","items","Array","from","cache","values","code","transformSync","plugins","visitor","Program","enter","path","ast","importNamedDeclaration","importDefaultDeclaration","loading","errorComponent","theme","hash","getThemePath","expressionStatement","optionalCallExpression","_","filter","x","isExternal","map","dangerousRoute","exact","exportDefaultDeclaration","arrayExpression","routeList","exportNamedDeclaration","pushContainer","fs","writeFileSync","keys","length","join","encoding","exports"],"sources":["../RoutersGenerator.ts"],"sourcesContent":["import fs from 'fs';\nimport { transformSync, types } from '@babel/core';\nimport type { Options, MeJSON, PathService } from './utils';\nimport { Generator } from './Generator';\n\ninterface Item {\n meJSONRelativePath: string;\n meJSON: MeJSON;\n isExternal: boolean;\n path: string;\n page: string;\n exact: boolean;\n}\n\ninterface TransformItem extends Item, MeJSON {}\n\nexport class RoutersGenerator extends Generator<Item> {\n config: Options;\n pathService: PathService;\n\n constructor(config: Options, pathService: PathService) {\n super();\n this.config = config;\n this.pathService = pathService;\n }\n\n private errorComponentVariableDeclaration() {\n return types.variableDeclaration('const', [\n types.variableDeclarator(\n types.identifier('ErrorComponent'),\n types.arrowFunctionExpression(\n [types.identifier('props')],\n types.blockStatement([\n types.returnStatement(\n types.jsxElement(\n types.jsxOpeningElement(types.jsxIdentifier('div'), [], false),\n types.jsxClosingElement(types.jsxIdentifier('div')),\n [\n types.jsxElement(\n types.jsxOpeningElement(types.jsxIdentifier('h1'), [], false),\n types.jsxClosingElement(types.jsxIdentifier('h1')),\n [types.jsxText('页面渲染发生异常')],\n ),\n types.jsxElement(\n types.jsxOpeningElement(types.jsxIdentifier('span'), [], false),\n types.jsxClosingElement(types.jsxIdentifier('span')),\n [\n types.jsxExpressionContainer(\n types.optionalMemberExpression(\n types.memberExpression(types.identifier('props'), types.identifier('errorStack')),\n types.identifier('message'),\n false,\n true,\n ),\n ),\n ],\n ),\n ],\n false,\n ),\n ),\n ]),\n ),\n ),\n ]);\n }\n\n private loadingVariableDeclaration() {\n return types.variableDeclaration('const', [\n types.variableDeclarator(\n types.identifier('Loading'),\n types.arrowFunctionExpression(\n [],\n types.blockStatement([types.returnStatement(types.jsxFragment(types.jsxOpeningFragment(), types.jsxClosingFragment(), []))]),\n ),\n ),\n ]);\n }\n\n private createDowngradeValue(meJSON: MeJSON) {\n return <T extends keyof MeJSON>(name: T, defaultValue: MeJSON[T]) => {\n /** @ts-ignore */\n return meJSON[name] ?? this.config[name] ?? defaultValue;\n };\n }\n\n private transform(item: Item): TransformItem {\n const downgradeValue = this.createDowngradeValue(item.meJSON);\n // 路由参数\n let route = item.meJSON.route ?? '';\n const keepAlive = downgradeValue('keepAlive', false);\n const retain = downgradeValue('retain', false);\n const title = downgradeValue('title', undefined);\n const enablePreFetch = downgradeValue('enablePreFetch', false);\n // FUCK keep-alive 特性的坑, 为了兼容同一个页面多次打开 动态拓展 redux 的reducer 节点\n const linkExtendable = downgradeValue('linkExtendable', false);\n route = linkExtendable ? `${route}/:id?` : route;\n let injectStore = downgradeValue('injectStore', false);\n if (injectStore === true) injectStore = 'store';\n return {\n ...item,\n route,\n keepAlive,\n retain,\n title,\n linkExtendable,\n injectStore,\n enablePreFetch,\n };\n }\n\n private pageImportExpression(item: TransformItem) {\n const returnObjectProperties = [types.objectProperty(types.identifier('module'), types.identifier('module'))];\n if (item.meJSON.sync) {\n returnObjectProperties.push(types.objectProperty(types.identifier('sync'), types.booleanLiteral(true)));\n } else {\n returnObjectProperties.push(\n types.objectProperty(types.identifier('sync'), types.booleanLiteral(false)),\n types.objectProperty(types.identifier('reducers'), types.identifier('reducers')),\n );\n }\n const sourceAst = types.stringLiteral(item.meJSONRelativePath);\n\n if (item.enablePreFetch) {\n types.addComment(sourceAst, 'leading', 'webpackPrefetch: true');\n }\n\n return types.callExpression(types.memberExpression(types.callExpression(types.import(), [sourceAst]), types.identifier('then')), [\n types.arrowFunctionExpression(\n [types.identifier('module')],\n types.blockStatement([\n // TODO\n types.returnStatement(types.objectExpression(returnObjectProperties)),\n ]),\n ),\n ]);\n }\n\n private loadableCallExpression(item: TransformItem) {\n return types.callExpression(types.identifier('Loadable'), [\n types.objectExpression([\n types.objectProperty(types.identifier('title'), item.title ? types.stringLiteral(item.title) : types.nullLiteral()),\n types.objectProperty(types.identifier('keepAlive'), types.booleanLiteral(item.keepAlive!)),\n types.objectProperty(types.identifier('route'), types.stringLiteral(item.route!)),\n types.objectProperty(types.identifier('retain'), types.booleanLiteral(item.retain!)),\n types.objectProperty(\n types.identifier('injectStore'),\n typeof item.injectStore === 'boolean' ? types.booleanLiteral(item.injectStore) : types.stringLiteral(item.injectStore!),\n ),\n types.objectProperty(types.identifier('page'), types.stringLiteral(item.page)),\n types.objectProperty(types.identifier('loading'), types.identifier('Loading')),\n types.objectProperty(types.identifier('errorComponent'), types.identifier('ErrorComponent')),\n types.objectProperty(\n types.identifier('metaInfo'),\n types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('parse')), [\n types.stringLiteral(JSON.stringify(item.meJSON)),\n ]),\n ),\n types.objectProperty(types.identifier('loader'), types.arrowFunctionExpression([], this.pageImportExpression(item))),\n ]),\n ]);\n }\n\n writeCodeToFile(absPath: string) {\n const items = Array.from(this.cache.values());\n const code = transformSync('', {\n plugins: [\n () => {\n return {\n name: 'babel-plugin-replace-react-redux',\n visitor: {\n Program: {\n enter: (path) => {\n const ast: (types.ImportDeclaration | types.VariableDeclaration | types.ExportDefaultDeclaration | types.ExpressionStatement)[] = [\n this.importNamedDeclaration([], 'rrc-loader-helper/lib/fake-react'),\n this.importDefaultDeclaration('Loadable', 'rrc-loader-helper/lib/loadable'),\n this.importDefaultDeclaration('React', 'react'),\n ];\n\n /** 如果用户没有指定loading组件,那么自动生成一个空 loading */\n if (this.config.loading) {\n ast.push(this.importDefaultDeclaration('Loading', this.config.loading));\n } else {\n ast.push(this.loadingVariableDeclaration());\n }\n\n if (this.config.errorComponent) {\n ast.push(this.importDefaultDeclaration('ErrorComponent', this.config.errorComponent));\n } else {\n ast.push(this.errorComponentVariableDeclaration());\n }\n\n if (this.config.theme?.hash) {\n ast.push(this.importNamedDeclaration(['toGlobalTheme'], this.pathService.getThemePath(this.config.theme.hash)));\n ast.push(types.expressionStatement(types.optionalCallExpression(types.identifier('toGlobalTheme'), [], true)));\n }\n\n const _ = items\n .filter((x) => !x.isExternal)\n .map((x) => this.transform(x))\n .map((x) => {\n const path = this.config.dangerousRoute || !x.exact ? `/${x.path}${x.route}` : `/${x.path}`;\n return types.objectExpression([\n types.objectProperty(types.identifier('exact'), types.booleanLiteral(x.exact)),\n types.objectProperty(types.identifier('keepAlive'), types.booleanLiteral(x.keepAlive!)),\n types.objectProperty(types.identifier('key'), types.stringLiteral(path)),\n types.objectProperty(types.identifier('path'), types.stringLiteral(path)),\n types.objectProperty(types.identifier('component'), this.loadableCallExpression(x)),\n ]);\n });\n ast.push(\n types.exportDefaultDeclaration(\n types.arrowFunctionExpression(\n [types.identifier('reducers')],\n types.blockStatement([types.returnStatement(types.arrayExpression(_))]),\n ),\n ),\n );\n\n const routeList = items\n .map((x) => this.transform(x))\n .map((x) => {\n const path = this.config.dangerousRoute || !x.exact ? `/${x.path}${x.route}` : `/${x.path}`;\n return types.objectExpression([types.objectProperty(types.identifier('path'), types.stringLiteral(path))]);\n });\n\n ast.push(\n types.exportNamedDeclaration(\n types.variableDeclaration('const', [types.variableDeclarator(types.identifier('routeList'), types.arrayExpression(routeList))]),\n [],\n ),\n );\n\n path.pushContainer('body', ast);\n },\n },\n },\n };\n },\n ],\n });\n\n fs.writeFileSync(absPath, [JSON.stringify(`👹 pages total count is ${Array.from(this.cache.keys()).length}`), code?.code!].join(';\\r\\n'), {\n encoding: 'utf8',\n });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RoutersGenerator.js","names":["_fs","_interopRequireDefault","require","_core","_Generator","obj","__esModule","default","RoutersGenerator","Generator","config","pathService","constructor","errorComponentVariableDeclaration","types","variableDeclaration","variableDeclarator","identifier","arrowFunctionExpression","blockStatement","returnStatement","jsxElement","jsxOpeningElement","jsxIdentifier","jsxClosingElement","jsxText","jsxExpressionContainer","optionalMemberExpression","memberExpression","loadingVariableDeclaration","jsxFragment","jsxOpeningFragment","jsxClosingFragment","createDowngradeValue","meJSON","name","defaultValue","transform","item","downgradeValue","route","keepAlive","retain","title","undefined","enablePreFetch","linkExtendable","injectStore","pageImportExpression","returnObjectProperties","objectProperty","sync","push","booleanLiteral","sourceAst","stringLiteral","meJSONRelativePath","addComment","webpackChunkName","callExpression","import","objectExpression","loadableCallExpression","nullLiteral","page","JSON","stringify","writeCodeToFile","absPath","items","Array","from","cache","values","code","transformSync","plugins","visitor","Program","enter","path","ast","importNamedDeclaration","importDefaultDeclaration","loading","errorComponent","theme","hash","getThemePath","expressionStatement","optionalCallExpression","_","filter","x","isExternal","map","dangerousRoute","exact","exportDefaultDeclaration","arrayExpression","routeList","exportNamedDeclaration","pushContainer","fs","writeFileSync","keys","length","join","encoding","exports"],"sources":["../RoutersGenerator.ts"],"sourcesContent":["import fs from 'fs';\nimport { transformSync, types } from '@babel/core';\nimport type { Options, MeJSON, PathService } from './utils';\nimport { Generator } from './Generator';\n\ninterface Item {\n meJSONRelativePath: string;\n meJSON: MeJSON;\n isExternal: boolean;\n path: string;\n page: string;\n exact: boolean;\n}\n\ninterface TransformItem extends Item, MeJSON {}\n\nexport class RoutersGenerator extends Generator<Item> {\n config: Options;\n pathService: PathService;\n\n constructor(config: Options, pathService: PathService) {\n super();\n this.config = config;\n this.pathService = pathService;\n }\n\n private errorComponentVariableDeclaration() {\n return types.variableDeclaration('const', [\n types.variableDeclarator(\n types.identifier('ErrorComponent'),\n types.arrowFunctionExpression(\n [types.identifier('props')],\n types.blockStatement([\n types.returnStatement(\n types.jsxElement(\n types.jsxOpeningElement(types.jsxIdentifier('div'), [], false),\n types.jsxClosingElement(types.jsxIdentifier('div')),\n [\n types.jsxElement(\n types.jsxOpeningElement(types.jsxIdentifier('h1'), [], false),\n types.jsxClosingElement(types.jsxIdentifier('h1')),\n [types.jsxText('页面渲染发生异常')],\n ),\n types.jsxElement(\n types.jsxOpeningElement(types.jsxIdentifier('span'), [], false),\n types.jsxClosingElement(types.jsxIdentifier('span')),\n [\n types.jsxExpressionContainer(\n types.optionalMemberExpression(\n types.memberExpression(types.identifier('props'), types.identifier('errorStack')),\n types.identifier('message'),\n false,\n true,\n ),\n ),\n ],\n ),\n ],\n false,\n ),\n ),\n ]),\n ),\n ),\n ]);\n }\n\n private loadingVariableDeclaration() {\n return types.variableDeclaration('const', [\n types.variableDeclarator(\n types.identifier('Loading'),\n types.arrowFunctionExpression(\n [],\n types.blockStatement([types.returnStatement(types.jsxFragment(types.jsxOpeningFragment(), types.jsxClosingFragment(), []))]),\n ),\n ),\n ]);\n }\n\n private createDowngradeValue(meJSON: MeJSON) {\n return <T extends keyof MeJSON>(name: T, defaultValue: MeJSON[T]) => {\n /** @ts-ignore */\n return meJSON[name] ?? this.config[name] ?? defaultValue;\n };\n }\n\n private transform(item: Item): TransformItem {\n const downgradeValue = this.createDowngradeValue(item.meJSON);\n // 路由参数\n let route = item.meJSON.route ?? '';\n const keepAlive = downgradeValue('keepAlive', false);\n const retain = downgradeValue('retain', false);\n const title = downgradeValue('title', undefined);\n const enablePreFetch = downgradeValue('enablePreFetch', false);\n // FUCK keep-alive 特性的坑, 为了兼容同一个页面多次打开 动态拓展 redux 的reducer 节点\n const linkExtendable = downgradeValue('linkExtendable', false);\n route = linkExtendable ? `${route}/:id?` : route;\n let injectStore = downgradeValue('injectStore', false);\n if (injectStore === true) injectStore = 'store';\n return {\n ...item,\n route,\n keepAlive,\n retain,\n title,\n linkExtendable,\n injectStore,\n enablePreFetch,\n };\n }\n\n private pageImportExpression(item: TransformItem) {\n const returnObjectProperties = [types.objectProperty(types.identifier('module'), types.identifier('module'))];\n if (item.meJSON.sync) {\n returnObjectProperties.push(types.objectProperty(types.identifier('sync'), types.booleanLiteral(true)));\n } else {\n returnObjectProperties.push(\n types.objectProperty(types.identifier('sync'), types.booleanLiteral(false)),\n types.objectProperty(types.identifier('reducers'), types.identifier('reducers')),\n );\n }\n const sourceAst = types.stringLiteral(item.meJSONRelativePath);\n\n if (item.enablePreFetch) {\n types.addComment(sourceAst, 'leading', 'webpackPrefetch: true');\n }\n\n if (item.meJSON.webpackChunkName) {\n types.addComment(sourceAst, 'leading', `webpackChunkName: \"${item.meJSON.webpackChunkName}\"`);\n }\n\n return types.callExpression(types.memberExpression(types.callExpression(types.import(), [sourceAst]), types.identifier('then')), [\n types.arrowFunctionExpression(\n [types.identifier('module')],\n types.blockStatement([\n // TODO\n types.returnStatement(types.objectExpression(returnObjectProperties)),\n ]),\n ),\n ]);\n }\n\n private loadableCallExpression(item: TransformItem) {\n return types.callExpression(types.identifier('Loadable'), [\n types.objectExpression([\n types.objectProperty(types.identifier('title'), item.title ? types.stringLiteral(item.title) : types.nullLiteral()),\n types.objectProperty(types.identifier('keepAlive'), types.booleanLiteral(item.keepAlive!)),\n types.objectProperty(types.identifier('route'), types.stringLiteral(item.route!)),\n types.objectProperty(types.identifier('retain'), types.booleanLiteral(item.retain!)),\n types.objectProperty(\n types.identifier('injectStore'),\n typeof item.injectStore === 'boolean' ? types.booleanLiteral(item.injectStore) : types.stringLiteral(item.injectStore!),\n ),\n types.objectProperty(types.identifier('page'), types.stringLiteral(item.page)),\n types.objectProperty(types.identifier('loading'), types.identifier('Loading')),\n types.objectProperty(types.identifier('errorComponent'), types.identifier('ErrorComponent')),\n types.objectProperty(\n types.identifier('metaInfo'),\n types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('parse')), [\n types.stringLiteral(JSON.stringify(item.meJSON)),\n ]),\n ),\n types.objectProperty(types.identifier('loader'), types.arrowFunctionExpression([], this.pageImportExpression(item))),\n ]),\n ]);\n }\n\n writeCodeToFile(absPath: string) {\n const items = Array.from(this.cache.values());\n const code = transformSync('', {\n plugins: [\n () => {\n return {\n name: 'babel-plugin-replace-react-redux',\n visitor: {\n Program: {\n enter: (path) => {\n const ast: (types.ImportDeclaration | types.VariableDeclaration | types.ExportDefaultDeclaration | types.ExpressionStatement)[] = [\n this.importNamedDeclaration([], 'rrc-loader-helper/lib/fake-react'),\n this.importDefaultDeclaration('Loadable', 'rrc-loader-helper/lib/loadable'),\n this.importDefaultDeclaration('React', 'react'),\n ];\n\n /** 如果用户没有指定loading组件,那么自动生成一个空 loading */\n if (this.config.loading) {\n ast.push(this.importDefaultDeclaration('Loading', this.config.loading));\n } else {\n ast.push(this.loadingVariableDeclaration());\n }\n\n if (this.config.errorComponent) {\n ast.push(this.importDefaultDeclaration('ErrorComponent', this.config.errorComponent));\n } else {\n ast.push(this.errorComponentVariableDeclaration());\n }\n\n if (this.config.theme?.hash) {\n ast.push(this.importNamedDeclaration(['toGlobalTheme'], this.pathService.getThemePath(this.config.theme.hash)));\n ast.push(types.expressionStatement(types.optionalCallExpression(types.identifier('toGlobalTheme'), [], true)));\n }\n\n const _ = items\n .filter((x) => !x.isExternal)\n .map((x) => this.transform(x))\n .map((x) => {\n const path = this.config.dangerousRoute || !x.exact ? `/${x.path}${x.route}` : `/${x.path}`;\n return types.objectExpression([\n types.objectProperty(types.identifier('exact'), types.booleanLiteral(x.exact)),\n types.objectProperty(types.identifier('keepAlive'), types.booleanLiteral(x.keepAlive!)),\n types.objectProperty(types.identifier('key'), types.stringLiteral(path)),\n types.objectProperty(types.identifier('path'), types.stringLiteral(path)),\n types.objectProperty(types.identifier('component'), this.loadableCallExpression(x)),\n ]);\n });\n ast.push(\n types.exportDefaultDeclaration(\n types.arrowFunctionExpression(\n [types.identifier('reducers')],\n types.blockStatement([types.returnStatement(types.arrayExpression(_))]),\n ),\n ),\n );\n\n const routeList = items\n .map((x) => this.transform(x))\n .map((x) => {\n const path = this.config.dangerousRoute || !x.exact ? `/${x.path}${x.route}` : `/${x.path}`;\n return types.objectExpression([types.objectProperty(types.identifier('path'), types.stringLiteral(path))]);\n });\n\n ast.push(\n types.exportNamedDeclaration(\n types.variableDeclaration('const', [types.variableDeclarator(types.identifier('routeList'), types.arrayExpression(routeList))]),\n [],\n ),\n );\n\n path.pushContainer('body', ast);\n },\n },\n },\n };\n },\n ],\n });\n\n fs.writeFileSync(absPath, [JSON.stringify(`👹 pages total count is ${Array.from(this.cache.keys()).length}`), code?.code!].join(';\\r\\n'), {\n encoding: 'utf8',\n });\n }\n}\n"],"mappings":"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"}
|
package/lib/utils/types.d.ts
CHANGED
package/lib/utils/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,cAAc,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
|
package/lib/utils/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../types.ts"],"sourcesContent":["export interface Options {\n /**\n * 组件上下文, 默认取 compiler.context\n * @default compiler.context\n */\n context?: string;\n /**\n * 是否禁用内置路由\n * 默认会将 react-router-dom 转换到 rrc-loader-helper/router\n * 如果你是新项目,建议将该配置配置为true,因为内置路由针对react-router做了大量的改动,可能会引起一些无法预测的故障\n * @default false\n */\n disableBuiltInRoute?: boolean;\n /**\n * 是否开启 webpack prefetch预加载\n * @default false\n */\n enablePreFetch?: boolean;\n /**\n * 指定页面路径 不进行注册路由\n * @default []\n */\n externals?: string[];\n /**\n * 页面目录\n * @default component\n */\n pageDir?: string;\n /**\n * shineout 主题\n */\n theme?: {\n hash: string;\n };\n /**\n * reducer 文件名称\n * @default reducer\n */\n reducerName?: string;\n /**\n * loading 组件路径\n */\n loading?: string;\n /**\n * 一个神奇的属性,用于处理 /xxx/order/list 这种路由过长的问题\n * 也可以用来作为父路由的默认路由目录\n * 会生成一个新路由 /xxx/order,实际目录指向为 /xxx/order/list\n * @default list\n */\n index?: string;\n /**\n * 渲染出错时的组件地址\n */\n errorComponent?: string;\n\n /**\n * 是否允许页面内生成自定义路由\n * 例如在 component/order/detail/me.json 中 配置 route: '/:id',此时会生成动态路由 /order/detail/:id\n * 非常不推荐使用的一个属性,因为此功能受 me.json 中 exact 属性影响, 仅当 exact: true 时候,才不会拼接路由\n * 当开启 dangerousRoute 后, 不再受 exact 影响, 都会生成 拼接路由 /order/detail/:id\n * @default false\n */\n dangerousRoute?: boolean;\n\n /**\n * 是否禁用 babel-loader 处理, 默认开启,因为需要 babel-loader 会对 reducer 进行处理\n * 但考虑到新增 rule 会导致打包速度变慢,所以提供了这个配置。\n * @default false\n */\n disableBabelLoaderRule?: boolean;\n}\n\nexport interface MeJSON {\n theme?: string;\n sync?: boolean;\n /**\n * mobx 模式\n * 未开启时, reducer 文件导出为纯函数,用来处理状态修改。 saga 文件用来处理副作用逻辑。\n * 开启后,reducer 文件导出为对象,包含 state 以及方法, 普通函数作为reducer修改状态, generator 函数处理副作用逻辑。\n * @default false\n */\n mobx?: boolean;\n keepAlive?: boolean;\n retain?: boolean;\n title?: string;\n /**\n * @description 为了兼容同一个页面多次打开 动态拓展 redux 的reducer 节点\n * @description 在路由配置中添加 /:id?,不推荐使用, 仅极少场景需要\n * @default false\n */\n linkExtendable?: boolean;\n injectStore?: boolean | string;\n route?: string;\n /**\n * 默认是以 url 作为page的key, 但是有些场景下,会在 url 中动态添加 query,导致页面进行重绘\n * 当然,这个配置开启后,究竟会引发什么问题,我不清楚,但是我知道,这个配置是有风险的,所以我给了一个 UNSAFE 的前缀\n */\n UNSAFE_pathAsKey?: boolean;\n\n enablePreFetch?: boolean;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../types.ts"],"sourcesContent":["export interface Options {\n /**\n * 组件上下文, 默认取 compiler.context\n * @default compiler.context\n */\n context?: string;\n /**\n * 是否禁用内置路由\n * 默认会将 react-router-dom 转换到 rrc-loader-helper/router\n * 如果你是新项目,建议将该配置配置为true,因为内置路由针对react-router做了大量的改动,可能会引起一些无法预测的故障\n * @default false\n */\n disableBuiltInRoute?: boolean;\n /**\n * 是否开启 webpack prefetch预加载\n * @default false\n */\n enablePreFetch?: boolean;\n /**\n * 指定页面路径 不进行注册路由\n * @default []\n */\n externals?: string[];\n /**\n * 页面目录\n * @default component\n */\n pageDir?: string;\n /**\n * shineout 主题\n */\n theme?: {\n hash: string;\n };\n /**\n * reducer 文件名称\n * @default reducer\n */\n reducerName?: string;\n /**\n * loading 组件路径\n */\n loading?: string;\n /**\n * 一个神奇的属性,用于处理 /xxx/order/list 这种路由过长的问题\n * 也可以用来作为父路由的默认路由目录\n * 会生成一个新路由 /xxx/order,实际目录指向为 /xxx/order/list\n * @default list\n */\n index?: string;\n /**\n * 渲染出错时的组件地址\n */\n errorComponent?: string;\n\n /**\n * 是否允许页面内生成自定义路由\n * 例如在 component/order/detail/me.json 中 配置 route: '/:id',此时会生成动态路由 /order/detail/:id\n * 非常不推荐使用的一个属性,因为此功能受 me.json 中 exact 属性影响, 仅当 exact: true 时候,才不会拼接路由\n * 当开启 dangerousRoute 后, 不再受 exact 影响, 都会生成 拼接路由 /order/detail/:id\n * @default false\n */\n dangerousRoute?: boolean;\n\n /**\n * 是否禁用 babel-loader 处理, 默认开启,因为需要 babel-loader 会对 reducer 进行处理\n * 但考虑到新增 rule 会导致打包速度变慢,所以提供了这个配置。\n * @default false\n */\n disableBabelLoaderRule?: boolean;\n}\n\nexport interface MeJSON {\n theme?: string;\n sync?: boolean;\n /**\n * mobx 模式\n * 未开启时, reducer 文件导出为纯函数,用来处理状态修改。 saga 文件用来处理副作用逻辑。\n * 开启后,reducer 文件导出为对象,包含 state 以及方法, 普通函数作为reducer修改状态, generator 函数处理副作用逻辑。\n * @default false\n */\n mobx?: boolean;\n keepAlive?: boolean;\n retain?: boolean;\n title?: string;\n /**\n * @description 为了兼容同一个页面多次打开 动态拓展 redux 的reducer 节点\n * @description 在路由配置中添加 /:id?,不推荐使用, 仅极少场景需要\n * @default false\n */\n linkExtendable?: boolean;\n injectStore?: boolean | string;\n route?: string;\n /**\n * 默认是以 url 作为page的key, 但是有些场景下,会在 url 中动态添加 query,导致页面进行重绘\n * 当然,这个配置开启后,究竟会引发什么问题,我不清楚,但是我知道,这个配置是有风险的,所以我给了一个 UNSAFE 的前缀\n */\n UNSAFE_pathAsKey?: boolean;\n\n enablePreFetch?: boolean;\n\n /**\n * 自定义 webpackChunkName,对于指定页面的预加载可能有效\n */\n webpackChunkName?: string;\n}\n"],"mappings":""}
|