Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 69 additions & 30 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,57 +1,96 @@
module.exports = {
root: true,
env: {
node: true
node: true,
},
plugins: ['vuejs-accessibility'],
extends: [
'@vue/airbnb',
'@vue/typescript/recommended',
'plugin:vue/essential',
'plugin:vuejs-accessibility/recommended'
'plugin:vue/vue3-recommended',
'plugin:vuejs-accessibility/recommended',
],
parserOptions: {
parser: '@typescript-eslint/parser', // the typescript-parser for eslint, instead of tslint
ecmaVersion: 2020,
ecmaVersion: 2021,
ecmaFeatures: {
jsx: false
}
jsx: false,
},
},
rules: {
'@typescript-eslint/consistent-type-assertions': ['error', { assertionStyle: 'angle-bracket' }],
'@typescript-eslint/no-non-null-assertion': 'off',
'arrow-parens': ['error', 'as-needed'],
'comma-dangle': ['error', 'never'],
'dot-location': ['error', 'object'],
'implicit-arrow-linebreak': 'off',
'import/no-named-default': 'off',
'import/order': ['error', { groups: ['builtin', 'external', 'parent', 'sibling', 'index'] }],
'import/extensions': 'off',
'max-classes-per-file': 'off',
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-plusplus': 'off',
'no-shadow': 'off',
'no-useless-constructor': 'off',
'vue/no-multiple-template-root': 'off',
'vue/no-v-html': 'off',
'vue/script-indent': ['error', 2, { baseIndent: 1 }],
'vuejs-accessibility/click-events-have-key-events': 'off',
semi: ['error', 'never']
'vuejs-accessibility/no-static-element-interactions': 'off',
semi: ['error', 'never'],
},
overrides: [
{
files: ['*.vue'],
rules: {
indent: 'off',
'class-methods-use-this': 'off'
}
},
},
{
files: [
'**/__tests__/*.{j,t}s?(x)',
'**/tests/unit/**/*.spec.{j,t}s?(x)'
files: ['src/**/*.ts'],
extends: [
'plugin:@typescript-eslint/strict-type-checked',
'plugin:@typescript-eslint/stylistic-type-checked',
],
parserOptions: {
project: true,
},
rules: {
'@typescript-eslint/no-non-null-assertion': 'off',
}
},
{
files: ['tests/unit/**/*.ts'],
plugins: ['chai-expect', 'chai-friendly', 'mocha'],
env: {
mocha: true
mocha: true,
},
extends: [
'plugin:@typescript-eslint/strict-type-checked',
'plugin:@typescript-eslint/stylistic-type-checked',
],
parserOptions: {
project: true,
},
rules: {
'@typescript-eslint/no-non-null-assertion': 'off',
}
}
]
},
{
files: ['tests/unit/**/*.spec.ts'],
rules: {
'no-unused-expressions': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
},
},
{
files: ['tests/e2e/**/*.ts'],
plugins: ['cypress'],
env: {
'cypress/globals': true,
},
extends: [
'plugin:cypress/recommended',
'plugin:@typescript-eslint/strict-type-checked',
'plugin:@typescript-eslint/stylistic-type-checked',
],
rules: {
'@typescript-eslint/no-non-null-assertion': 'off',
},
parserOptions: {
project: true,
},
},
],
settings: {
'import/resolver': {
typescript: {},
},
},
}
10 changes: 6 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,14 @@ jobs:
name: Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: true
- name: Set up Node.js
uses: actions/setup-node@v2
uses: actions/setup-node@v3
with:
cache: yarn
node-version: 20.x
- name: Install dependencies
run: yarn install
- name: Run unit tests
Expand All @@ -31,13 +32,14 @@ jobs:
name: Linters
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: true
- name: Set up Node.js
uses: actions/setup-node@v2
uses: actions/setup-node@v3
with:
cache: yarn
node-version: 20.x
- name: Install dependencies
run: yarn install
- name: Run ESLint
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,12 @@ jobs:
- name: Checkout
uses: actions/checkout@v3
- name: Setup pages
uses: actions/configure-pages@v2
uses: actions/configure-pages@v3
- name: Set up Node.js
uses: actions/setup-node@v2
uses: actions/setup-node@v3
with:
cache: yarn
node-version: 20.x
- name: Install dependencies
run: yarn install
- name: Build
Expand All @@ -55,4 +56,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1
uses: actions/deploy-pages@v2
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v16
v20
1 change: 0 additions & 1 deletion .stylelintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
"stylelint-config-recommended-vue/scss"
],
"rules": {
"function-parentheses-space-inside": "never-single-line",
"max-nesting-depth": null,
"selector-max-id": null
}
Expand Down
Binary file added .yarn/install-state.gz
Binary file not shown.
873 changes: 0 additions & 873 deletions .yarn/releases/yarn-3.4.1.cjs

