Skip to content

Commit

Permalink
Release v7.0.0 (#699)
Browse files Browse the repository at this point in the history
* 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)
  • Loading branch information
piotr-oles authored Jan 29, 2022
2 parents 61f7cdf + 954385e commit fc928f4
Show file tree
Hide file tree
Showing 333 changed files with 9,168 additions and 264,197 deletions.
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
/lib/**
/test/e2e/fixtures/**
59 changes: 42 additions & 17 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,34 +1,59 @@
module.exports = {
root: true,
parser: '@typescript-eslint/parser',
extends: ['plugin:node/recommended', 'plugin:prettier/recommended'],
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module'
},
plugins: ['@typescript-eslint', 'import', 'prettier'],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:node/recommended',
],
settings: {
node: {
tryExtensions: ['.js', '.json', '.ts', '.d.ts']
}
tryExtensions: ['.js', '.json', '.ts', '.d.ts'],
},
'import/extensions': ['.js', '.json', '.ts', '.d.ts'],
'import/external-module-folders': ['node_modules', 'node_modules/@types'],
'import/parsers': {
'@typescript-eslint/parser': ['.ts'],
},
'import/resolver': {
node: {
extensions: ['.js', '.json', '.ts', '.d.ts'],
},
},
},
rules: {
'@typescript-eslint/consistent-type-imports': ['error', { prefer: 'type-imports' }],
'import/order': [
'error',
{
groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object'],
'newlines-between': 'always',
alphabetize: {
order: 'asc',
caseInsensitive: true,
},
},
],
'import/no-cycle': ['error'],
'prettier/prettier': 'error',
},
overrides: [
{
files: ['*.ts'],
extends: [
'plugin:@typescript-eslint/recommended',
'prettier/@typescript-eslint'
],
rules: {
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/explicit-module-boundary-types': 'off',
'@typescript-eslint/no-use-before-define': 'off',
'node/no-unsupported-features/es-syntax': 'off'
}
'node/no-unsupported-features/es-syntax': 'off',
},
},
{
files: ['*.spec.ts'],
rules: {
'@typescript-eslint/no-var-requires': 'off',
'node/no-missing-import': 'off'
}
}
]
'node/no-missing-import': 'off',
},
},
],
};
67 changes: 0 additions & 67 deletions .github/workflows/codeql-analysis.yml

This file was deleted.

40 changes: 23 additions & 17 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Setup node
uses: actions/setup-node@v1
uses: actions/setup-node@v2
with:
node-version: 12
node-version: 16

- name: Yarn cache directory
id: yarn-cache
Expand All @@ -30,7 +30,7 @@ jobs:
run: yarn build

- name: Upload build artifact
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v2
with:
name: lib
path: lib
Expand All @@ -40,13 +40,13 @@ jobs:
needs: build
strategy:
matrix:
node: [10, 12] # add 14 when we drop support for webpack 4 as fsevents 1 is not compatible with node 14
node: [12, 14, 16]
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Setup node
uses: actions/setup-node@v1
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node }}

Expand All @@ -61,12 +61,18 @@ jobs:
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Locks cache
uses: actions/cache@v2
with:
path: test/e2e/__locks__
key: ${{ runner.os }}-locks

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Download build artifact
uses: actions/download-artifact@v1
uses: actions/download-artifact@v2
with:
name: lib
path: lib
Expand All @@ -76,7 +82,7 @@ jobs:

- name: Run e2e tests
run: yarn test:e2e

release:
runs-on: ubuntu-latest
env:
Expand All @@ -85,18 +91,18 @@ jobs:
needs: [build, test]
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/alpha' || github.ref == 'refs/heads/beta')
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Setup node
uses: actions/setup-node@v1
uses: actions/setup-node@v2
with:
node-version: 12
node-version: 16

- name: Install dependencies
run: yarn install --frozen-lockfile

- name: Download build artifact
uses: actions/download-artifact@v1
uses: actions/download-artifact@v2
with:
name: lib
path: lib
Expand Down
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@
*.log

# Package artifacts
lib
/lib

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

# E2E tests lock file cache dir
__locks__

# Coverage directory used by tools like istanbul
coverage

Expand Down
4 changes: 4 additions & 0 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

commitlint --edit "$1"
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

lint-staged && yarn build && yarn test:unit
Loading

0 comments on commit fc928f4

Please sign in to comment.