Skip to content

Commit f92e6df

Browse files
committed
Merge branch 'master' into buffer-cell-cursor
2 parents 1d6de8e + cb3bd46 commit f92e6df

File tree

280 files changed

+23526
-5740
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

280 files changed

+23526
-5740
lines changed

.eslintrc.json

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,11 @@
1111
"src/browser/tsconfig.json",
1212
"src/common/tsconfig.json",
1313
"src/headless/tsconfig.json",
14-
"test/api/tsconfig.json",
14+
"src/vs/tsconfig.json",
1515
"test/benchmark/tsconfig.json",
1616
"test/playwright/tsconfig.json",
1717
"addons/addon-attach/src/tsconfig.json",
1818
"addons/addon-attach/test/tsconfig.json",
19-
"addons/addon-canvas/src/tsconfig.json",
20-
"addons/addon-canvas/test/tsconfig.json",
2119
"addons/addon-clipboard/src/tsconfig.json",
2220
"addons/addon-clipboard/test/tsconfig.json",
2321
"addons/addon-fit/src/tsconfig.json",
@@ -44,19 +42,37 @@
4442
},
4543
"ignorePatterns": [
4644
"addons/*/src/third-party/*.ts",
45+
"src/vs/*",
4746
"out/*",
4847
"out-test/*",
48+
"out-esbuild/*",
49+
"out-esbuild-test/*",
4950
"**/inwasm-sdks/*",
5051
"**/typings/*.d.ts",
5152
"**/node_modules",
52-
"**/*.js"
53+
"**/*.js",
54+
"**/*.mjs"
5355
],
5456
"plugins": [
57+
"@stylistic/ts",
5558
"@typescript-eslint",
5659
"jsdoc"
5760
],
5861
"rules": {
59-
"no-extra-semi": "error",
62+
"@stylistic/ts/indent": [
63+
"warn",
64+
2
65+
],
66+
"@stylistic/ts/semi": [
67+
"warn",
68+
"always"
69+
],
70+
"@stylistic/ts/quotes": [
71+
"warn",
72+
"single",
73+
{ "allowTemplateLiterals": true }
74+
],
75+
6076
"@typescript-eslint/array-type": [
6177
"warn",
6278
{
@@ -81,10 +97,6 @@
8197
}
8298
}
8399
],
84-
"@typescript-eslint/indent": [
85-
"warn",
86-
2
87-
],
88100
"@typescript-eslint/member-delimiter-style": [
89101
"warn",
90102
{
@@ -144,15 +156,7 @@
144156
"@typescript-eslint/no-useless-constructor": "warn",
145157
"@typescript-eslint/prefer-namespace-keyword": "warn",
146158
"@typescript-eslint/type-annotation-spacing": "warn",
147-
"@typescript-eslint/quotes": [
148-
"warn",
149-
"single",
150-
{ "allowTemplateLiterals": true }
151-
],
152-
"@typescript-eslint/semi": [
153-
"warn",
154-
"always"
155-
],
159+
156160
"comma-dangle": [
157161
"warn",
158162
{
@@ -193,6 +197,7 @@
193197
}
194198
],
195199
"no-eval": "warn",
200+
"no-extra-semi": "error",
196201
"no-irregular-whitespace": "warn",
197202
"no-restricted-imports": [
198203
"warn",

.eslintrc.json.typings

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,25 @@
66
},
77
"parser": "@typescript-eslint/parser",
88
"plugins": [
9+
"@stylistic/ts",
910
"@typescript-eslint",
1011
"jsdoc"
1112
],
1213
"rules": {
13-
"no-extra-semi": "error",
14+
"@stylistic/ts/indent": [
15+
"warn",
16+
2
17+
],
18+
"@stylistic/ts/semi": [
19+
"warn",
20+
"always"
21+
],
22+
"@stylistic/ts/quotes": [
23+
"warn",
24+
"single",
25+
{ "allowTemplateLiterals": true }
26+
],
27+
1428
"@typescript-eslint/array-type": [
1529
"warn",
1630
{
@@ -24,10 +38,6 @@
2438
"allowExpressions": true
2539
}
2640
],
27-
"@typescript-eslint/indent": [
28-
"warn",
29-
2
30-
],
3141
"@typescript-eslint/member-delimiter-style": [
3242
"warn",
3343
{
@@ -48,15 +58,7 @@
4858
],
4959
"@typescript-eslint/prefer-namespace-keyword": "warn",
5060
"@typescript-eslint/type-annotation-spacing": "warn",
51-
"@typescript-eslint/quotes": [
52-
"warn",
53-
"single",
54-
{ "allowTemplateLiterals": true }
55-
],
56-
"@typescript-eslint/semi": [
57-
"warn",
58-
"always"
59-
],
61+
6062
"comma-dangle": [
6163
"warn",
6264
{
@@ -86,6 +88,7 @@
8688
"ignorePattern": "^ *(?<ps_description>\\* Ps=)"
8789
}
8890
],
91+
"no-extra-semi": "error",
8992
"no-irregular-whitespace": "warn",
9093
"no-trailing-spaces": "warn",
9194
"object-curly-spacing": [

.github/workflows/ci.yml

Lines changed: 50 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -19,37 +19,49 @@ jobs:
1919
cache: 'yarn'
2020
- name: Install dependencies
2121
run: yarn --frozen-lockfile
22-
- name: Build
22+
- name: Setup and run tsc
2323
run: yarn setup
24+
- name: Esbuild
25+
run: yarn esbuild
2426
- name: Zip artifacts
2527
run: |
2628
zip -r compressed-build \
29+
./lib/* \
2730
./out/* \
28-
./out-test/* \
31+
./out-*/* \
32+
./addons/addon-attach/lib/* \
2933
./addons/addon-attach/out/* \
30-
./addons/addon-attach/out-test/* \
31-
./addons/addon-canvas/out/* \
32-
./addons/addon-canvas/out-test/* \
34+
./addons/addon-attach/out-*/* \
35+
./addons/addon-clipboard/lib/* \
3336
./addons/addon-clipboard/out/* \
34-
./addons/addon-clipboard/out-test/* \
37+
./addons/addon-clipboard/out-*/* \
38+
./addons/addon-fit/lib/* \
3539
./addons/addon-fit/out/* \
36-
./addons/addon-fit/out-test/* \
40+
./addons/addon-fit/out-*/* \
41+
./addons/addon-image/lib/* \
3742
./addons/addon-image/out/* \
38-
./addons/addon-image/out-test/* \
43+
./addons/addon-image/out-*/* \
44+
./addons/addon-ligatures/lib/* \
3945
./addons/addon-ligatures/out/* \
40-
./addons/addon-ligatures/out-test/* \
46+
./addons/addon-ligatures/out-*/* \
47+
./addons/addon-search/lib/* \
4148
./addons/addon-search/out/* \
42-
./addons/addon-search/out-test/* \
49+
./addons/addon-search/out-*/* \
50+
./addons/addon-serialize/lib/* \
4351
./addons/addon-serialize/out/* \
44-
./addons/addon-serialize/out-test/* \
52+
./addons/addon-serialize/out-*/* \
53+
./addons/addon-unicode11/lib/* \
4554
./addons/addon-unicode11/out/* \
46-
./addons/addon-unicode11/out-test/* \
55+
./addons/addon-unicode11/out-*/* \
56+
./addons/addon-unicode-graphemes/lib/* \
4757
./addons/addon-unicode-graphemes/out/* \
48-
./addons/addon-unicode-graphemes/out-test/* \
58+
./addons/addon-unicode-graphemes/out-*/* \
59+
./addons/addon-web-links/lib/* \
4960
./addons/addon-web-links/out/* \
50-
./addons/addon-web-links/out-test/* \
61+
./addons/addon-web-links/out-*/* \
62+
./addons/addon-webgl/lib/* \
5163
./addons/addon-webgl/out/* \
52-
./addons/addon-webgl/out-test/*
64+
./addons/addon-webgl/out-*st/*
5365
- name: Upload artifacts
5466
uses: actions/upload-artifact@v3
5567
with:
@@ -112,7 +124,7 @@ jobs:
112124
./node_modules/.bin/nyc report --reporter=cobertura
113125
exit $EXIT_CODE
114126
115-
test-unit-parallel:
127+
test-unit:
116128
timeout-minutes: 20
117129
strategy:
118130
matrix:
@@ -150,48 +162,7 @@ jobs:
150162
- name: Unit tests
151163
run: yarn test-unit --forbid-only
152164

153-
test-api-parallel:
154-
timeout-minutes: 20
155-
strategy:
156-
matrix:
157-
node-version: [18] # just one as integration tests are about testing in browser
158-
runs-on: [ubuntu] # macos is flaky
159-
browser: [chromium, firefox]
160-
runs-on: ${{ matrix.runs-on }}-latest
161-
steps:
162-
- uses: actions/checkout@v3
163-
- name: Use Node.js ${{ matrix.node-version }}.x
164-
uses: actions/setup-node@v3
165-
with:
166-
node-version: ${{ matrix.node-version }}.x
167-
cache: 'yarn'
168-
- name: Install dependencies
169-
run: |
170-
yarn --frozen-lockfile
171-
yarn install-addons
172-
- name: Install playwright
173-
run: npx playwright install
174-
- name: Wait for build job
175-
uses: NathanFirmo/[email protected]
176-
with:
177-
token: ${{ secrets.GITHUB_TOKEN }}
178-
job: build
179-
- uses: actions/download-artifact@v3
180-
with:
181-
name: build-artifacts
182-
- name: Unzip artifacts
183-
shell: bash
184-
run: |
185-
if [ "$RUNNER_OS" == "Windows" ]; then
186-
pwsh -Command "7z x compressed-build.zip -aoa -o${{ github.workspace }}"
187-
else
188-
unzip -o compressed-build.zip
189-
fi
190-
ls -R
191-
- name: Integration tests (${{ matrix.browser }})
192-
run: yarn test-api-${{ matrix.browser }} --headless --forbid-only
193-
194-
test-playwright-parallel:
165+
test-integration:
195166
timeout-minutes: 20
196167
strategy:
197168
matrix:
@@ -230,50 +201,29 @@ jobs:
230201
fi
231202
ls -R
232203
- name: Build demo
233-
run: yarn build-demo
204+
run: yarn esbuild-demo
234205
- name: Integration tests (core) # Tests use 50% workers to reduce flakiness
235-
run: yarn test-playwright-${{ matrix.browser }} --workers=50% --forbid-only --suite=core
236-
- name: Integration tests (addon-canvas)
237-
run: yarn test-playwright-${{ matrix.browser }} --workers=50% --forbid-only --suite=addon-canvas
206+
run: yarn test-integration-${{ matrix.browser }} --workers=50% --forbid-only --suite=core
207+
- name: Integration tests (addon-attach)
208+
run: yarn test-integration-${{ matrix.browser }} --workers=50% --forbid-only --suite=addon-attach
209+
- name: Integration tests (addon-clipboard)
210+
run: yarn test-integration-${{ matrix.browser }} --workers=50% --forbid-only --suite=addon-clipboard
211+
- name: Integration tests (addon-fit)
212+
run: yarn test-integration-${{ matrix.browser }} --workers=50% --forbid-only --suite=addon-fit
213+
- name: Integration tests (addon-image)
214+
run: yarn test-integration-${{ matrix.browser }} --workers=50% --forbid-only --suite=addon-image
215+
- name: Integration tests (addon-search)
216+
run: yarn test-integration-${{ matrix.browser }} --workers=50% --forbid-only --suite=addon-search
217+
- name: Integration tests (addon-serialize)
218+
run: yarn test-integration-${{ matrix.browser }} --workers=50% --forbid-only --suite=addon-serialize
219+
- name: Integration tests (addon-unicode-graphemes)
220+
run: yarn test-integration-${{ matrix.browser }} --workers=50% --forbid-only --suite=addon-unicode-graphemes
221+
- name: Integration tests (addon-unicode11)
222+
run: yarn test-integration-${{ matrix.browser }} --workers=50% --forbid-only --suite=addon-unicode11
223+
- name: Integration tests (addon-web-links)
224+
run: yarn test-integration-${{ matrix.browser }} --workers=50% --forbid-only --suite=addon-web-links
238225
- name: Integration tests (addon-webgl)
239-
run: yarn test-playwright-${{ matrix.browser }} --workers=50% --forbid-only --suite=addon-webgl
240-
241-
test-api:
242-
needs: build
243-
timeout-minutes: 20
244-
strategy:
245-
matrix:
246-
node-version: [18] # just one as integration tests are about testing in browser
247-
runs-on: [windows] # macos is flaky
248-
browser: [chromium, firefox]
249-
runs-on: ${{ matrix.runs-on }}-latest
250-
steps:
251-
- uses: actions/checkout@v3
252-
- name: Use Node.js ${{ matrix.node-version }}.x
253-
uses: actions/setup-node@v3
254-
with:
255-
node-version: ${{ matrix.node-version }}.x
256-
cache: 'yarn'
257-
- name: Install dependencies
258-
run: |
259-
yarn --frozen-lockfile
260-
yarn install-addons
261-
- name: Install playwright
262-
run: npx playwright install
263-
- uses: actions/download-artifact@v3
264-
with:
265-
name: build-artifacts
266-
- name: Unzip artifacts
267-
shell: bash
268-
run: |
269-
if [ "$RUNNER_OS" == "Windows" ]; then
270-
pwsh -Command "7z x compressed-build.zip -aoa -o${{ github.workspace }}"
271-
else
272-
unzip -o compressed-build.zip
273-
fi
274-
ls -R
275-
- name: Integration tests (${{ matrix.browser }})
276-
run: yarn test-api-${{ matrix.browser }} --headless --forbid-only
226+
run: yarn test-integration-${{ matrix.browser }} --workers=50% --forbid-only --suite=addon-webgl
277227

278228
release-dry-run:
279229
needs: build

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ node_modules/
44
lib/
55
out/
66
out-test/
7+
out-esbuild/
8+
out-esbuild-test/
79
.nyc_output/
810
Makefile.gyp
911
*.Makefile

.npmignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
!lib/**/*.js
1818
!lib/**/*.js.map
1919

20+
!lib/**/*.mjs
21+
!lib/**/*.mjs.map
22+
2023
!lib/**/*.css
2124

2225
# Whitelist - src/

.vscode/settings.json

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,27 @@
22
"files.associations": {
33
".eslintrc.json.typings": "jsonc"
44
},
5+
// Hide output files from the file explorer, comment this out to see the build output
6+
"files.exclude": {
7+
"**/.nyc_output": true,
8+
"**/lib": true,
9+
"**/dist": true,
10+
"**/out": true,
11+
"**/out-*": true,
12+
},
513
"typescript.preferences.importModuleSpecifier": "non-relative",
614
"typescript.preferences.quoteStyle": "single",
715
"mochaExplorer.envPath": ".mocha.env",
816
"mochaExplorer.files": [
917
"out/**/*.test.js",
10-
"addons/**/out/*.test.js"
18+
"addons/**/out/*.test.js",
19+
"out-*/**/*.test.js",
20+
"addons/**/out-*/*.test.js"
1121
],
1222
"mochaExplorer.watch": [
1323
"out/**/*.js",
14-
"addons/**/out/*.js"
24+
"addons/**/out/*.js",
25+
"out-*/**/*.js",
26+
"addons/**/out-*/*.js"
1527
]
1628
}

0 commit comments

Comments
 (0)