diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 825fc20..0000000 --- a/.eslintrc +++ /dev/null @@ -1,33 +0,0 @@ -{ - "parser": "@typescript-eslint/parser", - "extends": [ - "standard", - "standard-react", - "plugin:prettier/recommended", - "prettier/standard", - "prettier/react", - "plugin:@typescript-eslint/eslint-recommended" - ], - "env": { - "node": true - }, - "parserOptions": { - "ecmaVersion": 2020, - "ecmaFeatures": { - "legacyDecorators": true, - "jsx": true - } - }, - "settings": { - "react": { - "version": "16" - } - }, - "rules": { - "space-before-function-paren": 0, - "react/prop-types": 0, - "react/jsx-handler-names": 0, - "react/jsx-fragments": 0, - "import/export": 0 - } -} diff --git a/README.md b/README.md index d021ae2..45dd6c9 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@ [![NPM](https://img.shields.io/npm/v/react-modern-drawer.svg)](https://www.npmjs.com/package/react-modern-drawer) ![npm](https://img.shields.io/npm/dt/react-modern-drawer) ![npm](https://img.shields.io/npm/dw/react-modern-drawer) -![npm bundle size (version)](https://img.shields.io/bundlephobia/min/react-modern-drawer/1.3.0) -![npm bundle size (version)](https://img.shields.io/bundlephobia/minzip/react-modern-drawer/1.3.0) +![npm bundle size (version)](https://img.shields.io/bundlephobia/min/react-modern-drawer/1.3.1) +![npm bundle size (version)](https://img.shields.io/bundlephobia/minzip/react-modern-drawer/1.3.1) ![NPM](https://img.shields.io/npm/l/react-modern-drawer) ## Low bundle size with fantastic performance diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..05569dc --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,12 @@ +import globals from "globals"; +import pluginJs from "@eslint/js"; +import tseslint from "typescript-eslint"; +import pluginReactConfig from "eslint-plugin-react/configs/recommended.js"; + + +export default [ + {languageOptions: { globals: globals.browser }}, + pluginJs.configs.recommended, + ...tseslint.configs.recommended, + pluginReactConfig, +]; \ No newline at end of file diff --git a/example/package.json b/example/package.json index bfc5540..53bd7aa 100644 --- a/example/package.json +++ b/example/package.json @@ -1,29 +1,34 @@ { - "name": "react-modern-drawer-example", - "homepage": ".", - "version": "0.0.1", - "private": true, - "scripts": { - "start": "node ../node_modules/react-scripts/bin/react-scripts.js start", - "build": "node ../node_modules/react-scripts/bin/react-scripts.js build", - "test": "node ../node_modules/react-scripts/bin/react-scripts.js test", - "eject": "node ../node_modules/react-scripts/bin/react-scripts.js eject" - }, - "dependencies": { - "@types/node": "link:../node_modules/@types/node", - "@types/react": "link:../node_modules/@types/react", - "@types/react-dom": "link:../node_modules/@types/react-dom", - "eslint-config-react-app": "link:../node_modules/eslint-config-react-app", - "react": "link:../node_modules/react", - "react-dom": "link:../node_modules/react-dom", - "react-modern-drawer": "link:..", - "react-scripts": "link:../node_modules/react-scripts", - "typescript": "link:../node_modules/typescript" - }, - "devDependencies": { - "@babel/plugin-syntax-object-rest-spread": "^7.8.3" - }, - "eslintConfig": { - "extends": "react-app" - } + "name": "react-modern-drawer-example", + "homepage": ".", + "version": "0.0.1", + "private": true, + "scripts": { + "start": "node ../node_modules/react-scripts/bin/react-scripts.js start", + "build": "node ../node_modules/react-scripts/bin/react-scripts.js build", + "test": "node ../node_modules/react-scripts/bin/react-scripts.js test", + "eject": "node ../node_modules/react-scripts/bin/react-scripts.js eject" + }, + "dependencies": { + "@types/node": "link:../node_modules/@types/node", + "@types/react": "link:../node_modules/@types/react", + "@types/react-dom": "link:../node_modules/@types/react-dom", + "react": "link:../node_modules/react", + "react-dom": "link:../node_modules/react-dom", + "react-modern-drawer": "link:..", + "react-scripts": "link:../node_modules/react-scripts", + "typescript": "link:../node_modules/typescript" + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } } diff --git a/example/tsconfig.json b/example/tsconfig.json index 48570ae..6e4f69f 100644 --- a/example/tsconfig.json +++ b/example/tsconfig.json @@ -15,7 +15,6 @@ "noImplicitThis": true, "noImplicitAny": true, "strictNullChecks": true, - "suppressImplicitAnyIndexErrors": true, "noUnusedLocals": true, "noUnusedParameters": true, "allowSyntheticDefaultImports": true, diff --git a/example/yarn.lock b/example/yarn.lock index 9a9536b..35e4ade 100644 --- a/example/yarn.lock +++ b/example/yarn.lock @@ -4026,10 +4026,6 @@ eslint-config-react-app@^7.0.1: eslint-plugin-react-hooks "^4.3.0" eslint-plugin-testing-library "^5.0.1" -"eslint-config-react-app@link:../node_modules/eslint-config-react-app": - version "0.0.0" - uid "" - eslint-import-resolver-node@^0.3.6: version "0.3.6" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" diff --git a/package.json b/package.json index 7a1f297..0bd30a5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-modern-drawer", - "version": "1.3.0", + "version": "1.3.1", "description": "Creating drawers in react made easy!", "author": "Farzin-Firoozi", "license": "MIT", @@ -19,6 +19,7 @@ "react": ">16.0.0" }, "devDependencies": { + "@eslint/js": "^9.1.1", "@types/node": "^20.12.7", "@types/react": "^18.3.1", "@types/react-dom": "^18.3.0", @@ -36,13 +37,15 @@ "eslint-plugin-react": "^7.34.1", "eslint-plugin-standard": "^5.0.0", "gh-pages": "^6.1.1", + "globals": "^15.1.0", "microbundle-crl": "^0.13.11", "npm-run-all": "^4.1.5", "prettier": "^3.2.5", "react": "^18.3.1", "react-dom": "^18.3.1", "react-scripts": "^5.0.1", - "typescript": "^5.4.5" + "typescript": "^5.4.5", + "typescript-eslint": "^7.8.0" }, "files": [ "dist" @@ -58,8 +61,5 @@ "modern-drawer", "material-drawer", "react-modern-drawer" - ], - "dependencies": { - "caniuse-lite": "^1.0.30001614" - } + ] } diff --git a/yarn.lock b/yarn.lock index 0f994eb..967ebd8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1192,7 +1192,7 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@9.1.1": +"@eslint/js@9.1.1", "@eslint/js@^9.1.1": version "9.1.1" resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.1.1.tgz#eb0f82461d12779bbafc1b5045cde3143d350a8a" integrity sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ== @@ -2030,22 +2030,7 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^5.5.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.15.0.tgz#c28ef7f2e688066db0b6a9d95fb74185c114fb9a" - integrity sha512-u6Db5JfF0Esn3tiAKELvoU5TpXVSkOpZ78cEGn/wXtT2RVqs2vkt4ge6N8cRCyw7YVKhmmLDbwI2pg92mlv7cA== - dependencies: - "@typescript-eslint/scope-manager" "5.15.0" - "@typescript-eslint/type-utils" "5.15.0" - "@typescript-eslint/utils" "5.15.0" - debug "^4.3.2" - functional-red-black-tree "^1.0.1" - ignore "^5.1.8" - regexpp "^3.2.0" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/eslint-plugin@^7.8.0": +"@typescript-eslint/eslint-plugin@7.8.0", "@typescript-eslint/eslint-plugin@^7.8.0": version "7.8.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.8.0.tgz#c78e309fe967cb4de05b85cdc876fb95f8e01b6f" integrity sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg== @@ -2062,24 +2047,29 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/experimental-utils@^5.0.0": +"@typescript-eslint/eslint-plugin@^5.5.0": version "5.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.15.0.tgz#407bbbdf1d11d24de81cfdf556b3a9f4252ba4ae" - integrity sha512-AJOOaBrVqKYWaYDBtgMi9XVDB3YHXlffto/3A4VQ39VVaNqosSOp/nW09G4N/ej8WlzHQB2jTnSfP5wWsXSQJA== + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.15.0.tgz#c28ef7f2e688066db0b6a9d95fb74185c114fb9a" + integrity sha512-u6Db5JfF0Esn3tiAKELvoU5TpXVSkOpZ78cEGn/wXtT2RVqs2vkt4ge6N8cRCyw7YVKhmmLDbwI2pg92mlv7cA== dependencies: + "@typescript-eslint/scope-manager" "5.15.0" + "@typescript-eslint/type-utils" "5.15.0" "@typescript-eslint/utils" "5.15.0" + debug "^4.3.2" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.2.0" + semver "^7.3.5" + tsutils "^3.21.0" -"@typescript-eslint/parser@^5.5.0": +"@typescript-eslint/experimental-utils@^5.0.0": version "5.15.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.15.0.tgz#95f603f8fe6eca7952a99bfeef9b85992972e728" - integrity sha512-NGAYP/+RDM2sVfmKiKOCgJYPstAO40vPAgACoWPO/+yoYKSgAXIFaBKsV8P0Cc7fwKgvj27SjRNX4L7f4/jCKQ== + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.15.0.tgz#407bbbdf1d11d24de81cfdf556b3a9f4252ba4ae" + integrity sha512-AJOOaBrVqKYWaYDBtgMi9XVDB3YHXlffto/3A4VQ39VVaNqosSOp/nW09G4N/ej8WlzHQB2jTnSfP5wWsXSQJA== dependencies: - "@typescript-eslint/scope-manager" "5.15.0" - "@typescript-eslint/types" "5.15.0" - "@typescript-eslint/typescript-estree" "5.15.0" - debug "^4.3.2" + "@typescript-eslint/utils" "5.15.0" -"@typescript-eslint/parser@^7.8.0": +"@typescript-eslint/parser@7.8.0", "@typescript-eslint/parser@^7.8.0": version "7.8.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.8.0.tgz#1e1db30c8ab832caffee5f37e677dbcb9357ddc8" integrity sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ== @@ -2090,6 +2080,16 @@ "@typescript-eslint/visitor-keys" "7.8.0" debug "^4.3.4" +"@typescript-eslint/parser@^5.5.0": + version "5.15.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.15.0.tgz#95f603f8fe6eca7952a99bfeef9b85992972e728" + integrity sha512-NGAYP/+RDM2sVfmKiKOCgJYPstAO40vPAgACoWPO/+yoYKSgAXIFaBKsV8P0Cc7fwKgvj27SjRNX4L7f4/jCKQ== + dependencies: + "@typescript-eslint/scope-manager" "5.15.0" + "@typescript-eslint/types" "5.15.0" + "@typescript-eslint/typescript-estree" "5.15.0" + debug "^4.3.2" + "@typescript-eslint/scope-manager@5.15.0": version "5.15.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.15.0.tgz#d97afab5e0abf4018d1289bd711be21676cdd0ee" @@ -3196,11 +3196,6 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001317: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001317.tgz#0548fb28fd5bc259a70b8c1ffdbe598037666a1b" integrity sha512-xIZLh8gBm4dqNX0gkzrBeyI86J2eCjWzYAs40q88smG844YIrN4tVQl/RhquHvKEKImWWFIVh1Lxe5n1G/N+GQ== -caniuse-lite@^1.0.30001614: - version "1.0.30001614" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001614.tgz#f894b4209376a0bf923d67d9c361d96b1dfebe39" - integrity sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog== - case-sensitive-paths-webpack-plugin@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" @@ -5505,6 +5500,11 @@ globals@^14.0.0: resolved "https://registry.yarnpkg.com/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" integrity sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ== +globals@^15.1.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-15.1.0.tgz#4e03d200c8362201636b8cdfaa316d6cef67ff1e" + integrity sha512-926gJqg+4mkxwYKiFvoomM4J0kWESfk3qfTvRL2/oc/tK/eTDBbrfcKnSa2KtfdxB5onoL7D3A3qIHQFpd4+UA== + globalthis@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" @@ -10721,6 +10721,15 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" +typescript-eslint@^7.8.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-7.8.0.tgz#d2a73d4caac35d4d9825bfdfac06a9bf2ba175e4" + integrity sha512-sheFG+/D8N/L7gC3WT0Q8sB97Nm573Yfr+vZFzl/4nBdYcmviBPtwGSX9TJ7wpVg28ocerKVOt+k2eGmHzcgVA== + dependencies: + "@typescript-eslint/eslint-plugin" "7.8.0" + "@typescript-eslint/parser" "7.8.0" + "@typescript-eslint/utils" "7.8.0" + typescript@^3.8.3: version "3.9.10" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8"