Update snapshots, add Chrome to browser test, remove linting JS, bump dependencies - replace deprecated eslint-loader
BIN
.github/actions-scripts/__snapshots__/edge-win32.png
vendored
Normal file
After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 268 KiB After Width: | Height: | Size: 279 KiB |
4
.github/workflows/browsers.yml
vendored
|
@ -18,12 +18,10 @@ jobs:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [windows-latest, macos-latest]
|
os: [windows-latest, macos-latest]
|
||||||
browser: [edge, firefox, safari]
|
browser: [edge, firefox, safari, chrome]
|
||||||
exclude:
|
exclude:
|
||||||
# On Windows, run tests with Edge only
|
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
browser: safari
|
browser: safari
|
||||||
# On macOS, run tests with only on safari
|
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
browser: edge
|
browser: edge
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
|
|
11
.github/workflows/lint.yml
vendored
|
@ -32,7 +32,10 @@ jobs:
|
||||||
echo $CHANGED_TS
|
echo $CHANGED_TS
|
||||||
node node_modules/eslint/bin/eslint.js $CHANGED_TS
|
node node_modules/eslint/bin/eslint.js $CHANGED_TS
|
||||||
|
|
||||||
- name: Lint JS bundle
|
## Can't use same eslint config for TypeScript and JavaScript
|
||||||
run: |
|
## TypeScript rules cause rule definition not found errors
|
||||||
npm run js:build
|
## Can be re-enabled if this is resolved: https://github.com/eslint/eslint/issues/14851
|
||||||
npx eslint --no-ignore ./public/assets/scripts/*.js
|
# - name: Lint JS bundle
|
||||||
|
# run: |
|
||||||
|
# npm run js:build
|
||||||
|
# npx eslint --no-ignore ./public/assets/scripts/*.js
|
||||||
|
|
826
package-lock.json
generated
|
@ -73,16 +73,16 @@
|
||||||
"eslint-config-airbnb-base": "^15.0.0",
|
"eslint-config-airbnb-base": "^15.0.0",
|
||||||
"eslint-config-airbnb-typescript": "^16.1.0",
|
"eslint-config-airbnb-typescript": "^16.1.0",
|
||||||
"eslint-config-prettier": "^8.3.0",
|
"eslint-config-prettier": "^8.3.0",
|
||||||
"eslint-loader": "^3.0.2",
|
|
||||||
"eslint-plugin-compat": "4.0.0",
|
"eslint-plugin-compat": "4.0.0",
|
||||||
"eslint-plugin-cypress": "^2.12.1",
|
"eslint-plugin-cypress": "^2.12.1",
|
||||||
"eslint-plugin-import": "^2.25.3",
|
"eslint-plugin-import": "^2.25.3",
|
||||||
"eslint-plugin-prettier": "^4.0.0",
|
"eslint-plugin-prettier": "^4.0.0",
|
||||||
"eslint-plugin-sort-class-members": "^1.14.1",
|
"eslint-plugin-sort-class-members": "^1.14.1",
|
||||||
"express": "^4.17.1",
|
"eslint-webpack-plugin": "^3.1.1",
|
||||||
|
"express": "^4.17.2",
|
||||||
"husky": "^7.0.4",
|
"husky": "^7.0.4",
|
||||||
"jsdom": "^19.0.0",
|
"jsdom": "^19.0.0",
|
||||||
"lint-staged": "^12.1.2",
|
"lint-staged": "^12.1.3",
|
||||||
"mocha": "^9.1.3",
|
"mocha": "^9.1.3",
|
||||||
"node-sass": "^7.0.0",
|
"node-sass": "^7.0.0",
|
||||||
"nodemon": "^2.0.15",
|
"nodemon": "^2.0.15",
|
||||||
|
@ -98,7 +98,7 @@
|
||||||
"typescript": "^4.5.4",
|
"typescript": "^4.5.4",
|
||||||
"webpack": "^5.65.0",
|
"webpack": "^5.65.0",
|
||||||
"webpack-cli": "^4.9.1",
|
"webpack-cli": "^4.9.1",
|
||||||
"webpack-dev-middleware": "^5.2.2",
|
"webpack-dev-middleware": "^5.3.0",
|
||||||
"webpack-hot-middleware": "^2.25.1"
|
"webpack-hot-middleware": "^2.25.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
const ESLintPlugin = require('eslint-webpack-plugin');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
|
||||||
const include = path.resolve(__dirname, './src/scripts');
|
const include = path.resolve(__dirname, './src/scripts');
|
||||||
|
@ -10,16 +11,6 @@ module.exports = {
|
||||||
entry: ['./src/scripts/choices'],
|
entry: ['./src/scripts/choices'],
|
||||||
module: {
|
module: {
|
||||||
rules: [
|
rules: [
|
||||||
{
|
|
||||||
enforce: 'pre',
|
|
||||||
loader: 'eslint-loader',
|
|
||||||
test: /\.js?$/,
|
|
||||||
include,
|
|
||||||
exclude,
|
|
||||||
options: {
|
|
||||||
quiet: true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
loader: 'babel-loader',
|
loader: 'babel-loader',
|
||||||
test: /\.ts?$/,
|
test: /\.ts?$/,
|
||||||
|
@ -40,6 +31,12 @@ module.exports = {
|
||||||
resolve: {
|
resolve: {
|
||||||
extensions: [".ts", ".js"]
|
extensions: [".ts", ".js"]
|
||||||
},
|
},
|
||||||
|
plugins: [new ESLintPlugin({
|
||||||
|
context: include,
|
||||||
|
files: '**/*.js',
|
||||||
|
exclude: 'node_modules',
|
||||||
|
quiet: true
|
||||||
|
})],
|
||||||
output: {
|
output: {
|
||||||
library: 'Choices',
|
library: 'Choices',
|
||||||
libraryTarget: 'window',
|
libraryTarget: 'window',
|
||||||
|
|