Skip to content

Commit b14d465

Browse files
committed
Use SWC
1 parent d436dc4 commit b14d465

File tree

3 files changed

+217
-14
lines changed

3 files changed

+217
-14
lines changed

packages/@glimmer-workspace/build/lib/config.js

Lines changed: 73 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -86,26 +86,87 @@ export function typescript(pkg, config) {
8686
},
8787
};
8888

89-
/** @type {[string, object][]} */
90-
const presets = [['@babel/preset-typescript', { allowDeclareFields: true }]];
91-
9289
const ts = tsconfig(typeScriptConfig);
9390

9491
/**
9592
* TODO: migrate off of rollupTS, it has too many bugs
9693
*/
9794
return rollupTS({
98-
transpiler: 'babel',
95+
transpiler: 'swc',
9996
transpileOnly: true,
100-
babelConfig: {
101-
presets,
102-
plugins: [require.resolve('@glimmer/local-debug-babel-plugin')],
97+
swcConfig: {
98+
jsc: {
99+
parser: {
100+
syntax: 'typescript',
101+
tsx: false,
102+
},
103+
target: 'es2022',
104+
loose: false,
105+
minify: {
106+
compress: {
107+
arguments: false,
108+
arrows: true,
109+
booleans: true,
110+
booleans_as_integers: false,
111+
collapse_vars: true,
112+
comparisons: true,
113+
computed_props: true,
114+
conditionals: true,
115+
dead_code: true,
116+
directives: true,
117+
drop_console: false,
118+
drop_debugger: true,
119+
evaluate: true,
120+
expression: false,
121+
hoist_funs: false,
122+
hoist_props: true,
123+
hoist_vars: false,
124+
if_return: true,
125+
join_vars: true,
126+
keep_classnames: false,
127+
keep_fargs: true,
128+
keep_fnames: false,
129+
keep_infinity: false,
130+
loops: true,
131+
negate_iife: true,
132+
properties: true,
133+
reduce_funcs: false,
134+
reduce_vars: false,
135+
side_effects: true,
136+
switches: true,
137+
typeofs: true,
138+
unsafe: false,
139+
unsafe_arrows: false,
140+
unsafe_comps: false,
141+
unsafe_Function: false,
142+
unsafe_math: false,
143+
unsafe_symbols: false,
144+
unsafe_methods: false,
145+
unsafe_proto: false,
146+
unsafe_regexp: false,
147+
unsafe_undefined: false,
148+
unused: true,
149+
const_to_let: true,
150+
pristine_globals: true,
151+
},
152+
mangle: false,
153+
},
154+
transform: {
155+
constModules: {
156+
globals: {
157+
debug: {
158+
'import.meta.env.VM_LOCAL_DEV': 'false',
159+
},
160+
},
161+
},
162+
},
163+
},
164+
module: {
165+
type: 'es6',
166+
},
167+
minify: false,
168+
isModule: true,
103169
},
104-
/**
105-
* This shouldn't be required, but it is.
106-
* If we use @rollup/plugin-babel, we can remove this.
107-
*/
108-
browserslist: [`last 1 chrome versions`],
109170
tsconfig: ts,
110171
});
111172
}

packages/@glimmer-workspace/build/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
"@rollup/plugin-node-resolve": "^15.2.3",
1919
"@rollup/plugin-replace": "^5.0.5",
2020
"@rollup/plugin-terser": "^0.4.4",
21+
"@swc/core": "^1.7.26",
22+
"@swc/helpers": "^0.5.13",
2123
"eslint": "^8.52.0",
2224
"eslint-plugin-import": "^2.29.0",
2325
"eslint-plugin-json": "^3.1.0",

pnpm-lock.yaml

Lines changed: 142 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)