This file was deleted.

874 changes: 874 additions & 0 deletions .yarn/releases/yarn-3.6.3.cjs

Large diffs are not rendered by default.

5 changes: 0 additions & 5 deletions .yarnrc

This file was deleted.

7 changes: 1 addition & 6 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
nodeLinker: node-modules

packageExtensions:
stylelint-config-recommended-vue@*:
dependencies:
stylelint-config-recommended: ^6

yarnPath: .yarn/releases/yarn-3.4.1.cjs
yarnPath: .yarn/releases/yarn-3.6.3.cjs
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ Unit tests are powered by Mocha using Chai's `expect` syntax. A `fixtures.ts`
file contains example survey responses that can be used for testing.

Cypress tests are written in TypeScript. To prevent Mocha/Chai's globals from
interfering with Cypress's globals, a custom `tsconfig.json` and `index.d.ts`
interfering with Cypress's globals, a custom `tsconfig.json` and `cypress.d.ts`
have been placed in the `test/e2e` directory to isolate the Cypress namespace.

`test/e2e/plugins/index.js` has been modified to add a Webpack preprocessor that
Expand Down
2 changes: 1 addition & 1 deletion babel.config.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module.exports = {
presets: ['@vue/cli-plugin-babel/preset']
presets: ['@vue/cli-plugin-babel/preset'],
}
18 changes: 18 additions & 0 deletions cypress.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { defineConfig } from 'cypress'

export default defineConfig({
projectId: '69ff82',
fixturesFolder: 'tests/e2e/fixtures',
screenshotsFolder: 'tests/e2e/screenshots',
videosFolder: 'tests/e2e/videos',
e2e: {
// We've imported your old cypress plugins here.
// You may want to clean this up later by importing these.
setupNodeEvents(on, config) {
return require('./tests/e2e/plugins/index.js')(on, config)
},
baseUrl: 'http://localhost:8080',
specPattern: 'tests/e2e/specs/**/*.{js,jsx,ts,tsx}',
supportFile: 'tests/e2e/support/index.js'
}
})
5 changes: 0 additions & 5 deletions cypress.json

This file was deleted.

