Skip to content

Commit 7d7ef8f

Browse files
committed
chore: added esbuild plugin to support ts for local dev and test
1 parent 1616ec3 commit 7d7ef8f

File tree

4 files changed

+19
-5
lines changed

4 files changed

+19
-5
lines changed

dev/index.html

+1-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@
44
<head>
55
<meta charset="utf-8" />
66
<title>&lt;my-element> Demo</title>
7-
<script src="../node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>
8-
<script src="../node_modules/lit/polyfill-support.js"></script>
9-
<script type="module" src="../my-element.js"></script>
7+
<script type="module" src="../src/my-element.ts"></script>
108
<style>
119
p {
1210
border: solid 1px blue;

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
"@typescript-eslint/eslint-plugin": "^5.25.0",
5454
"@typescript-eslint/parser": "^5.25.0",
5555
"@web/dev-server": "^0.1.31",
56+
"@web/dev-server-esbuild": "^0.3.4",
5657
"@web/dev-server-legacy": "^1.0.0",
5758
"@web/test-runner": "^0.15.0",
5859
"@web/test-runner-playwright": "^0.9.0",

web-dev-server.config.js

+10
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*/
66

77
import {legacyPlugin} from '@web/dev-server-legacy';
8+
import { esbuildPlugin } from '@web/dev-server-esbuild';
89

910
const mode = process.env.MODE || 'dev';
1011
if (!['dev', 'prod'].includes(mode)) {
@@ -15,6 +16,15 @@ export default {
1516
nodeResolve: {exportConditions: mode === 'dev' ? ['development'] : []},
1617
preserveSymlinks: true,
1718
plugins: [
19+
esbuildPlugin({
20+
js: true,
21+
jsx: true,
22+
ts: true,
23+
tsx: true,
24+
jsxFactory: 'React.createElement',
25+
jsxFragment: 'Fragment',
26+
target: 'es2020',
27+
}),
1828
legacyPlugin({
1929
polyfills: {
2030
// Manually imported in index.html file

web-test-runner.config.js

+7-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
* SPDX-License-Identifier: BSD-3-Clause
55
*/
66

7-
import {legacyPlugin} from '@web/dev-server-legacy';
7+
import { legacyPlugin } from '@web/dev-server-legacy';
8+
import { esbuildPlugin } from '@web/dev-server-esbuild';
89
import {playwrightLauncher} from '@web/test-runner-playwright';
910

1011
const mode = process.env.MODE || 'dev';
@@ -91,7 +92,7 @@ try {
9192
// https://modern-web.dev/docs/test-runner/cli-and-configuration/
9293
export default {
9394
rootDir: '.',
94-
files: ['./test/**/*_test.js'],
95+
files: ['./src/test/**/*_test.ts'],
9596
nodeResolve: {exportConditions: mode === 'dev' ? ['development'] : []},
9697
preserveSymlinks: true,
9798
browsers: commandLineBrowsers ?? Object.values(browsers),
@@ -120,5 +121,9 @@ export default {
120121
],
121122
},
122123
}),
124+
esbuildPlugin({
125+
ts: true,
126+
target: 'es2020',
127+
}),
123128
],
124129
};

0 commit comments

Comments
 (0)