@modern-js/utils 2.12.0 → 2.12.1-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.
- package/dist/{alias.js → cjs/alias.js} +4 -15
- package/dist/{analyzeProject.js → cjs/analyzeProject.js} +5 -25
- package/dist/{babel.js → cjs/babel.js} +9 -16
- package/dist/{compatRequire.js → cjs/compatRequire.js} +4 -17
- package/dist/cjs/emptyDir.js +32 -0
- package/dist/{getEntryOptions.js → cjs/getEntryOptions.js} +1 -15
- package/dist/{getPackageManager.js → cjs/getPackageManager.js} +19 -41
- package/dist/{getPort.js → cjs/getPort.js} +4 -24
- package/dist/{getServerConfig.js → cjs/getServerConfig.js} +2 -22
- package/dist/{logger.js → cjs/logger.js} +5 -16
- package/dist/{monorepo.js → cjs/monorepo.js} +4 -15
- package/dist/cjs/nodeEnv.js +55 -0
- package/dist/{path.js → cjs/path.js} +1 -1
- package/dist/{pathSerializer.js → cjs/pathSerializer.js} +1 -1
- package/dist/{react.js → cjs/react.js} +4 -15
- package/dist/{runtimeExports.js → cjs/runtimeExports.js} +1 -1
- package/dist/{universal → cjs/universal}/nestedRoutes.js +2 -19
- package/dist/cjs/version.js +59 -0
- package/dist/{watch.js → cjs/watch.js} +9 -29
- package/dist/esm/FileSizeReporter.js +180 -0
- package/dist/esm/alias.js +83 -0
- package/dist/esm/analyzeProject.js +168 -0
- package/dist/esm/applyOptionsChain.js +26 -0
- package/dist/esm/babel.js +169 -0
- package/dist/esm/chainId.js +92 -0
- package/dist/esm/clearConsole.js +6 -0
- package/dist/esm/commands.js +17 -0
- package/dist/esm/compatRequire.js +68 -0
- package/dist/esm/compiled.js +34 -0
- package/dist/esm/constants.js +317 -0
- package/dist/esm/debug.js +5 -0
- package/dist/esm/emptyDir.js +158 -0
- package/dist/esm/ensureAbsolutePath.js +5 -0
- package/dist/esm/ensureArray.js +9 -0
- package/dist/esm/findExists.js +27 -0
- package/dist/esm/generateMetaTags.js +40 -0
- package/dist/esm/getBrowserslist.js +12 -0
- package/dist/esm/getCoreJsVersion.js +57 -0
- package/dist/esm/getEntryOptions.js +45 -0
- package/dist/esm/getPackageManager.js +187 -0
- package/dist/esm/getPort.js +215 -0
- package/dist/esm/getServerConfig.js +145 -0
- package/dist/esm/getTargetDir.js +6 -0
- package/dist/esm/import.js +8 -0
- package/dist/esm/index.js +44 -0
- package/dist/esm/is/index.js +85 -0
- package/dist/esm/is/nodeEnv.js +16 -0
- package/dist/esm/is/platform.js +7 -0
- package/dist/esm/is/type.js +25 -0
- package/dist/esm/logger.js +207 -0
- package/dist/esm/monorepo.js +109 -0
- package/dist/esm/nodeEnv.js +258 -0
- package/dist/esm/path.js +85 -0
- package/dist/esm/pathSerializer.js +85 -0
- package/dist/esm/plugin.js +45 -0
- package/dist/esm/prettyInstructions.js +96 -0
- package/dist/esm/printBuildError.js +24 -0
- package/dist/esm/react.js +43 -0
- package/dist/esm/readTsConfig.js +10 -0
- package/dist/esm/removeSlash.js +10 -0
- package/dist/esm/resolve.js +42 -0
- package/dist/esm/routes.js +19 -0
- package/dist/esm/runtimeExports.js +65 -0
- package/dist/esm/ssr.js +3 -0
- package/dist/esm/storage.js +36 -0
- package/dist/esm/testUtils.js +13 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/universal/constants.js +3 -0
- package/dist/esm/universal/formatWebpack.js +108 -0
- package/dist/esm/universal/nestedRoutes.js +174 -0
- package/dist/esm/universal/remixRouter.js +1 -0
- package/dist/esm/universal/serialize.js +7 -0
- package/dist/esm/version.js +193 -0
- package/dist/esm/wait.js +7 -0
- package/dist/esm/watch.js +230 -0
- package/dist/esm-node/FileSizeReporter.js +133 -0
- package/dist/esm-node/alias.js +61 -0
- package/dist/esm-node/analyzeProject.js +17 -0
- package/dist/esm-node/applyOptionsChain.js +35 -0
- package/dist/esm-node/babel.js +105 -0
- package/dist/esm-node/chainId.js +173 -0
- package/dist/esm-node/clearConsole.js +8 -0
- package/dist/esm-node/commands.js +22 -0
- package/dist/esm-node/compatRequire.js +42 -0
- package/dist/esm-node/compiled.js +77 -0
- package/dist/esm-node/constants.js +264 -0
- package/dist/esm-node/debug.js +5 -0
- package/dist/esm-node/emptyDir.js +9 -0
- package/dist/esm-node/ensureAbsolutePath.js +5 -0
- package/dist/esm-node/ensureArray.js +9 -0
- package/dist/esm-node/findExists.js +12 -0
- package/dist/esm-node/generateMetaTags.js +38 -0
- package/dist/esm-node/getBrowserslist.js +7 -0
- package/dist/esm-node/getCoreJsVersion.js +13 -0
- package/dist/esm-node/getEntryOptions.js +17 -0
- package/dist/esm-node/getPackageManager.js +32 -0
- package/dist/esm-node/getPort.js +59 -0
- package/dist/esm-node/getServerConfig.js +14 -0
- package/dist/esm-node/getTargetDir.js +8 -0
- package/dist/esm-node/import.js +9 -0
- package/dist/esm-node/index.js +44 -0
- package/dist/esm-node/is/index.js +71 -0
- package/dist/esm-node/is/nodeEnv.js +12 -0
- package/dist/esm-node/is/platform.js +6 -0
- package/dist/esm-node/is/type.js +34 -0
- package/dist/esm-node/logger.js +100 -0
- package/dist/esm-node/monorepo.js +87 -0
- package/dist/esm-node/nodeEnv.js +30 -0
- package/dist/esm-node/path.js +50 -0
- package/dist/esm-node/pathSerializer.js +46 -0
- package/dist/esm-node/plugin.js +23 -0
- package/dist/esm-node/prettyInstructions.js +77 -0
- package/dist/esm-node/printBuildError.js +34 -0
- package/dist/esm-node/react.js +20 -0
- package/dist/esm-node/readTsConfig.js +13 -0
- package/dist/esm-node/removeSlash.js +8 -0
- package/dist/esm-node/resolve.js +38 -0
- package/dist/esm-node/routes.js +24 -0
- package/dist/esm-node/runtimeExports.js +40 -0
- package/dist/esm-node/ssr.js +6 -0
- package/dist/esm-node/storage.js +42 -0
- package/dist/esm-node/testUtils.js +15 -0
- package/dist/esm-node/types.js +0 -0
- package/dist/esm-node/universal/constants.js +6 -0
- package/dist/esm-node/universal/formatWebpack.js +77 -0
- package/dist/esm-node/universal/nestedRoutes.js +93 -0
- package/dist/esm-node/universal/remixRouter.js +1 -0
- package/dist/esm-node/universal/serialize.js +7 -0
- package/dist/esm-node/version.js +25 -0
- package/dist/esm-node/wait.js +6 -0
- package/dist/esm-node/watch.js +36 -0
- package/package.json +2 -2
- package/dist/emptyDir.js +0 -52
- package/dist/nodeEnv.js +0 -81
- package/dist/version.js +0 -92
- /package/dist/{FileSizeReporter.js → cjs/FileSizeReporter.js} +0 -0
- /package/dist/{applyOptionsChain.js → cjs/applyOptionsChain.js} +0 -0
- /package/dist/{chainId.js → cjs/chainId.js} +0 -0
- /package/dist/{clearConsole.js → cjs/clearConsole.js} +0 -0
- /package/dist/{commands.js → cjs/commands.js} +0 -0
- /package/dist/{compiled.js → cjs/compiled.js} +0 -0
- /package/dist/{constants.js → cjs/constants.js} +0 -0
- /package/dist/{debug.js → cjs/debug.js} +0 -0
- /package/dist/{ensureAbsolutePath.js → cjs/ensureAbsolutePath.js} +0 -0
- /package/dist/{ensureArray.js → cjs/ensureArray.js} +0 -0
- /package/dist/{findExists.js → cjs/findExists.js} +0 -0
- /package/dist/{generateMetaTags.js → cjs/generateMetaTags.js} +0 -0
- /package/dist/{getBrowserslist.js → cjs/getBrowserslist.js} +0 -0
- /package/dist/{getCoreJsVersion.js → cjs/getCoreJsVersion.js} +0 -0
- /package/dist/{getTargetDir.js → cjs/getTargetDir.js} +0 -0
- /package/dist/{import.js → cjs/import.js} +0 -0
- /package/dist/{index.js → cjs/index.js} +0 -0
- /package/dist/{is → cjs/is}/index.js +0 -0
- /package/dist/{is → cjs/is}/nodeEnv.js +0 -0
- /package/dist/{is → cjs/is}/platform.js +0 -0
- /package/dist/{is → cjs/is}/type.js +0 -0
- /package/dist/{plugin.js → cjs/plugin.js} +0 -0
- /package/dist/{prettyInstructions.js → cjs/prettyInstructions.js} +0 -0
- /package/dist/{printBuildError.js → cjs/printBuildError.js} +0 -0
- /package/dist/{readTsConfig.js → cjs/readTsConfig.js} +0 -0
- /package/dist/{removeSlash.js → cjs/removeSlash.js} +0 -0
- /package/dist/{resolve.js → cjs/resolve.js} +0 -0
- /package/dist/{routes.js → cjs/routes.js} +0 -0
- /package/dist/{ssr.js → cjs/ssr.js} +0 -0
- /package/dist/{storage.js → cjs/storage.js} +0 -0
- /package/dist/{testUtils.js → cjs/testUtils.js} +0 -0
- /package/dist/{types.js → cjs/types.js} +0 -0
- /package/dist/{universal → cjs/universal}/constants.js +0 -0
- /package/dist/{universal → cjs/universal}/formatWebpack.js +0 -0
- /package/dist/{universal → cjs/universal}/remixRouter.js +0 -0
- /package/dist/{universal → cjs/universal}/serialize.js +0 -0
- /package/dist/{wait.js → cjs/wait.js} +0 -0
- /package/dist/{FileSizeReporter.d.ts → types/FileSizeReporter.d.ts} +0 -0
- /package/dist/{alias.d.ts → types/alias.d.ts} +0 -0
- /package/dist/{analyzeProject.d.ts → types/analyzeProject.d.ts} +0 -0
- /package/dist/{applyOptionsChain.d.ts → types/applyOptionsChain.d.ts} +0 -0
- /package/dist/{babel.d.ts → types/babel.d.ts} +0 -0
- /package/dist/{chainId.d.ts → types/chainId.d.ts} +0 -0
- /package/dist/{clearConsole.d.ts → types/clearConsole.d.ts} +0 -0
- /package/dist/{commands.d.ts → types/commands.d.ts} +0 -0
- /package/dist/{compatRequire.d.ts → types/compatRequire.d.ts} +0 -0
- /package/dist/{compiled.d.ts → types/compiled.d.ts} +0 -0
- /package/dist/{constants.d.ts → types/constants.d.ts} +0 -0
- /package/dist/{debug.d.ts → types/debug.d.ts} +0 -0
- /package/dist/{emptyDir.d.ts → types/emptyDir.d.ts} +0 -0
- /package/dist/{ensureAbsolutePath.d.ts → types/ensureAbsolutePath.d.ts} +0 -0
- /package/dist/{ensureArray.d.ts → types/ensureArray.d.ts} +0 -0
- /package/dist/{findExists.d.ts → types/findExists.d.ts} +0 -0
- /package/dist/{generateMetaTags.d.ts → types/generateMetaTags.d.ts} +0 -0
- /package/dist/{getBrowserslist.d.ts → types/getBrowserslist.d.ts} +0 -0
- /package/dist/{getCoreJsVersion.d.ts → types/getCoreJsVersion.d.ts} +0 -0
- /package/dist/{getEntryOptions.d.ts → types/getEntryOptions.d.ts} +0 -0
- /package/dist/{getPackageManager.d.ts → types/getPackageManager.d.ts} +0 -0
- /package/dist/{getPort.d.ts → types/getPort.d.ts} +0 -0
- /package/dist/{getServerConfig.d.ts → types/getServerConfig.d.ts} +0 -0
- /package/dist/{getTargetDir.d.ts → types/getTargetDir.d.ts} +0 -0
- /package/dist/{import.d.ts → types/import.d.ts} +0 -0
- /package/dist/{index.d.ts → types/index.d.ts} +0 -0
- /package/dist/{is → types/is}/index.d.ts +0 -0
- /package/dist/{is → types/is}/nodeEnv.d.ts +0 -0
- /package/dist/{is → types/is}/platform.d.ts +0 -0
- /package/dist/{is → types/is}/type.d.ts +0 -0
- /package/dist/{logger.d.ts → types/logger.d.ts} +0 -0
- /package/dist/{monorepo.d.ts → types/monorepo.d.ts} +0 -0
- /package/dist/{nodeEnv.d.ts → types/nodeEnv.d.ts} +0 -0
- /package/dist/{path.d.ts → types/path.d.ts} +0 -0
- /package/dist/{pathSerializer.d.ts → types/pathSerializer.d.ts} +0 -0
- /package/dist/{plugin.d.ts → types/plugin.d.ts} +0 -0
- /package/dist/{prettyInstructions.d.ts → types/prettyInstructions.d.ts} +0 -0
- /package/dist/{printBuildError.d.ts → types/printBuildError.d.ts} +0 -0
- /package/dist/{react.d.ts → types/react.d.ts} +0 -0
- /package/dist/{readTsConfig.d.ts → types/readTsConfig.d.ts} +0 -0
- /package/dist/{removeSlash.d.ts → types/removeSlash.d.ts} +0 -0
- /package/dist/{resolve.d.ts → types/resolve.d.ts} +0 -0
- /package/dist/{routes.d.ts → types/routes.d.ts} +0 -0
- /package/dist/{runtimeExports.d.ts → types/runtimeExports.d.ts} +0 -0
- /package/dist/{ssr.d.ts → types/ssr.d.ts} +0 -0
- /package/dist/{storage.d.ts → types/storage.d.ts} +0 -0
- /package/dist/{testUtils.d.ts → types/testUtils.d.ts} +0 -0
- /package/dist/{types.d.ts → types/types.d.ts} +0 -0
- /package/dist/{universal → types/universal}/constants.d.ts +0 -0
- /package/dist/{universal → types/universal}/formatWebpack.d.ts +0 -0
- /package/dist/{universal → types/universal}/nestedRoutes.d.ts +0 -0
- /package/dist/{universal → types/universal}/remixRouter.d.ts +0 -0
- /package/dist/{universal → types/universal}/serialize.d.ts +0 -0
- /package/dist/{version.d.ts → types/version.d.ts} +0 -0
- /package/dist/{wait.d.ts → types/wait.d.ts} +0 -0
- /package/dist/{watch.d.ts → types/watch.d.ts} +0 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
const CHAIN_ID = {
|
|
2
|
+
/** Predefined rules */
|
|
3
|
+
RULE: {
|
|
4
|
+
/** Rule for .mjs */
|
|
5
|
+
MJS: "mjs",
|
|
6
|
+
/** Rule for predefined loaders */
|
|
7
|
+
LOADERS: "loaders",
|
|
8
|
+
/** Rule for fonts */
|
|
9
|
+
FONT: "font",
|
|
10
|
+
/** Rule for images */
|
|
11
|
+
IMAGE: "image",
|
|
12
|
+
/** Rule for media */
|
|
13
|
+
MEDIA: "media",
|
|
14
|
+
/** Rule for js */
|
|
15
|
+
JS: "js",
|
|
16
|
+
/** Rule for data uri encoded javascript */
|
|
17
|
+
JS_DATA_URI: "js-data-uri",
|
|
18
|
+
/** Rule for ts */
|
|
19
|
+
TS: "ts",
|
|
20
|
+
/** Rule for css */
|
|
21
|
+
CSS: "css",
|
|
22
|
+
/** Rule for less */
|
|
23
|
+
LESS: "less",
|
|
24
|
+
/** Rule for sass */
|
|
25
|
+
SASS: "sass",
|
|
26
|
+
/** Rule for stylus */
|
|
27
|
+
STYLUS: "stylus",
|
|
28
|
+
/** Rule for svg */
|
|
29
|
+
SVG: "svg",
|
|
30
|
+
/** Rule for pug */
|
|
31
|
+
PUG: "pug",
|
|
32
|
+
/** Rule for toml */
|
|
33
|
+
TOML: "toml",
|
|
34
|
+
/** Rule for yaml */
|
|
35
|
+
YAML: "yaml",
|
|
36
|
+
/** Rule for bff */
|
|
37
|
+
JS_BFF_API: "js-bff-api"
|
|
38
|
+
},
|
|
39
|
+
/** Predefined rule groups */
|
|
40
|
+
ONE_OF: {
|
|
41
|
+
SVG: "svg",
|
|
42
|
+
SVG_URL: "svg-url",
|
|
43
|
+
SVG_ASSET: "svg-asset",
|
|
44
|
+
SVG_INLINE: "svg-inline"
|
|
45
|
+
},
|
|
46
|
+
/** Predefined loaders */
|
|
47
|
+
USE: {
|
|
48
|
+
/** ts-loader */
|
|
49
|
+
TS: "ts",
|
|
50
|
+
/** css-loader */
|
|
51
|
+
CSS: "css",
|
|
52
|
+
/** sass-loader */
|
|
53
|
+
SASS: "sass",
|
|
54
|
+
/** less-loader */
|
|
55
|
+
LESS: "less",
|
|
56
|
+
/** stylus-loader */
|
|
57
|
+
STYLUS: "stylus",
|
|
58
|
+
/** url-loader */
|
|
59
|
+
URL: "url",
|
|
60
|
+
/** pug-loader */
|
|
61
|
+
PUG: "pug",
|
|
62
|
+
/** file-loader */
|
|
63
|
+
FILE: "file",
|
|
64
|
+
/** @svgr/webpack */
|
|
65
|
+
SVGR: "svgr",
|
|
66
|
+
/** yaml-loader */
|
|
67
|
+
YAML: "yaml",
|
|
68
|
+
/** toml-loader */
|
|
69
|
+
TOML: "toml",
|
|
70
|
+
/** html-loader */
|
|
71
|
+
HTML: "html",
|
|
72
|
+
/** babel-loader */
|
|
73
|
+
BABEL: "babel",
|
|
74
|
+
/** esbuild-loader */
|
|
75
|
+
ESBUILD: "esbuild",
|
|
76
|
+
/** swc-loader */
|
|
77
|
+
SWC: "swc",
|
|
78
|
+
/** style-loader */
|
|
79
|
+
STYLE: "style-loader",
|
|
80
|
+
/** postcss-loader */
|
|
81
|
+
POSTCSS: "postcss",
|
|
82
|
+
/** markdown-loader */
|
|
83
|
+
MARKDOWN: "markdown",
|
|
84
|
+
/** ignore-css-loader */
|
|
85
|
+
IGNORE_CSS: "ignore-css",
|
|
86
|
+
/** css-modules-typescript-loader */
|
|
87
|
+
CSS_MODULES_TS: "css-modules-typescript",
|
|
88
|
+
/** mini-css-extract-plugin.loader */
|
|
89
|
+
MINI_CSS_EXTRACT: "mini-css-extract",
|
|
90
|
+
/** builder-plugin-image-compress.loader */
|
|
91
|
+
IMAGE_COMPRESS: "image-compress",
|
|
92
|
+
/** builder-plugin-image-compress svgo-loader */
|
|
93
|
+
SVGO: "svgo",
|
|
94
|
+
/** builder-plugin-imagex */
|
|
95
|
+
IMAGEX: "imagex"
|
|
96
|
+
},
|
|
97
|
+
/** Predefined plugins */
|
|
98
|
+
PLUGIN: {
|
|
99
|
+
/** HotModuleReplacementPlugin */
|
|
100
|
+
HMR: "hmr",
|
|
101
|
+
/** CopyWebpackPlugin */
|
|
102
|
+
COPY: "copy",
|
|
103
|
+
/** HtmlWebpackPlugin */
|
|
104
|
+
HTML: "html",
|
|
105
|
+
/** DefinePlugin */
|
|
106
|
+
DEFINE: "define",
|
|
107
|
+
/** IgnorePlugin */
|
|
108
|
+
IGNORE: "ignore",
|
|
109
|
+
/** BannerPlugin */
|
|
110
|
+
BANNER: "banner",
|
|
111
|
+
/** Webpackbar */
|
|
112
|
+
PROGRESS: "progress",
|
|
113
|
+
/** Inspector */
|
|
114
|
+
INSPECTOR: "inspector",
|
|
115
|
+
/** AppIconPlugin */
|
|
116
|
+
APP_ICON: "app-icon",
|
|
117
|
+
/** FaviconUrlPlugin */
|
|
118
|
+
FAVICON_URL: "favicon-url",
|
|
119
|
+
/** LoadableWebpackPlugin */
|
|
120
|
+
LOADABLE: "loadable",
|
|
121
|
+
/** WebpackManifestPlugin */
|
|
122
|
+
MANIFEST: "webpack-manifest",
|
|
123
|
+
/** ForkTsCheckerWebpackPlugin */
|
|
124
|
+
TS_CHECKER: "ts-checker",
|
|
125
|
+
/** InlineChunkHtmlPlugin */
|
|
126
|
+
INLINE_HTML: "inline-html",
|
|
127
|
+
/** WebpackBundleAnalyzer */
|
|
128
|
+
BUNDLE_ANALYZER: "bundle-analyze",
|
|
129
|
+
/** BottomTemplatePlugin */
|
|
130
|
+
BOTTOM_TEMPLATE: "bottom-template",
|
|
131
|
+
/** HtmlCrossOriginPlugin */
|
|
132
|
+
HTML_CROSS_ORIGIN: "html-cross-origin",
|
|
133
|
+
/** MiniCssExtractPlugin */
|
|
134
|
+
MINI_CSS_EXTRACT: "mini-css-extract",
|
|
135
|
+
/** ReactFastRefreshPlugin */
|
|
136
|
+
REACT_FAST_REFRESH: "react-fast-refresh",
|
|
137
|
+
/** ProvidePlugin for node polyfill */
|
|
138
|
+
NODE_POLYFILL_PROVIDE: "node-polyfill-provide",
|
|
139
|
+
/** WebpackSRIPlugin */
|
|
140
|
+
SUBRESOURCE_INTEGRITY: "subresource-integrity",
|
|
141
|
+
/** WebpackAssetsRetryPlugin */
|
|
142
|
+
ASSETS_RETRY: "ASSETS_RETRY",
|
|
143
|
+
/** AutoSetRootFontSizePlugin */
|
|
144
|
+
AUTO_SET_ROOT_SIZE: "auto-set-root-size",
|
|
145
|
+
/** HtmlAsyncChunkPlugin */
|
|
146
|
+
HTML_ASYNC_CHUNK: "html-async-chunk",
|
|
147
|
+
/** SWC_POLYFILL_CHECKER */
|
|
148
|
+
SWC_POLYFILL_CHECKER: "swc-polyfill-checker-plugin",
|
|
149
|
+
/** HtmlTagsPlugin */
|
|
150
|
+
HTML_TAGS: "html-tags"
|
|
151
|
+
},
|
|
152
|
+
/** Predefined minimizers */
|
|
153
|
+
MINIMIZER: {
|
|
154
|
+
/** TerserWebpackPlugin */
|
|
155
|
+
JS: "js",
|
|
156
|
+
/** CssMinimizerWebpackPlugin */
|
|
157
|
+
CSS: "css",
|
|
158
|
+
/** ESBuildPlugin */
|
|
159
|
+
ESBUILD: "js-css",
|
|
160
|
+
/** SWCPlugin */
|
|
161
|
+
SWC: "swc"
|
|
162
|
+
},
|
|
163
|
+
/** Predefined resolve plugins */
|
|
164
|
+
RESOLVE_PLUGIN: {
|
|
165
|
+
/** ModuleScopePlugin */
|
|
166
|
+
MODULE_SCOPE: "module-scope",
|
|
167
|
+
/** TsConfigPathsPlugin */
|
|
168
|
+
TS_CONFIG_PATHS: "ts-config-paths"
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
export {
|
|
172
|
+
CHAIN_ID
|
|
173
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const getFullArgv = () => {
|
|
2
|
+
var _a;
|
|
3
|
+
return ((_a = process.env.MODERN_ARGV) == null ? void 0 : _a.split(" ")) || process.argv;
|
|
4
|
+
};
|
|
5
|
+
const getArgv = () => {
|
|
6
|
+
return getFullArgv().slice(2);
|
|
7
|
+
};
|
|
8
|
+
const getCommand = () => {
|
|
9
|
+
const args = getArgv();
|
|
10
|
+
const command = args[0];
|
|
11
|
+
return command;
|
|
12
|
+
};
|
|
13
|
+
const isDevCommand = () => {
|
|
14
|
+
const command = getCommand();
|
|
15
|
+
return command === "dev" || command === "start";
|
|
16
|
+
};
|
|
17
|
+
export {
|
|
18
|
+
getArgv,
|
|
19
|
+
getCommand,
|
|
20
|
+
getFullArgv,
|
|
21
|
+
isDevCommand
|
|
22
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { findExists } from "./findExists";
|
|
2
|
+
const compatRequire = (filePath, interop = true) => {
|
|
3
|
+
const mod = require(filePath);
|
|
4
|
+
const rtnESMDefault = interop && (mod == null ? void 0 : mod.__esModule);
|
|
5
|
+
return rtnESMDefault ? mod.default : mod;
|
|
6
|
+
};
|
|
7
|
+
const dynamicImport = new Function(
|
|
8
|
+
"modulePath",
|
|
9
|
+
"return import(modulePath)"
|
|
10
|
+
);
|
|
11
|
+
const requireExistModule = (filename, opt) => {
|
|
12
|
+
const final = {
|
|
13
|
+
extensions: [".ts", ".js"],
|
|
14
|
+
interop: true,
|
|
15
|
+
...opt
|
|
16
|
+
};
|
|
17
|
+
const exist = findExists(final.extensions.map((ext) => `${filename}${ext}`));
|
|
18
|
+
if (!exist) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return compatRequire(exist, final.interop);
|
|
22
|
+
};
|
|
23
|
+
const cleanRequireCache = (filelist) => {
|
|
24
|
+
filelist.forEach((filepath) => {
|
|
25
|
+
delete require.cache[filepath];
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
function deleteRequireCache(path) {
|
|
29
|
+
if (require.cache[path]) {
|
|
30
|
+
delete require.cache[path];
|
|
31
|
+
}
|
|
32
|
+
if (module.children) {
|
|
33
|
+
module.children = module.children.filter((item) => item.filename !== path);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
cleanRequireCache,
|
|
38
|
+
compatRequire,
|
|
39
|
+
deleteRequireCache,
|
|
40
|
+
dynamicImport,
|
|
41
|
+
requireExistModule
|
|
42
|
+
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Import } from "./import";
|
|
2
|
+
import { default as default2 } from "../compiled/fs-extra";
|
|
3
|
+
import { default as default3 } from "../compiled/ora";
|
|
4
|
+
import { default as default4 } from "../compiled/glob";
|
|
5
|
+
import { default as default5 } from "../compiled/js-yaml";
|
|
6
|
+
import { default as default6 } from "../compiled/chalk";
|
|
7
|
+
import { default as default7 } from "../compiled/debug";
|
|
8
|
+
import { default as default8 } from "../compiled/slash";
|
|
9
|
+
import { default as default9 } from "../compiled/execa";
|
|
10
|
+
import { default as default10 } from "../compiled/json5";
|
|
11
|
+
import { default as default11 } from "../compiled/upath";
|
|
12
|
+
import { default as default12 } from "../compiled/pkg-up";
|
|
13
|
+
import { nanoid } from "../compiled/nanoid";
|
|
14
|
+
import { default as default13 } from "../compiled/semver";
|
|
15
|
+
import { default as default14 } from "../compiled/dotenv";
|
|
16
|
+
import { default as default15 } from "../compiled/lodash";
|
|
17
|
+
import { default as default16 } from "../compiled/globby";
|
|
18
|
+
import { default as default17 } from "../compiled/address";
|
|
19
|
+
import { default as default18 } from "../compiled/signale";
|
|
20
|
+
import { default as default19 } from "../compiled/url-join";
|
|
21
|
+
import { default as default20 } from "../compiled/minimist";
|
|
22
|
+
import { default as default21 } from "../compiled/fast-glob";
|
|
23
|
+
import { default as default22 } from "../compiled/filesize";
|
|
24
|
+
import { default as default23 } from "../compiled/gzip-size";
|
|
25
|
+
import { default as default24 } from "../compiled/strip-ansi";
|
|
26
|
+
import { default as default25 } from "../compiled/dotenv-expand";
|
|
27
|
+
import { default as default26 } from "../compiled/browserslist";
|
|
28
|
+
import { default as default27 } from "../compiled/recursive-readdir";
|
|
29
|
+
import { program, Command } from "../compiled/commander";
|
|
30
|
+
import { Signale } from "../compiled/signale";
|
|
31
|
+
const mime = Import.lazy(
|
|
32
|
+
"../compiled/mime-types",
|
|
33
|
+
require
|
|
34
|
+
);
|
|
35
|
+
const chokidar = Import.lazy(
|
|
36
|
+
"../compiled/chokidar",
|
|
37
|
+
require
|
|
38
|
+
);
|
|
39
|
+
const inquirer = Import.lazy(
|
|
40
|
+
"../compiled/inquirer",
|
|
41
|
+
require
|
|
42
|
+
);
|
|
43
|
+
export {
|
|
44
|
+
Command,
|
|
45
|
+
Signale,
|
|
46
|
+
default17 as address,
|
|
47
|
+
default26 as browserslist,
|
|
48
|
+
default6 as chalk,
|
|
49
|
+
chokidar,
|
|
50
|
+
default7 as debug,
|
|
51
|
+
default14 as dotenv,
|
|
52
|
+
default25 as dotenvExpand,
|
|
53
|
+
default9 as execa,
|
|
54
|
+
default21 as fastGlob,
|
|
55
|
+
default22 as filesize,
|
|
56
|
+
default2 as fs,
|
|
57
|
+
default4 as glob,
|
|
58
|
+
default16 as globby,
|
|
59
|
+
default23 as gzipSize,
|
|
60
|
+
inquirer,
|
|
61
|
+
default10 as json5,
|
|
62
|
+
default15 as lodash,
|
|
63
|
+
mime,
|
|
64
|
+
default20 as minimist,
|
|
65
|
+
nanoid,
|
|
66
|
+
default3 as ora,
|
|
67
|
+
default12 as pkgUp,
|
|
68
|
+
program,
|
|
69
|
+
default27 as recursiveReaddir,
|
|
70
|
+
default13 as semver,
|
|
71
|
+
default18 as signale,
|
|
72
|
+
default8 as slash,
|
|
73
|
+
default24 as stripAnsi,
|
|
74
|
+
default11 as upath,
|
|
75
|
+
default19 as urlJoin,
|
|
76
|
+
default5 as yaml
|
|
77
|
+
};
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
const ROUTE_SPEC_FILE = "route.json";
|
|
2
|
+
const MAIN_ENTRY_NAME = "main";
|
|
3
|
+
const LAUNCH_EDITOR_ENDPOINT = "/__open-stack-frame-in-editor";
|
|
4
|
+
const SERVER_BUNDLE_DIRECTORY = "bundles";
|
|
5
|
+
const SERVER_WORKER_BUNDLE_DIRECTORY = "worker";
|
|
6
|
+
const ENTRY_NAME_PATTERN = "^[a-zA-Z0-9_-]+$";
|
|
7
|
+
const SERVER_RENDER_FUNCTION_NAME = "serverRender";
|
|
8
|
+
const LOADABLE_STATS_FILE = "loadable-stats.json";
|
|
9
|
+
const API_DIR = "api";
|
|
10
|
+
const SERVER_DIR = "server";
|
|
11
|
+
const SHARED_DIR = "shared";
|
|
12
|
+
const CONFIG_CACHE_DIR = "./node_modules/.cache/node-bundle-require";
|
|
13
|
+
const CONFIG_FILE_EXTENSIONS = [".js", ".ts", ".mjs"];
|
|
14
|
+
const OUTPUT_CONFIG_FILE = "modern.config.json";
|
|
15
|
+
const DEFAULT_SERVER_CONFIG = "modern.server-runtime.config";
|
|
16
|
+
const ROUTE_MANIFEST_FILE = "routes-manifest.json";
|
|
17
|
+
const LOADER_ROUTES_DIR = `loader-routes`;
|
|
18
|
+
const DEFAULT_DEV_HOST = "0.0.0.0";
|
|
19
|
+
const INTERNAL_APP_TOOLS_PLUGINS = {
|
|
20
|
+
"@modern-js/app-tools": "@modern-js/app-tools/cli",
|
|
21
|
+
"@modern-js/plugin-proxy": "@modern-js/plugin-proxy/cli",
|
|
22
|
+
"@modern-js/plugin-ssg": "@modern-js/plugin-ssg/cli",
|
|
23
|
+
"@modern-js/plugin-bff": "@modern-js/plugin-bff/cli",
|
|
24
|
+
"@modern-js/plugin-testing": "@modern-js/plugin-testing/cli",
|
|
25
|
+
"@modern-js/plugin-storybook": "@modern-js/plugin-storybook/cli",
|
|
26
|
+
"@modern-js/plugin-express": "@modern-js/plugin-express/cli",
|
|
27
|
+
"@modern-js/plugin-egg": "@modern-js/plugin-egg/cli",
|
|
28
|
+
"@modern-js/plugin-koa": "@modern-js/plugin-koa/cli",
|
|
29
|
+
"@modern-js/plugin-nest": "@modern-js/plugin-nest/cli",
|
|
30
|
+
"@modern-js/plugin-server": "@modern-js/plugin-server/cli",
|
|
31
|
+
"@modern-js/plugin-garfish": "@modern-js/plugin-garfish/cli",
|
|
32
|
+
"@modern-js/plugin-tailwindcss": "@modern-js/plugin-tailwindcss/cli",
|
|
33
|
+
"@modern-js/plugin-polyfill": "@modern-js/plugin-polyfill/cli",
|
|
34
|
+
// legacy router (inner react-router-dom v5)
|
|
35
|
+
"@modern-js/plugin-router-v5": "@modern-js/plugin-router-v5/cli"
|
|
36
|
+
};
|
|
37
|
+
const INTERNAL_APP_TOOLS_RUNTIME_PLUGINS = {
|
|
38
|
+
"@modern-js/runtime": "@modern-js/runtime/cli"
|
|
39
|
+
};
|
|
40
|
+
const INTERNAL_MODULE_TOOLS_PLUGINS = {
|
|
41
|
+
"@modern-js/module-tools": "@modern-js/module-tools",
|
|
42
|
+
"@modern-js/doc-tools": "@modern-js/doc-tools",
|
|
43
|
+
"@modern-js/runtime": "@modern-js/runtime/cli",
|
|
44
|
+
"@modern-js/plugin-testing": "@modern-js/plugin-testing/cli",
|
|
45
|
+
"@modern-js/plugin-storybook": "@modern-js/plugin-storybook/cli",
|
|
46
|
+
"@modern-js/plugin-tailwindcss": "@modern-js/plugin-tailwindcss/cli",
|
|
47
|
+
// TODO: Maybe can remove it
|
|
48
|
+
"@modern-js/plugin-nocode": "@modern-js/plugin-nocode/cli",
|
|
49
|
+
// legacy router (inner react-router-dom v5)
|
|
50
|
+
"@modern-js/plugin-router-legacy": "@modern-js/plugin-router-legacy/cli"
|
|
51
|
+
};
|
|
52
|
+
const INTERNAL_MONOREPO_TOOLS_PLUGINS = {
|
|
53
|
+
"@modern-js/monorepo-tools": "@modern-js/monorepo-tools/cli",
|
|
54
|
+
"@modern-js/plugin-testing": "@modern-js/plugin-testing/cli"
|
|
55
|
+
};
|
|
56
|
+
const INTERNAL_DOC_TOOLS_PLUGINS = {
|
|
57
|
+
"@modern-js/doc-tools": "@modern-js/doc-tools",
|
|
58
|
+
"@modern-js/runtime": "@modern-js/runtime/cli",
|
|
59
|
+
"@modern-js/plugin-testing": "@modern-js/plugin-testing/cli"
|
|
60
|
+
};
|
|
61
|
+
const INTERNAL_CLI_PLUGINS = {
|
|
62
|
+
"@modern-js/app-tools": "@modern-js/app-tools/cli",
|
|
63
|
+
"@modern-js/monorepo-tools": "@modern-js/monorepo-tools/cli",
|
|
64
|
+
"@modern-js/module-tools": "@modern-js/module-tools",
|
|
65
|
+
"@modern-js/doc-tools": "@modern-js/doc-tools",
|
|
66
|
+
"@modern-js/runtime": "@modern-js/runtime/cli",
|
|
67
|
+
"@modern-js/plugin-proxy": "@modern-js/plugin-proxy/cli",
|
|
68
|
+
"@modern-js/plugin-ssg": "@modern-js/plugin-ssg/cli",
|
|
69
|
+
"@modern-js/plugin-bff": "@modern-js/plugin-bff/cli",
|
|
70
|
+
"@modern-js/plugin-testing": "@modern-js/plugin-testing/cli",
|
|
71
|
+
"@modern-js/plugin-storybook": "@modern-js/plugin-storybook/cli",
|
|
72
|
+
"@modern-js/plugin-express": "@modern-js/plugin-express/cli",
|
|
73
|
+
"@modern-js/plugin-egg": "@modern-js/plugin-egg/cli",
|
|
74
|
+
"@modern-js/plugin-koa": "@modern-js/plugin-koa/cli",
|
|
75
|
+
"@modern-js/plugin-nest": "@modern-js/plugin-nest/cli",
|
|
76
|
+
"@modern-js/plugin-server": "@modern-js/plugin-server/cli",
|
|
77
|
+
"@modern-js/plugin-swc": "@modern-js/plugin-swc",
|
|
78
|
+
"@modern-js/plugin-garfish": "@modern-js/plugin-garfish/cli",
|
|
79
|
+
"@modern-js/plugin-tailwindcss": "@modern-js/plugin-tailwindcss/cli",
|
|
80
|
+
"@modern-js/plugin-polyfill": "@modern-js/plugin-polyfill/cli",
|
|
81
|
+
// TODO: Maybe can remove it
|
|
82
|
+
"@modern-js/plugin-nocode": "@modern-js/plugin-nocode/cli",
|
|
83
|
+
// legacy router (inner react-router-dom v5)
|
|
84
|
+
"@modern-js/plugin-router-v5": "@modern-js/plugin-router-v5/cli"
|
|
85
|
+
};
|
|
86
|
+
const SERVER_PLUGIN_BFF = "@modern-js/plugin-bff";
|
|
87
|
+
const SERVER_PLUGIN_EXPRESS = "@modern-js/plugin-express";
|
|
88
|
+
const SERVER_PLUGIN_EGG = "@modern-js/plugin-egg";
|
|
89
|
+
const SERVER_PLUGIN_KOA = "@modern-js/plugin-koa";
|
|
90
|
+
const SERVER_PLUGIN_NEST = "@modern-js/plugin-nest";
|
|
91
|
+
const SERVER_PLUGIN_SERVER = "@modern-js/plugin-server";
|
|
92
|
+
const SERVER_PLUGIN_POLYFILL = "@modern-js/plugin-polyfill";
|
|
93
|
+
const INTERNAL_SERVER_PLUGINS = {
|
|
94
|
+
[SERVER_PLUGIN_BFF]: "@modern-js/plugin-bff/server",
|
|
95
|
+
[SERVER_PLUGIN_EXPRESS]: "@modern-js/plugin-express/server",
|
|
96
|
+
[SERVER_PLUGIN_EGG]: "@modern-js/plugin-egg/server",
|
|
97
|
+
[SERVER_PLUGIN_KOA]: "@modern-js/plugin-koa/server",
|
|
98
|
+
[SERVER_PLUGIN_NEST]: "@modern-js/plugin-nest/server",
|
|
99
|
+
[SERVER_PLUGIN_SERVER]: "@modern-js/plugin-server/server",
|
|
100
|
+
[SERVER_PLUGIN_POLYFILL]: "@modern-js/plugin-polyfill/server"
|
|
101
|
+
};
|
|
102
|
+
const PLUGIN_SCHEMAS = {
|
|
103
|
+
"@modern-js/runtime": [
|
|
104
|
+
{
|
|
105
|
+
target: "runtime",
|
|
106
|
+
schema: {
|
|
107
|
+
type: "object",
|
|
108
|
+
additionalProperties: false
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
target: "runtimeByEntries",
|
|
113
|
+
schema: {
|
|
114
|
+
type: "object",
|
|
115
|
+
patternProperties: { [ENTRY_NAME_PATTERN]: { type: "object" } },
|
|
116
|
+
additionalProperties: false
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
],
|
|
120
|
+
"@modern-js/plugin-swc": [
|
|
121
|
+
{
|
|
122
|
+
target: "tools.swc",
|
|
123
|
+
schema: { typeof: ["object"] }
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
"@modern-js/plugin-bff": [
|
|
127
|
+
{
|
|
128
|
+
target: "bff",
|
|
129
|
+
schema: {
|
|
130
|
+
type: "object",
|
|
131
|
+
properties: {
|
|
132
|
+
prefix: {
|
|
133
|
+
type: ["string", "array"],
|
|
134
|
+
items: { type: "string" }
|
|
135
|
+
},
|
|
136
|
+
fetcher: { type: "string" },
|
|
137
|
+
proxy: { type: "object" },
|
|
138
|
+
requestCreator: { type: "string" }
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"@modern-js/plugin-tailwindcss": [
|
|
144
|
+
{
|
|
145
|
+
target: "tools.tailwindcss",
|
|
146
|
+
schema: { typeof: ["object", "function"] }
|
|
147
|
+
}
|
|
148
|
+
],
|
|
149
|
+
"@modern-js/plugin-proxy": [
|
|
150
|
+
{
|
|
151
|
+
target: "dev.proxy",
|
|
152
|
+
schema: { typeof: ["string", "object"] }
|
|
153
|
+
}
|
|
154
|
+
],
|
|
155
|
+
"@modern-js/plugin-ssg": [
|
|
156
|
+
{
|
|
157
|
+
target: "output.ssg",
|
|
158
|
+
schema: {
|
|
159
|
+
oneOf: [
|
|
160
|
+
{ type: "boolean" },
|
|
161
|
+
{ type: "object" },
|
|
162
|
+
{ instanceof: "Function" }
|
|
163
|
+
]
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
"@modern-js/plugin-state": [
|
|
168
|
+
{
|
|
169
|
+
target: "runtime.state",
|
|
170
|
+
schema: { type: ["boolean", "object"] }
|
|
171
|
+
}
|
|
172
|
+
],
|
|
173
|
+
"@modern-js/plugin-design-token": [
|
|
174
|
+
// Legacy Features
|
|
175
|
+
{
|
|
176
|
+
target: "source.designSystem",
|
|
177
|
+
schema: { typeof: ["object"] }
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
target: "source.designSystem.supportStyledComponents",
|
|
181
|
+
schema: { type: ["boolean"] }
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
target: "designSystem",
|
|
185
|
+
schema: { typeof: ["object"] }
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
"@modern-js/plugin-router": [
|
|
189
|
+
{
|
|
190
|
+
target: "runtime.router",
|
|
191
|
+
schema: { type: ["boolean", "object"] }
|
|
192
|
+
}
|
|
193
|
+
],
|
|
194
|
+
"@modern-js/plugin-testing": [
|
|
195
|
+
{
|
|
196
|
+
target: "testing",
|
|
197
|
+
schema: { typeof: ["object"] }
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
target: "tools.jest",
|
|
201
|
+
schema: { typeof: ["object", "function"] }
|
|
202
|
+
}
|
|
203
|
+
],
|
|
204
|
+
"@modern-js/plugin-garfish": [
|
|
205
|
+
{
|
|
206
|
+
target: "runtime.masterApp",
|
|
207
|
+
schema: { type: ["boolean", "object"] }
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
target: "dev.withMasterApp",
|
|
211
|
+
schema: { type: ["object"] }
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
target: "deploy.microFrontend",
|
|
215
|
+
schema: { type: ["boolean", "object"] }
|
|
216
|
+
}
|
|
217
|
+
],
|
|
218
|
+
"@modern-js/plugin-nocode": []
|
|
219
|
+
};
|
|
220
|
+
const DEFAULT_BABEL_PRESET_TYPESCRIPT_OPTIONS = {
|
|
221
|
+
allowNamespaces: true,
|
|
222
|
+
allExtensions: true,
|
|
223
|
+
allowDeclareFields: true,
|
|
224
|
+
// aligns Babel's behavior with TypeScript's default behavior.
|
|
225
|
+
// https://babeljs.io/docs/en/babel-preset-typescript#optimizeconstenums
|
|
226
|
+
optimizeConstEnums: true,
|
|
227
|
+
isTSX: true
|
|
228
|
+
};
|
|
229
|
+
export {
|
|
230
|
+
API_DIR,
|
|
231
|
+
CONFIG_CACHE_DIR,
|
|
232
|
+
CONFIG_FILE_EXTENSIONS,
|
|
233
|
+
DEFAULT_BABEL_PRESET_TYPESCRIPT_OPTIONS,
|
|
234
|
+
DEFAULT_DEV_HOST,
|
|
235
|
+
DEFAULT_SERVER_CONFIG,
|
|
236
|
+
ENTRY_NAME_PATTERN,
|
|
237
|
+
INTERNAL_APP_TOOLS_PLUGINS,
|
|
238
|
+
INTERNAL_APP_TOOLS_RUNTIME_PLUGINS,
|
|
239
|
+
INTERNAL_CLI_PLUGINS,
|
|
240
|
+
INTERNAL_DOC_TOOLS_PLUGINS,
|
|
241
|
+
INTERNAL_MODULE_TOOLS_PLUGINS,
|
|
242
|
+
INTERNAL_MONOREPO_TOOLS_PLUGINS,
|
|
243
|
+
INTERNAL_SERVER_PLUGINS,
|
|
244
|
+
LAUNCH_EDITOR_ENDPOINT,
|
|
245
|
+
LOADABLE_STATS_FILE,
|
|
246
|
+
LOADER_ROUTES_DIR,
|
|
247
|
+
MAIN_ENTRY_NAME,
|
|
248
|
+
OUTPUT_CONFIG_FILE,
|
|
249
|
+
PLUGIN_SCHEMAS,
|
|
250
|
+
ROUTE_MANIFEST_FILE,
|
|
251
|
+
ROUTE_SPEC_FILE,
|
|
252
|
+
SERVER_BUNDLE_DIRECTORY,
|
|
253
|
+
SERVER_DIR,
|
|
254
|
+
SERVER_PLUGIN_BFF,
|
|
255
|
+
SERVER_PLUGIN_EGG,
|
|
256
|
+
SERVER_PLUGIN_EXPRESS,
|
|
257
|
+
SERVER_PLUGIN_KOA,
|
|
258
|
+
SERVER_PLUGIN_NEST,
|
|
259
|
+
SERVER_PLUGIN_POLYFILL,
|
|
260
|
+
SERVER_PLUGIN_SERVER,
|
|
261
|
+
SERVER_RENDER_FUNCTION_NAME,
|
|
262
|
+
SERVER_WORKER_BUNDLE_DIRECTORY,
|
|
263
|
+
SHARED_DIR
|
|
264
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const tagObjectToString = (tagDefinition) => {
|
|
2
|
+
const attributes = Object.keys(tagDefinition.attributes || {}).filter((attributeName) => tagDefinition.attributes[attributeName] !== false).map((attributeName) => {
|
|
3
|
+
if (tagDefinition.attributes[attributeName] === true) {
|
|
4
|
+
return attributeName;
|
|
5
|
+
}
|
|
6
|
+
return `${attributeName}="${tagDefinition.attributes[attributeName]}"`;
|
|
7
|
+
});
|
|
8
|
+
return `<${[tagDefinition.tagName].concat(attributes).join(" ")}>${tagDefinition.innerHTML || ""}${tagDefinition.voidTag ? "" : `</${tagDefinition.tagName}>`}`;
|
|
9
|
+
};
|
|
10
|
+
const generateMetaTags = (metaOptions) => {
|
|
11
|
+
if (!metaOptions) {
|
|
12
|
+
return "";
|
|
13
|
+
}
|
|
14
|
+
const metaTagAttributeObjects = Object.keys(metaOptions).map((metaName) => {
|
|
15
|
+
const metaTagContent = metaOptions[metaName];
|
|
16
|
+
return typeof metaTagContent === "string" ? {
|
|
17
|
+
name: metaName,
|
|
18
|
+
content: metaTagContent
|
|
19
|
+
} : metaTagContent;
|
|
20
|
+
}).filter((attribute) => attribute !== false);
|
|
21
|
+
return metaTagAttributeObjects.map((metaTagAttributes) => {
|
|
22
|
+
if (metaTagAttributes === false) {
|
|
23
|
+
throw new Error("Invalid meta tag");
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
tagName: "meta",
|
|
27
|
+
voidTag: true,
|
|
28
|
+
attributes: metaTagAttributes
|
|
29
|
+
};
|
|
30
|
+
}).reduce(
|
|
31
|
+
(memo, tagObject) => `${memo}
|
|
32
|
+
${tagObjectToString(tagObject)}`,
|
|
33
|
+
""
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
export {
|
|
37
|
+
generateMetaTags
|
|
38
|
+
};
|