115 changes: 59 additions & 56 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,75 +13,78 @@
"ci:unit": "vue-cli-service test:unit"
},
"dependencies": {
"@bugsnag/core": "^7.16.1",
"@bugsnag/js": "^7.14.0",
"@bugsnag/plugin-vue": "^7.14.0",
"cldr-data": "^36.0.0",
"@bugsnag/core": "^7.19.0",
"@bugsnag/js": "^7.21.0",
"@bugsnag/plugin-vue": "^7.19.0",
"cldr-data": "^36.0.1",
"cldrjs": "^0.5.5",
"core-js": "^3.19.1",
"core-js": "^3.32.1",
"lodash-es": "^4.17.21",
"normalize.css": "^8.0.1",
"vue": "^2.6.12",
"vue": "^2",
"vue-class-component": "^7.2.6",
"vue-i18n": "^8.26.7",
"vue-i18n": "^8",
"vue-property-decorator": "^9.1.2",
"vuex": "^3.6.2",
"vuex": "^3",
"vuex-class": "^0.3.2"
},
"devDependencies": {
"@babel/core": "^7.17.5",
"@babel/preset-env": "^7.16.11",
"@cypress/webpack-preprocessor": "^5.10.0",
"@types/chai": "^4.2.22",
"@types/chai-as-promised": "^7.1.4",
"@types/cldrjs": "^0.4.22",
"@types/lodash-es": "^4.17.5",
"@types/mocha": "^9.0.0",
"@typescript-eslint/eslint-plugin": "^5.4.0",
"@typescript-eslint/parser": "^5.4.0",
"@vue/cli-plugin-babel": "~4.5.15",
"@vue/cli-plugin-e2e-cypress": "~4.5.15",
"@vue/cli-plugin-eslint": "^5.0.4",
"@vue/cli-plugin-router": "~4.5.15",
"@vue/cli-plugin-typescript": "^4.5.15",
"@vue/cli-plugin-unit-mocha": "~4.5.15",
"@vue/cli-plugin-vuex": "~4.5.15",
"@vue/cli-service": "~4.5.15",
"@vue/eslint-config-airbnb": "^6.0.0",
"@vue/eslint-config-typescript": "^9.1.0",
"@vue/test-utils": "1.3.0",
"babel-loader": "^8.2.3",
"chai": "^4.3.4",
"@babel/core": "^7.22.11",
"@babel/preset-env": "^7.22.14",
"@cypress/webpack-preprocessor": "^6.0.0",
"@types/chai": "^4.3.5",
"@types/chai-as-promised": "^7.1.5",
"@types/cldrjs": "^0.4.24",
"@types/lodash-es": "^4.17.9",
"@types/mocha": "^10.0.1",
"@typescript-eslint/eslint-plugin": "^6.5.0",
"@typescript-eslint/parser": "^6.5.0",
"@vue/cli-plugin-babel": "^5.0.8",
"@vue/cli-plugin-e2e-cypress": "^5.0.8",
"@vue/cli-plugin-eslint": "^5.0.8",
"@vue/cli-plugin-router": "^5.0.8",
"@vue/cli-plugin-typescript": "^5.0.8",
"@vue/cli-plugin-unit-mocha": "^5.0.8",
"@vue/cli-plugin-vuex": "^5.0.8",
"@vue/cli-service": "^5.0.8",
"@vue/eslint-config-airbnb": "^7.0.0",
"@vue/eslint-config-typescript": "^11.0.3",
"@vue/test-utils": "^1",
"babel-loader": "^9.1.3",
"chai": "^4.3.8",
"chai-as-promised": "^7.1.1",
"chai-each": "^0.0.1",
"cypress": "^9",
"eslint": "^7.32.0",
"cypress": "^13.1.0",
"eslint": "^8.48.0",
"eslint-import-resolver-typescript": "^3.6.0",
"eslint-plugin-chai-expect": "^3.0.0",
"eslint-plugin-chai-friendly": "^0.7.2",
"eslint-plugin-cypress": "^2.12.1",
"eslint-plugin-import": "^2.25.3",
"eslint-plugin-mocha": "^9.0.0",
"eslint-plugin-vue": "^8.1.1",
"eslint-plugin-vuejs-accessibility": "^1.1.0",
"husky": "^7.0.4",
"lint-staged": "^12.0.3",
"eslint-plugin-cypress": "^2.14.0",
"eslint-plugin-import": "^2.28.1",
"eslint-plugin-mocha": "^10.1.0",
"eslint-plugin-vue": "^9.17.0",
"eslint-plugin-vuejs-accessibility": "^2.2.0",
"husky": "^8.0.3",
"lint-staged": "^14.0.1",
"null-loader": "^4.0.1",
"postcss": "^8.4.5",
"postcss-html": "^1.3.0",
"sass": "^1.43.4",
"sass-loader": "^10.2.0",
"start-server-and-test": "^1.14.0",
"stylelint": "14.2",
"stylelint-config-recommended-scss": "^5",
"stylelint-config-recommended-vue": "^1.4.0",
"stylelint-config-standard": "^24.0.0",
"stylelint-config-standard-scss": "^3.0.0",
"postcss": "^8.4.31",
"postcss-html": "^1.5.0",
"sass": "^1.66.1",
"sass-loader": "^13.3.2",
"start-server-and-test": "^2.0.0",
"stylelint": "^15.10.3",
"stylelint-config-recommended": "^13.0.0",
"stylelint-config-recommended-scss": "^12.0.0",
"stylelint-config-recommended-vue": "^1.5.0",
"stylelint-config-standard-scss": "^10.0.0",
"stylelint-processor-html": "^1.0.0",
"stylelint-webpack-plugin": "^2",
"typedoc": "^0.22.9",
"typescript": "~4.5.2",
"vue-template-compiler": "^2.6.12",
"webpack": "^4"
"stylelint-webpack-plugin": "^4.1.1",
"ts-loader": "^9.4.4",
"tslib": "^2.6.2",
"typedoc": "^0.25.0",
"typescript": "^5.2.2",
"vue-template-compiler": "^2.7.14",
"webpack": "^5.88.2"
},
"gitHooks": {
"pre-commit": "lint-staged"
Expand All @@ -94,5 +97,5 @@
"npx stylelint --fix"
]
},
"packageManager": "yarn@3.4.1"
"packageManager": "yarn@3.6.3"
}
Loading