Skip to content

Commit

Permalink
chore: upgrade rspack version
Browse files Browse the repository at this point in the history
  • Loading branch information
ZLY201 committed May 22, 2024
1 parent 05959fb commit 6e4ab6e
Show file tree
Hide file tree
Showing 6 changed files with 338 additions and 890 deletions.
2 changes: 1 addition & 1 deletion html/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
</head>
<body>
<script>try{if(JSON.parse(localStorage.getItem('__setting_cache__')).theme==='dark'){document.body.setAttribute('arco-theme','dark');}}catch{}</script>
<div id="root">{% ROOT_CONTENT %}</div>
<div id="root"><section class="arco-layout typescript-tutorial-exercises-__src_index_module_less-container"><header class="arco-layout-header typescript-tutorial-exercises-__src_index_module_less-header"><div class="typescript-tutorial-exercises-__src_modules_Header_index_module_less-container"><div class="typescript-tutorial-exercises-__src_modules_Header_index_module_less-icon"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" class="arco-icon arco-icon-menu-unfold"><path d="M6 11h36M22 24h20M6 37h36M8 20.882 12.819 24 8 27.118v-6.236Z"></path></svg></div><div class="typescript-tutorial-exercises-__src_modules_Header_index_module_less-icon"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" class="arco-icon arco-icon-left"><path d="M32 8.4 16.444 23.956 32 39.513"></path></svg></div><div class="typescript-tutorial-exercises-__src_modules_Header_index_module_less-icon"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" class="arco-icon arco-icon-right"><path d="m16 39.513 15.556-15.557L16 8.4"></path></svg></div><div class="typescript-tutorial-exercises-__src_modules_Header_index_module_less-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" fill-rule="evenodd" stroke="currentColor" clip-rule="evenodd"><path d="m21.67 3.955-2.825-2.202L19.51 1l4.478 3.497L19.514 8l-.665-.753 2.942-2.292h-4.162c-3.547.043-5.202 3.405-6.913 7.023 1.711 3.617 3.366 6.979 6.913 7.022h4.099l-2.883-2.247.665-.753 4.478 3.497L19.514 23l-.665-.753L21.733 20h-4.11c-3.896-.048-5.784-3.369-7.461-6.858C8.475 16.652 6.57 19.984 2.623 20H0v-1h2.621c3.6-.014 5.268-3.387 6.988-7.022-1.72-3.636-3.388-7.009-6.988-7.023H0v-1h2.623c3.947.016 5.852 3.348 7.539 6.858 1.677-3.489 3.565-6.81 7.461-6.858h4.047z"></path></svg></div><div style="margin-left:auto"></div><div class="typescript-tutorial-exercises-__src_modules_Header_index_module_less-icon"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" class="arco-icon arco-icon-settings"><path d="M18.797 6.732A1 1 0 0 1 19.76 6h8.48a1 1 0 0 1 .964.732l1.285 4.628a1 1 0 0 0 1.213.7l4.651-1.2a1 1 0 0 1 1.116.468l4.24 7.344a1 1 0 0 1-.153 1.2L38.193 23.3a1 1 0 0 0 0 1.402l3.364 3.427a1 1 0 0 1 .153 1.2l-4.24 7.344a1 1 0 0 1-1.116.468l-4.65-1.2a1 1 0 0 0-1.214.7l-1.285 4.628a1 1 0 0 1-.964.732h-8.48a1 1 0 0 1-.963-.732L17.51 36.64a1 1 0 0 0-1.213-.7l-4.65 1.2a1 1 0 0 1-1.116-.468l-4.24-7.344a1 1 0 0 1 .153-1.2L9.809 24.7a1 1 0 0 0 0-1.402l-3.364-3.427a1 1 0 0 1-.153-1.2l4.24-7.344a1 1 0 0 1 1.116-.468l4.65 1.2a1 1 0 0 0 1.213-.7l1.286-4.628Z"></path><path d="M30 24a6 6 0 1 1-12 0 6 6 0 0 1 12 0Z"></path></svg></div><a style="color:inherit" class="typescript-tutorial-exercises-__src_modules_Header_index_module_less-icon" href="https://github.com/typescript-tutorial-exercises" target="_blank" rel="noreferrer"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" class="arco-icon arco-icon-github"><path fill="currentColor" stroke="none" d="M.056 24.618c0 10.454 6.7 19.344 16.038 22.608 1.259.32 1.067-.582 1.067-1.19v-4.148c-7.265.853-7.553-3.957-8.043-4.758-.987-1.686-3.312-2.112-2.62-2.912 1.654-.853 3.34.213 5.291 3.1 1.413 2.09 4.166 1.738 5.562 1.385a6.777 6.777 0 0 1 1.856-3.253C11.687 34.112 8.55 29.519 8.55 24.057c0-2.646.874-5.082 2.586-7.045-1.088-3.243.102-6.01.26-6.422 3.11-.282 6.337 2.225 6.587 2.421 1.766-.474 3.782-.73 6.038-.73 2.266 0 4.293.26 6.069.74.603-.458 3.6-2.608 6.49-2.345.155.41 1.317 3.12.294 6.315 1.734 1.968 2.62 4.422 2.62 7.077 0 5.472-3.158 10.07-10.699 11.397a6.82 6.82 0 0 1 2.037 4.875v6.02c.042.48 0 .96.806.96 9.477-3.194 16.299-12.15 16.299-22.697C47.938 11.396 37.218.68 23.996.68 10.77.675.055 11.391.055 24.617l.001.001Z"></path></svg></a></div></header><section class="arco-layout arco-layout-has-sider typescript-tutorial-exercises-__src_index_module_less-content"><aside style="width:40%" class="arco-resizebox arco-layout-sider arco-layout-sider-light typescript-tutorial-exercises-__src_index_module_less-left"><div class="arco-layout-sider-children"><div class="typescript-tutorial-exercises-__src_modules_Question_index_module_less-container"><div class="arco-tabs arco-tabs-horizontal arco-tabs-card arco-tabs-top arco-tabs-size-default typescript-tutorial-exercises-__src_components_CustomTabs_index_module_less-tabs"><div class="arco-tabs-header-nav arco-tabs-header-nav-horizontal arco-tabs-header-nav-top arco-tabs-header-size-default arco-tabs-header-nav-card"><div class="arco-tabs-header-scroll"><div class="arco-tabs-header-wrapper"><div class="arco-tabs-header" style="transform:translateX(0px);-webkit-transform:translateX(0px);-ms-transform:translateX(0px);-moz-transform:translateX(0px);-o-transform:translateX(0px)"><div class="arco-tabs-header-title arco-tabs-header-title-active" role="tab" aria-selected="true" tabindex="0"><span class="arco-tabs-header-title-text">Description</span></div><div class="arco-tabs-header-title" role="tab" aria-selected="false" tabindex="0"><span class="arco-tabs-header-title-text">Records</span></div><div class="arco-tabs-header-title" role="tab" aria-selected="false" tabindex="0"><span class="arco-tabs-header-title-text">tutorial</span></div></div></div></div></div><div class="arco-tabs-content arco-tabs-content-horizontal"><div class="arco-tabs-content-inner" style="margin-left:-0%"><div class="arco-tabs-content-item arco-tabs-content-item-active" role="tabpanel" tabindex="0"><div class="arco-tabs-pane"><div class="typescript-tutorial-exercises-__src_modules_Question_index_module_less-desc-container"><div class="typescript-tutorial-exercises-__src_modules_Question_index_module_less-desc-container-inner"><div class="typescript-tutorial-exercises-__src_modules_Question_index_module_less-desc-header"><div class="typescript-tutorial-exercises-__src_modules_Question_index_module_less-desc-title"><span>Hello, world!</span></div></div><div></div><div class="arco-skeleton arco-skeleton-animate typescript-tutorial-exercises-__src_modules_Question_index_module_less-desc-skeleton"><div class="arco-skeleton-content"><ul class="arco-skeleton-text"><li class="arco-skeleton-text-row"></li><li class="arco-skeleton-text-row"></li><li class="arco-skeleton-text-row" style="width:60%"></li></ul></div></div></div><div class="typescript-tutorial-exercises-__src_modules_Question_index_module_less-desc-footer"><a href="https://github.com/ZLY201" target="_blank" rel="noreferrer">Provided By @<!-- -->ZLY201</a></div></div></div></div><div class="arco-tabs-content-item" role="tabpanel" aria-hidden="true" tabindex="-1"></div><div class="arco-tabs-content-item" role="tabpanel" aria-hidden="true" tabindex="-1"></div></div></div></div></div></div><div class="arco-resizebox-trigger arco-resizebox-trigger-vertical arco-resizebox-direction-right"><div class="arco-resizebox-trigger-icon-wrapper"><span class="arco-resizebox-trigger-icon-empty"></span><span class="arco-resizebox-trigger-icon"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" class="arco-icon arco-icon-drag-dot-vertical"><path fill="currentColor" stroke="none" d="M17 8h2v2h-2V8ZM17 23h2v2h-2v-2ZM17 38h2v2h-2v-2ZM29 8h2v2h-2V8ZM29 23h2v2h-2v-2ZM29 38h2v2h-2v-2Z"></path><path d="M17 8h2v2h-2V8ZM17 23h2v2h-2v-2ZM17 38h2v2h-2v-2ZM29 8h2v2h-2V8ZM29 23h2v2h-2v-2ZM29 38h2v2h-2v-2Z"></path></svg></span><span class="arco-resizebox-trigger-icon-empty"></span></div></div></aside><main class="arco-layout-content typescript-tutorial-exercises-__src_index_module_less-right"><section class="arco-layout arco-layout-has-sider typescript-tutorial-exercises-__src_index_module_less-right-layout"><main class="arco-layout-content typescript-tutorial-exercises-__src_index_module_less-right-layout-top"><div class="typescript-tutorial-exercises-__src_modules_Editor_index_module_less-container"><div class="typescript-tutorial-exercises-__src_modules_Editor_index_module_less-header"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" class="arco-icon arco-icon-code"><path d="M16.734 12.686 5.42 24l11.314 11.314m14.521-22.628L42.57 24 31.255 35.314M27.2 6.28l-6.251 35.453"></path></svg><span style="margin-left:5px">Code</span><a class="typescript-tutorial-exercises-__src_modules_Editor_index_module_less-reset"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" class="arco-icon arco-icon-undo"><path d="m15.322 23.78-7.778-7.778 7.778-7.778M8.81 16H29.5C35.851 16 41 21.15 41 27.5 41 33.852 35.851 39 29.5 39H17"></path></svg></a></div><div class="arco-skeleton arco-skeleton-animate typescript-tutorial-exercises-__src_modules_Editor_index_module_less-skeleton"><div class="arco-skeleton-content"><ul class="arco-skeleton-text"><li class="arco-skeleton-text-row"></li><li class="arco-skeleton-text-row"></li><li class="arco-skeleton-text-row" style="width:60%"></li></ul></div></div></div></main><aside style="width:200px" class="arco-resizebox arco-layout-sider arco-layout-sider-light typescript-tutorial-exercises-__src_index_module_less-right-layout-bottom"><div class="arco-layout-sider-children"><div class="arco-skeleton arco-skeleton-animate typescript-tutorial-exercises-__src_modules_Results_index_module_less-skeleton"><div class="arco-skeleton-content"><ul class="arco-skeleton-text"><li class="arco-skeleton-text-row"></li><li class="arco-skeleton-text-row"></li><li class="arco-skeleton-text-row" style="width:60%"></li></ul></div></div></div><div class="arco-resizebox-trigger arco-resizebox-trigger-horizontal arco-resizebox-direction-top"><div class="arco-resizebox-trigger-icon-wrapper"><span class="arco-resizebox-trigger-icon-empty"></span><span class="arco-resizebox-trigger-icon"><svg fill="none" stroke="currentColor" stroke-width="4" viewBox="0 0 48 48" aria-hidden="true" focusable="false" class="arco-icon arco-icon-drag-dot"><path fill="currentColor" stroke="none" d="M40 17v2h-2v-2h2ZM25 17v2h-2v-2h2ZM10 17v2H8v-2h2ZM40 29v2h-2v-2h2ZM25 29v2h-2v-2h2ZM10 29v2H8v-2h2Z"></path><path d="M40 17v2h-2v-2h2ZM25 17v2h-2v-2h2ZM10 17v2H8v-2h2ZM40 29v2h-2v-2h2ZM25 29v2h-2v-2h2ZM10 29v2H8v-2h2Z"></path></svg></span><span class="arco-resizebox-trigger-icon-empty"></span></div></div></aside></section></main></section><footer class="arco-layout-footer typescript-tutorial-exercises-__src_index_module_less-footer"><div class="typescript-tutorial-exercises-__src_modules_Footer_index_module_less-container"><a href="https://github.com/typescript-tutorial-exercises" target="_blank" rel="noreferrer">copyright © 2023-Present typescript-tutorial-exercises</a></div></footer></section></div>
</body>
</html>
10 changes: 4 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
"*.less"
],
"dependencies": {
"@arco-design/theme-line": "^0.0.3",
"@arco-design/web-react": "^2.53.2",
"@monaco-editor/react": "^4.6.0",
"axios": "^1.5.1",
Expand All @@ -49,12 +48,13 @@
"rehype-katex": "^6.0.3",
"remark-math": "^6.0.0",
"styled-components": "^6.1.0",
"ts-deepmerge": "^7.0.0",
"type-assertions": "^1.1.0"
},
"devDependencies": {
"@arco-plugins/unplugin-react": "^1.0.0-alpha.1",
"@rspack/cli": "^0.3.5",
"@rspack/plugin-html": "^0.3.11",
"@rspack/cli": "^0.6.5",
"@rspack/core": "^0.6.5",
"@rspack/plugin-html": "^0.5.8",
"@svgr/webpack": "^8.1.0",
"@types/event-emitter": "^0.3.4",
"@types/lodash.debounce": "^4.0.7",
Expand All @@ -68,7 +68,6 @@
"@typescript-eslint/parser": "^6.7.3",
"browserslist": "^4.22.1",
"commitlint": "^17.7.1",
"css-loader": "^6.8.1",
"eslint": "^8.50.0",
"eslint-config-prettier": "^9.0.0",
"eslint-import-resolver-alias": "^1.1.2",
Expand All @@ -85,7 +84,6 @@
"monaco-editor": "^0.44.0",
"prettier": "^3.0.3",
"prompts": "^2.4.2",
"style-loader": "^3.3.3",
"ts-node": "^10.9.1",
"typescript": "^5.2.2"
},
Expand Down
60 changes: 47 additions & 13 deletions tools/rspack.base.config.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import path from 'path';
import type { Configuration } from '@rspack/cli';
import type { SwcLoaderOptions } from '@rspack/core';

