From 34a01ad99eadc851cebec409c57490c9c97793b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20K=C4=99drzy=C5=84ski?= Date: Mon, 3 Jul 2023 10:59:53 +0200 Subject: [PATCH] feat: added eslint config --- .eslintignore | 3 ++ packages/aws-cdk/.eslintrc.cjs | 7 +++++ packages/aws-cdk/tsconfig.eslint.json | 4 --- packages/barebones/.eslintrc.cjs | 4 +++ packages/barebones/package.json | 37 +++++++++++++++++++++++++ packages/barebones/src/index.ts | 0 packages/barebones/tsconfig.json | 31 +++++++++++++++++++++ packages/dom/.eslintrc.cjs | 7 +++++ packages/dom/tsconfig.eslint.json | 4 --- packages/eslint/imports.js | 27 ++++++++++++++++++ packages/eslint/package.json | 28 ++++++------------- packages/eslint/src/defineConfig.ts | 5 ---- packages/eslint/src/index.ts | 1 - packages/eslint/tsconfig.eslint.json | 4 --- packages/eslint/tsconfig.json | 9 ------ packages/eslint/typescript.js | 15 ++++++++++ packages/eslint/vue.js | 13 +++++++++ packages/esm/.eslintrc.cjs | 4 +++ packages/esm/tsconfig.eslint.json | 4 --- packages/i18n/.eslintrc.cjs | 4 +++ packages/i18n/tsconfig.eslint.json | 4 --- packages/ioc/.eslintrc.cjs | 4 +++ packages/ioc/tsconfig.eslint.json | 4 --- packages/schema/.eslintrc.cjs | 4 +++ packages/schema/tsconfig.eslint.json | 4 --- packages/types/.eslintrc.cjs | 4 +++ packages/types/tsconfig.eslint.json | 4 --- packages/utils/.eslintrc.cjs | 4 +++ packages/validation/.eslintrc.cjs | 4 +++ packages/vue/.eslintrc.cjs | 4 +++ packages/vue/src/Format.ts | 1 + packages/vue/src/modal/ModalHost.ts | 3 +- packages/vue/src/modal/ModalService.ts | 3 +- packages/vue/src/modal/useModal.ts | 3 +- packages/vue/src/modal/useModalProps.ts | 2 +- packages/vue/tsconfig.eslint.json | 4 --- packages/vue/tsconfig.json | 1 - 37 files changed, 190 insertions(+), 78 deletions(-) create mode 100644 .eslintignore create mode 100644 packages/aws-cdk/.eslintrc.cjs delete mode 100644 packages/aws-cdk/tsconfig.eslint.json create mode 100644 packages/barebones/.eslintrc.cjs create mode 100644 packages/barebones/package.json create mode 100644 packages/barebones/src/index.ts create mode 100644 packages/barebones/tsconfig.json create mode 100644 packages/dom/.eslintrc.cjs delete mode 100644 packages/dom/tsconfig.eslint.json create mode 100644 packages/eslint/imports.js delete mode 100644 packages/eslint/src/defineConfig.ts delete mode 100644 packages/eslint/src/index.ts delete mode 100644 packages/eslint/tsconfig.eslint.json delete mode 100644 packages/eslint/tsconfig.json create mode 100644 packages/eslint/typescript.js create mode 100644 packages/eslint/vue.js create mode 100644 packages/esm/.eslintrc.cjs delete mode 100644 packages/esm/tsconfig.eslint.json create mode 100644 packages/i18n/.eslintrc.cjs delete mode 100644 packages/i18n/tsconfig.eslint.json create mode 100644 packages/ioc/.eslintrc.cjs delete mode 100644 packages/ioc/tsconfig.eslint.json create mode 100644 packages/schema/.eslintrc.cjs delete mode 100644 packages/schema/tsconfig.eslint.json create mode 100644 packages/types/.eslintrc.cjs delete mode 100644 packages/types/tsconfig.eslint.json create mode 100644 packages/utils/.eslintrc.cjs create mode 100644 packages/validation/.eslintrc.cjs create mode 100644 packages/vue/.eslintrc.cjs delete mode 100644 packages/vue/tsconfig.eslint.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..a58bb38 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,3 @@ +node_modules +dist +.eslintrc.cjs \ No newline at end of file diff --git a/packages/aws-cdk/.eslintrc.cjs b/packages/aws-cdk/.eslintrc.cjs new file mode 100644 index 0000000..aa9300c --- /dev/null +++ b/packages/aws-cdk/.eslintrc.cjs @@ -0,0 +1,7 @@ +module.exports = { + root: true, + env: { + node: true, + }, + extends: [require.resolve('@nzyme/eslint/vue')], +}; diff --git a/packages/aws-cdk/tsconfig.eslint.json b/packages/aws-cdk/tsconfig.eslint.json deleted file mode 100644 index aed2203..0000000 --- a/packages/aws-cdk/tsconfig.eslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tsconfig.json", - "include": ["./src/**/*.ts", "./tests/**/*.ts"] -} diff --git a/packages/barebones/.eslintrc.cjs b/packages/barebones/.eslintrc.cjs new file mode 100644 index 0000000..d065397 --- /dev/null +++ b/packages/barebones/.eslintrc.cjs @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: [require.resolve('@nzyme/eslint/vue')], +}; diff --git a/packages/barebones/package.json b/packages/barebones/package.json new file mode 100644 index 0000000..3994620 --- /dev/null +++ b/packages/barebones/package.json @@ -0,0 +1,37 @@ +{ + "name": "@nzyme/barebones", + "version": "1.0.0", + "type": "module", + "main": "./src/index.ts", + "module": "./src/index.ts", + "types": "./src/index.ts", + "exports": { + ".": { + "source": "./src/index.ts", + "import": "./src/index.ts" + }, + "./shims": { + "types": "./src/shims.d.ts" + } + }, + "sideEffects": false, + "repository": "https://github.com/nzymejs/nzyme.git", + "author": "Michał Kędrzyński ", + "dependencies": { + "@nzyme/dom": "1.0.0", + "@nzyme/ioc": "1.0.0", + "@nzyme/types": "1.0.0", + "@nzyme/utils": "1.0.0", + "@nzyme/vue": "1.0.0", + "lodash": "^4.17.21", + "vue": "^3.3.4" + }, + "devDependencies": { + "typescript-plugin-css-modules": "5.0.1" + }, + "depcheck": { + "ignoreDeps": [ + "typescript-plugin-css-modules" + ] + } +} diff --git a/packages/barebones/src/index.ts b/packages/barebones/src/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/barebones/tsconfig.json b/packages/barebones/tsconfig.json new file mode 100644 index 0000000..acf82a9 --- /dev/null +++ b/packages/barebones/tsconfig.json @@ -0,0 +1,31 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src", + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "jsx": "react", + "jsxFactory": "h", + "composite": false, + "plugins": [ + { + "name": "typescript-plugin-css-modules" + } + ] + }, + "include": ["./src/**/*.ts", "./src/**/*.tsx", "./src/**/*.json", "./src/**/*.scss"], + "references": [ + { + "path": "../dom/tsconfig.json" + }, + { + "path": "../ioc/tsconfig.json" + }, + { + "path": "../types/tsconfig.json" + }, + { + "path": "../utils/tsconfig.json" + } + ] +} diff --git a/packages/dom/.eslintrc.cjs b/packages/dom/.eslintrc.cjs new file mode 100644 index 0000000..aa9300c --- /dev/null +++ b/packages/dom/.eslintrc.cjs @@ -0,0 +1,7 @@ +module.exports = { + root: true, + env: { + node: true, + }, + extends: [require.resolve('@nzyme/eslint/vue')], +}; diff --git a/packages/dom/tsconfig.eslint.json b/packages/dom/tsconfig.eslint.json deleted file mode 100644 index aed2203..0000000 --- a/packages/dom/tsconfig.eslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tsconfig.json", - "include": ["./src/**/*.ts", "./tests/**/*.ts"] -} diff --git a/packages/eslint/imports.js b/packages/eslint/imports.js new file mode 100644 index 0000000..f6b4d82 --- /dev/null +++ b/packages/eslint/imports.js @@ -0,0 +1,27 @@ +module.exports = { + extends: ['plugin:import/errors', 'plugin:import/warnings', 'plugin:import/typescript'], + plugins: ['eslint-plugin-import'], + rules: { + 'import/order': [ + 'warn', + { + 'newlines-between': 'always', + groups: ['builtin', 'external', 'internal', ['parent', 'sibling'], 'index'], + // https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/order.md#pathgroups-array-of-objects + pathGroups: [ + { + pattern: '@nzyme/**', + group: 'internal', + position: 'before', + }, + ], + pathGroupsExcludedImportTypes: ['builtin'], + alphabetize: { + order: 'asc', + }, + }, + ], + // we have TypeScript handling that + 'import/no-unresolved': 'off', + }, +}; diff --git a/packages/eslint/package.json b/packages/eslint/package.json index 18e7bfd..b959cf9 100644 --- a/packages/eslint/package.json +++ b/packages/eslint/package.json @@ -4,27 +4,15 @@ "repository": "https://github.com/kedrzu/lesscms.git", "author": "Michał Kędrzyński ", "license": "MIT", - "type": "module", - "main": "./dist/index.js", - "types": "./src/index.ts", "sideEffects": false, - "devDependencies": { - "@typescript-eslint/eslint-plugin": "5.60.1", - "@typescript-eslint/parser": "5.60.1", - "eslint": "8.43.0", - "eslint-config-prettier": "8.8.0", - "eslint-plugin-import": "2.27.5", - "eslint-plugin-jsdoc": "46.4.2", - "eslint-plugin-prefer-arrow": "1.2.3", - "eslint-plugin-vue": "^9.15.1" - }, + "devDependencies": {}, "dependencies": { - "@types/eslint": "^8.40.2" - }, - "depcheck": { - "ignoreDeps": [ - "@typescript-eslint/*", - "eslint-*" - ] + "@typescript-eslint/eslint-plugin": "^5.60.1", + "@typescript-eslint/parser": "^5.60.1", + "eslint": "^8.43.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-jsdoc": "^46.4.2", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-vue": "^9.15.1" } } diff --git a/packages/eslint/src/defineConfig.ts b/packages/eslint/src/defineConfig.ts deleted file mode 100644 index 8c6c791..0000000 --- a/packages/eslint/src/defineConfig.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Linter } from 'eslint'; - -export function defineConfig(config: Linter.Config): Linter.Config { - return config; -} diff --git a/packages/eslint/src/index.ts b/packages/eslint/src/index.ts deleted file mode 100644 index 79e67ab..0000000 --- a/packages/eslint/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './defineConfig.js'; diff --git a/packages/eslint/tsconfig.eslint.json b/packages/eslint/tsconfig.eslint.json deleted file mode 100644 index aed2203..0000000 --- a/packages/eslint/tsconfig.eslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tsconfig.json", - "include": ["./src/**/*.ts", "./tests/**/*.ts"] -} diff --git a/packages/eslint/tsconfig.json b/packages/eslint/tsconfig.json deleted file mode 100644 index 1f34d0e..0000000 --- a/packages/eslint/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "outDir": "./dist", - "rootDir": "./src" - }, - "include": ["src"], - "references": [] -} diff --git a/packages/eslint/typescript.js b/packages/eslint/typescript.js new file mode 100644 index 0000000..1a1decf --- /dev/null +++ b/packages/eslint/typescript.js @@ -0,0 +1,15 @@ +module.exports = { + env: { + node: true, + browser: true, + }, + parser: '@typescript-eslint/parser', + plugins: ['@typescript-eslint'], + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/eslint-recommended', + 'plugin:@typescript-eslint/recommended', + 'prettier', + './imports', + ], +}; diff --git a/packages/eslint/vue.js b/packages/eslint/vue.js new file mode 100644 index 0000000..6c083e2 --- /dev/null +++ b/packages/eslint/vue.js @@ -0,0 +1,13 @@ +module.exports = { + env: { + browser: true, + node: true, + }, + extends: ['./typescript.js', 'plugin:vue/vue3-recommended'], + parser: 'vue-eslint-parser', + parserOptions: { + parser: '@typescript-eslint/parser', + }, + plugins: [], + rules: {}, +}; diff --git a/packages/esm/.eslintrc.cjs b/packages/esm/.eslintrc.cjs new file mode 100644 index 0000000..d065397 --- /dev/null +++ b/packages/esm/.eslintrc.cjs @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: [require.resolve('@nzyme/eslint/vue')], +}; diff --git a/packages/esm/tsconfig.eslint.json b/packages/esm/tsconfig.eslint.json deleted file mode 100644 index aed2203..0000000 --- a/packages/esm/tsconfig.eslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tsconfig.json", - "include": ["./src/**/*.ts", "./tests/**/*.ts"] -} diff --git a/packages/i18n/.eslintrc.cjs b/packages/i18n/.eslintrc.cjs new file mode 100644 index 0000000..d065397 --- /dev/null +++ b/packages/i18n/.eslintrc.cjs @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: [require.resolve('@nzyme/eslint/vue')], +}; diff --git a/packages/i18n/tsconfig.eslint.json b/packages/i18n/tsconfig.eslint.json deleted file mode 100644 index aed2203..0000000 --- a/packages/i18n/tsconfig.eslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tsconfig.json", - "include": ["./src/**/*.ts", "./tests/**/*.ts"] -} diff --git a/packages/ioc/.eslintrc.cjs b/packages/ioc/.eslintrc.cjs new file mode 100644 index 0000000..d065397 --- /dev/null +++ b/packages/ioc/.eslintrc.cjs @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: [require.resolve('@nzyme/eslint/vue')], +}; diff --git a/packages/ioc/tsconfig.eslint.json b/packages/ioc/tsconfig.eslint.json deleted file mode 100644 index aed2203..0000000 --- a/packages/ioc/tsconfig.eslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tsconfig.json", - "include": ["./src/**/*.ts", "./tests/**/*.ts"] -} diff --git a/packages/schema/.eslintrc.cjs b/packages/schema/.eslintrc.cjs new file mode 100644 index 0000000..d065397 --- /dev/null +++ b/packages/schema/.eslintrc.cjs @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: [require.resolve('@nzyme/eslint/vue')], +}; diff --git a/packages/schema/tsconfig.eslint.json b/packages/schema/tsconfig.eslint.json deleted file mode 100644 index aed2203..0000000 --- a/packages/schema/tsconfig.eslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tsconfig.json", - "include": ["./src/**/*.ts", "./tests/**/*.ts"] -} diff --git a/packages/types/.eslintrc.cjs b/packages/types/.eslintrc.cjs new file mode 100644 index 0000000..d065397 --- /dev/null +++ b/packages/types/.eslintrc.cjs @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: [require.resolve('@nzyme/eslint/vue')], +}; diff --git a/packages/types/tsconfig.eslint.json b/packages/types/tsconfig.eslint.json deleted file mode 100644 index c7136b9..0000000 --- a/packages/types/tsconfig.eslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tsconfig.json", - "include": ["./**/*.ts"] -} diff --git a/packages/utils/.eslintrc.cjs b/packages/utils/.eslintrc.cjs new file mode 100644 index 0000000..2b78fe9 --- /dev/null +++ b/packages/utils/.eslintrc.cjs @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: [require.resolve('@nzyme/eslint/typescript')], +}; diff --git a/packages/validation/.eslintrc.cjs b/packages/validation/.eslintrc.cjs new file mode 100644 index 0000000..2b78fe9 --- /dev/null +++ b/packages/validation/.eslintrc.cjs @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: [require.resolve('@nzyme/eslint/typescript')], +}; diff --git a/packages/vue/.eslintrc.cjs b/packages/vue/.eslintrc.cjs new file mode 100644 index 0000000..d065397 --- /dev/null +++ b/packages/vue/.eslintrc.cjs @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: [require.resolve('@nzyme/eslint/vue')], +}; diff --git a/packages/vue/src/Format.ts b/packages/vue/src/Format.ts index 91c01a1..7178b85 100644 --- a/packages/vue/src/Format.ts +++ b/packages/vue/src/Format.ts @@ -1,4 +1,5 @@ import { defineComponent, VNodeChild } from 'vue'; + import { prop } from './prop.js'; const regex = /\{\s*(\w*)\s*\}/gm; diff --git a/packages/vue/src/modal/ModalHost.ts b/packages/vue/src/modal/ModalHost.ts index b34e390..c3ee52f 100644 --- a/packages/vue/src/modal/ModalHost.ts +++ b/packages/vue/src/modal/ModalHost.ts @@ -1,8 +1,7 @@ import { defineComponent, h } from 'vue'; -import { useService } from '../useService.js'; - import { ModalService } from './ModalService.js'; +import { useService } from '../useService.js'; export const ModalHost = defineComponent({ name: 'ModalHost', diff --git a/packages/vue/src/modal/ModalService.ts b/packages/vue/src/modal/ModalService.ts index 1b2fdcb..47b2f77 100644 --- a/packages/vue/src/modal/ModalService.ts +++ b/packages/vue/src/modal/ModalService.ts @@ -1,8 +1,9 @@ import { Ref, defineComponent, h, reactive, ref, ComponentInternalInstance } from 'vue'; + +import { virtualHistory } from '@nzyme/dom'; import { defineService } from '@nzyme/ioc'; import { Writable } from '@nzyme/types'; import { CancelError, arrayRemove, assertValue, createPromise } from '@nzyme/utils'; -import { virtualHistory } from '@nzyme/dom'; import { ModalComponent, diff --git a/packages/vue/src/modal/useModal.ts b/packages/vue/src/modal/useModal.ts index bec4e06..9299e2c 100644 --- a/packages/vue/src/modal/useModal.ts +++ b/packages/vue/src/modal/useModal.ts @@ -2,10 +2,9 @@ import { getCurrentInstance, onUnmounted } from 'vue'; import { arrayRemove } from '@nzyme/utils'; -import { useService } from '../useService.js'; - import { ModalService } from './ModalService.js'; import { Modal, ModalComponent, OpenModalOptions } from './ModalTypes.js'; +import { useService } from '../useService.js'; interface ModalOptions { /** diff --git a/packages/vue/src/modal/useModalProps.ts b/packages/vue/src/modal/useModalProps.ts index 848e831..96e76b0 100644 --- a/packages/vue/src/modal/useModalProps.ts +++ b/packages/vue/src/modal/useModalProps.ts @@ -1,5 +1,5 @@ -import { prop } from '../prop.js'; import { ModalHandler } from './ModalTypes.js'; +import { prop } from '../prop.js'; export function useModalProps() { return { diff --git a/packages/vue/tsconfig.eslint.json b/packages/vue/tsconfig.eslint.json deleted file mode 100644 index 8bf6cc9..0000000 --- a/packages/vue/tsconfig.eslint.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "extends": "./tsconfig.json", - "include": ["./src/**/*.ts", "./src/**/*.tsx", "./src/**/*.vue", "./tests/**/*.ts"] -} diff --git a/packages/vue/tsconfig.json b/packages/vue/tsconfig.json index 2a19830..acf82a9 100644 --- a/packages/vue/tsconfig.json +++ b/packages/vue/tsconfig.json @@ -6,7 +6,6 @@ "lib": ["DOM", "DOM.Iterable", "ESNext"], "jsx": "react", "jsxFactory": "h", - "jsxImportSource": "vue", "composite": false, "plugins": [ {