@@ -4,52 +4,20 @@ import {
44 type RspackPluginInstance ,
55 type RuleSetRule
66} from "@rspack/core"
7- import path from "path"
7+ import path , { join } from "path"
88import postcssRTLCSS from 'postcss-rtlcss'
99import i18nChrome from "../src/i18n/chrome"
10- import tsConfig from '../tsconfig.json'
1110import { GenerateJsonPlugin } from "./plugins/generate-json"
1211
1312export const MANIFEST_JSON_NAME = "manifest.json"
1413
15- const tsPathAlias = tsConfig . compilerOptions . paths
16-
1714const generateJsonPlugins : RspackPluginInstance [ ] = [ ]
1815
1916const localeJsonFiles = Object . entries ( i18nChrome )
2017 . map ( ( [ locale , message ] ) => new GenerateJsonPlugin ( `_locales/${ locale } /messages.json` , message ) )
2118 . map ( plugin => plugin as unknown as RspackPluginInstance )
2219generateJsonPlugins . push ( ...localeJsonFiles )
2320
24- // Process the alias of typescript modules
25- const resolveAlias : { [ index : string ] : string | false | string [ ] } = { }
26- const aliasPattern = / ^ ( @ .* ) \/ \* $ /
27- const sourcePattern = / ^ ( s r c ( \/ .* ) ? ) \/ \* $ /
28- Object . entries ( tsPathAlias ) . forEach ( ( [ alias , sourceArr ] ) => {
29- if ( ! sourceArr . length ) {
30- return
31- }
32- const aliasMatchRes = alias . match ( aliasPattern )
33- if ( ! aliasMatchRes ) {
34- // Only process the alias starts with '@'
35- return
36- }
37- const [ , index ] = aliasMatchRes
38- const rspackSourceArr : string [ ] = [ ]
39- sourceArr . forEach ( source => {
40- const matchRes = source . match ( sourcePattern )
41- if ( ! matchRes ) {
42- // Only set alias which is in /src folder
43- return
44- }
45- const [ , folder ] = matchRes
46- rspackSourceArr . push ( path . resolve ( __dirname , '..' , folder ) )
47- } )
48- resolveAlias [ index ] = rspackSourceArr
49- } )
50- console . log ( "Alias of typescript: " )
51- console . log ( resolveAlias )
52-
5321type EntryConfig = {
5422 name : string
5523 path : string
@@ -140,7 +108,7 @@ const staticOptions: Configuration = {
140108 } ,
141109 resolve : {
142110 extensions : [ '.ts' , '.tsx' , ".js" , '.css' , '.scss' , '.sass' ] ,
143- alias : resolveAlias ,
111+ tsConfig : join ( __dirname , '..' , 'tsconfig.json' ) ,
144112 fallback : {
145113 // fallbacks of axios's dependencies start
146114 stream : require . resolve ( 'stream-browserify' ) ,
0 commit comments