Skip to content

Commit fc928f4

Browse files
authored
Release v7.0.0 (#699)
* feat: use simple program for single compilation (no watch) (#574) Use simple ts.Program and ts.CompilerHost when running webpack in non-watch mode. This can improve check time in CI for some cases. BREAKING CHANGE: 🧨 Use ts.Program and ts.CompilerHost for single compilation by default ✅ Closes: #572 * feat: remove eslint support (#607) BREAKING CHANGE: 🧨 ESLint no longer supported by the plugin * chore: merge main changes (#619) * test: use karton for e2e tests (#627) Use external package to handle e2e tests to simplify code base * feat: drop support for webpack 4 (#638) BREAKING CHANGE: 🧨 Webpack 4 is no longer supported. Please upgrade to Webpack ^5.11.0 or use an older version of the plugin. * feat: improve error formatting to match webpack 4 convention (#641) * feat: upgrade dependencies Upgrade dependencies that doesn't require Node version bump. * chore: remove unused dependencies * feat: drop support for node 10 Node 10 is no longer maintained BREAKING CHANGE: 🧨 Require Node.js >= 12 * chore: upgrade dev dependencies * feat: remove support for TypeScript < 3.6.0 (#643) BREAKING CHANGE: 🧨 Drop support for TypeScript < 3.6.0 * feat: port changes from main branch (#649) This commit contains fixes from the main branch * fix: require typescript@^3.8.0 for build: true mode (#672) SolutionBuilder API is buggy for TypeScript < 3.8.0. To reduce maintenance burden, we bump minimal TypeScript version for { build: true } mode to 3.8.0. BREAKING CHANGE: 🧨 Minimal version of TypeScript with { build: true } mode changed from 3.6.0 to 3.8.0 * refactor: add eslint rules to enforce import order (#671) * feat: migrate from reporters to workers (#691) Use simple functions and modules to simplify worker code * refactor: rename files to match convention (#693) I found snake-case easier to read, and given that the project doesn't use OOP a lot, having all PascalCase names doesn't reflect the paradigm and feels unnatural. * feat: simplify logger options (#695) Currently, the logger options are overcomplicated. To simplify them, we are removing logger.infrastructure option. BREAKING CHANGE: 🧨 Changes in options: `logger.issues` becomes `logger`, `logger.devServer` becomes `devServer`, `logger.infrastructure` has been removed * docs: add plugin logo (#696) * refactor: upgrade project dependencies (#698)
2 parents 61f7cdf + 954385e commit fc928f4

File tree

333 files changed

+9168
-264197
lines changed

Some content is hidden

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

333 files changed

+9168
-264197
lines changed

.eslintignore

+1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
/lib/**
2+
/test/e2e/fixtures/**

.eslintrc.js

+42-17
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,59 @@
11
module.exports = {
2+
root: true,
23
parser: '@typescript-eslint/parser',
3-
extends: ['plugin:node/recommended', 'plugin:prettier/recommended'],
4-
parserOptions: {
5-
ecmaVersion: 2018,
6-
sourceType: 'module'
7-
},
4+
plugins: ['@typescript-eslint', 'import', 'prettier'],
5+
extends: [
6+
'eslint:recommended',
7+
'plugin:@typescript-eslint/recommended',
8+
'plugin:node/recommended',
9+
],
810
settings: {
911
node: {
10-
tryExtensions: ['.js', '.json', '.ts', '.d.ts']
11-
}
12+
tryExtensions: ['.js', '.json', '.ts', '.d.ts'],
13+
},
14+
'import/extensions': ['.js', '.json', '.ts', '.d.ts'],
15+
'import/external-module-folders': ['node_modules', 'node_modules/@types'],
16+
'import/parsers': {
17+
'@typescript-eslint/parser': ['.ts'],
18+
},
19+
'import/resolver': {
20+
node: {
21+
extensions: ['.js', '.json', '.ts', '.d.ts'],
22+
},
23+
},
24+
},
25+
rules: {
26+
'@typescript-eslint/consistent-type-imports': ['error', { prefer: 'type-imports' }],
27+
'import/order': [
28+
'error',
29+
{
30+
groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object'],
31+
'newlines-between': 'always',
32+
alphabetize: {
33+
order: 'asc',
34+
caseInsensitive: true,
35+
},
36+
},
37+
],
38+
'import/no-cycle': ['error'],
39+
'prettier/prettier': 'error',
1240
},
1341
overrides: [
1442
{
1543
files: ['*.ts'],
16-
extends: [
17-
'plugin:@typescript-eslint/recommended',
18-
'prettier/@typescript-eslint'
19-
],
2044
rules: {
2145
'@typescript-eslint/explicit-function-return-type': 'off',
46+
'@typescript-eslint/explicit-module-boundary-types': 'off',
2247
'@typescript-eslint/no-use-before-define': 'off',
23-
'node/no-unsupported-features/es-syntax': 'off'
24-
}
48+
'node/no-unsupported-features/es-syntax': 'off',
49+
},
2550
},
2651
{
2752
files: ['*.spec.ts'],
2853
rules: {
2954
'@typescript-eslint/no-var-requires': 'off',
30-
'node/no-missing-import': 'off'
31-
}
32-
}
33-
]
55+
'node/no-missing-import': 'off',
56+
},
57+
},
58+
],
3459
};

.github/workflows/codeql-analysis.yml

-67
This file was deleted.

.github/workflows/main.yml

+23-17
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ jobs:
44
build:
55
runs-on: ubuntu-latest
66
steps:
7-
- uses: actions/checkout@v1
8-
7+
- uses: actions/checkout@v2
8+
99
- name: Setup node
10-
uses: actions/setup-node@v1
10+
uses: actions/setup-node@v2
1111
with:
12-
node-version: 12
12+
node-version: 16
1313

1414
- name: Yarn cache directory
1515
id: yarn-cache
@@ -30,7 +30,7 @@ jobs:
3030
run: yarn build
3131

3232
- name: Upload build artifact
33-
uses: actions/upload-artifact@v1
33+
uses: actions/upload-artifact@v2
3434
with:
3535
name: lib
3636
path: lib
@@ -40,13 +40,13 @@ jobs:
4040
needs: build
4141
strategy:
4242
matrix:
43-
node: [10, 12] # add 14 when we drop support for webpack 4 as fsevents 1 is not compatible with node 14
43+
node: [12, 14, 16]
4444
os: [ubuntu-latest, macos-latest, windows-latest]
4545
steps:
46-
- uses: actions/checkout@v1
47-
46+
- uses: actions/checkout@v2
47+
4848
- name: Setup node
49-
uses: actions/setup-node@v1
49+
uses: actions/setup-node@v2
5050
with:
5151
node-version: ${{ matrix.node }}
5252

@@ -61,12 +61,18 @@ jobs:
6161
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
6262
restore-keys: |
6363
${{ runner.os }}-yarn-
64-
64+
65+
- name: Locks cache
66+
uses: actions/cache@v2
67+
with:
68+
path: test/e2e/__locks__
69+
key: ${{ runner.os }}-locks
70+
6571
- name: Install dependencies
6672
run: yarn install --frozen-lockfile
6773

6874
- name: Download build artifact
69-
uses: actions/download-artifact@v1
75+
uses: actions/download-artifact@v2
7076
with:
7177
name: lib
7278
path: lib
@@ -76,7 +82,7 @@ jobs:
7682

7783
- name: Run e2e tests
7884
run: yarn test:e2e
79-
85+
8086
release:
8187
runs-on: ubuntu-latest
8288
env:
@@ -85,18 +91,18 @@ jobs:
8591
needs: [build, test]
8692
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/alpha' || github.ref == 'refs/heads/beta')
8793
steps:
88-
- uses: actions/checkout@v1
89-
94+
- uses: actions/checkout@v2
95+
9096
- name: Setup node
91-
uses: actions/setup-node@v1
97+
uses: actions/setup-node@v2
9298
with:
93-
node-version: 12
99+
node-version: 16
94100

95101
- name: Install dependencies
96102
run: yarn install --frozen-lockfile
97103

98104
- name: Download build artifact
99-
uses: actions/download-artifact@v1
105+
uses: actions/download-artifact@v2
100106
with:
101107
name: lib
102108
path: lib

.gitignore

+4-1
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22
*.log
33

44
# Package artifacts
5-
lib
5+
/lib
66

77
# Package archive used by e2e tests
88
fork-ts-checker-webpack-plugin-0.0.0-semantic-release.tgz
99

10+
# E2E tests lock file cache dir
11+
__locks__
12+
1013
# Coverage directory used by tools like istanbul
1114
coverage
1215

.husky/commit-msg

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/sh
2+
. "$(dirname "$0")/_/husky.sh"
3+
4+
commitlint --edit "$1"

.husky/pre-commit

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/sh
2+
. "$(dirname "$0")/_/husky.sh"
3+
4+
lint-staged && yarn build && yarn test:unit

0 commit comments

Comments
 (0)