export default function createBaseRspackConfig(): Configuration {
const mode = process.env.NODE_ENV as Configuration['mode'];
return {
context: path.resolve(__dirname, '..'),
mode,
output: {
path: './dist',
filename: '[name].[contenthash:8].bundle.js',
Expand All @@ -12,19 +14,20 @@ export default function createBaseRspackConfig(): Configuration {
},
resolve: {
alias: {
'@config': './config',
'@problems': './problems',
'@src': './src',
'@config': path.resolve(__dirname, '../config'),
'@problems': path.resolve(__dirname, '../problems'),
'@src': path.resolve(__dirname, '../src'),
},
extensions: ['...', 'js', '.ts', 'jsx', '.tsx'],
},
builtins: {
css: {
modules: {
localIdentName: '[path][name]__[local]--[hash:6]',
},
},
experiments: {
css: true,
},
module: {
parser: {
css: { namedExports: false },
'css/module': { namedExports: false },
},
rules: [
{
resourceQuery: /url$/,
Expand All @@ -34,6 +37,11 @@ export default function createBaseRspackConfig(): Configuration {
resourceQuery: /raw$/,
type: 'asset/source',
},
{
test: /\.svg$/,
issuer: /\.[jt]sx?$/,
use: ['@svgr/webpack'],
},
{
test: /\.less$/i,
use: [
Expand Down Expand Up @@ -63,9 +71,35 @@ export default function createBaseRspackConfig(): Configuration {
type: 'css/module',
},
{
test: /\.svg$/,
issuer: /\.[jt]sx?$/,
use: ['@svgr/webpack'],
test: /\.(jsx?|tsx?)$/,
exclude: [/problems\//],
use: [
{
loader: 'builtin:swc-loader',
options: {
jsc: {
parser: {
syntax: 'typescript',
tsx: true,
},
transform: {
react: {
runtime: 'automatic',
},
},
},
rspackExperiments: {
import: [
{
libraryName: '@arco-design/web-react',
customName: '@arco-design/web-react/es/{{ member }}',
style: true,
},
],
},
} as SwcLoaderOptions,
},
],
},
],
},
Expand Down
12 changes: 3 additions & 9 deletions tools/rspack.config.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
import type { Configuration } from '@rspack/cli';
import HtmlRspackPlugin from '@rspack/plugin-html';
import { CopyRspackPlugin, DefinePlugin } from '@rspack/core';
import { ArcoDesignPlugin } from '@arco-plugins/unplugin-react';
import { merge as deepmerge } from 'ts-deepmerge';
import RspackSSRPlugin from './RspackSSRPlugin';
import createBaseRspackConfig from './rspack.base.config';

export default function createRspackConfig(): Configuration {
const baseConfig = createBaseRspackConfig();
const mode = process.env.NODE_ENV as Configuration['mode'];
const template = './html/index.html';
return {
...baseConfig,
mode,
return deepmerge<[Configuration, Configuration]>(baseConfig, {
stats: mode === 'production',
entry: {
main: './src/main.tsx',
Expand Down Expand Up @@ -45,10 +43,6 @@ export default function createRspackConfig(): Configuration {
new DefinePlugin({
WEBPACK_IS_SSR: false,
}),
new ArcoDesignPlugin({
style: 'css',
theme: '@arco-design/theme-line',
}),
],
optimization: {
splitChunks: {
Expand Down Expand Up @@ -79,5 +73,5 @@ export default function createRspackConfig(): Configuration {
},
},
},
};
});
}
8 changes: 3 additions & 5 deletions tools/rspack.ssr.config.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
import type { Configuration } from '@rspack/cli';
import { HtmlRspackPlugin, DefinePlugin } from '@rspack/core';
import { merge as deepmerge } from 'ts-deepmerge';
import createBaseRspackConfig from './rspack.base.config';

export default function createSSRRspackConfig(): Configuration {
const baseConfig = createBaseRspackConfig();
const mode = process.env.NODE_ENV as Configuration['mode'];
return {
...baseConfig,
mode,
return deepmerge<[Configuration, Configuration]>(baseConfig, {
target: 'node',
entry: {
ssr: './src/ssr.tsx',
Expand All @@ -28,5 +26,5 @@ export default function createSSRRspackConfig(): Configuration {
WEBPACK_IS_SSR: true,
}),
],
};
});
}
Loading

0 comments on commit 6e4ab6e

Please sign in to comment.