diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index 80d0702..0000000 --- a/.eslintrc.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "env": { - "browser": true, - "es2021": true, - "node": true - }, - "extends": [ - "eslint:recommended" - ], - "ignorePatterns": [ - "dist/" - ], - "parserOptions": { - "ecmaVersion": 13, - "sourceType": "module" - }, - "plugins": ["import", "jsdoc"], - "rules": { - "arrow-spacing": "error", - "camelcase": "off", - "comma-spacing": "error", - "comma-dangle": ["error", "always-multiline"], - "eol-last": "error", - "eqeqeq": "error", - "func-style": ["error", "declaration"], - "import/order": [ - "error", - { - "alphabetize": { - "caseInsensitive": true, - "order": "asc" - }, - "groups": [["builtin", "external"], "internal", "parent", "sibling", "index"] - } - ], - "indent": ["error", 2], - "jsdoc/check-param-names": "error", - "jsdoc/check-property-names": "error", - "jsdoc/check-tag-names": "error", - "jsdoc/require-param": "error", - "jsdoc/require-param-type": "error", - "jsdoc/require-returns": "error", - "jsdoc/require-returns-type": "error", - "jsdoc/sort-tags": "error", - "no-constant-condition": "off", - "no-extra-parens": "error", - "no-multi-spaces": "error", - "no-trailing-spaces": "error", - "no-useless-concat": "error", - "no-useless-rename": "error", - "no-useless-return": "error", - "no-var": "error", - "object-curly-spacing": ["error", "always"], - "prefer-const": "error", - "prefer-destructuring": ["warn", { "VariableDeclarator": { "object": true, "array": false }} ], - "prefer-promise-reject-errors": "error", - "quotes": ["error", "single"], - "require-await": "warn", - "semi": ["error", "never"], - "sort-imports": ["error", { - "ignoreDeclarationSort": true, - "ignoreMemberSort": false, - "memberSyntaxSortOrder": ["none", "all", "multiple", "single"] - }], - "space-infix-ops": "error" - } - } - \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0ec5c83..e2ce3b5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@v3 - run: npm i - - run: tsc + - run: npx tsc test: runs-on: ubuntu-latest diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..20e4723 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,71 @@ +import javascript from '@eslint/js' +import jsdoc from 'eslint-plugin-jsdoc' + +export default [ + { + ignores: [ + 'node_modules/**/*', + 'coverage/', + 'dist/', + ], + }, + { + plugins: { + jsdoc, + }, + + languageOptions: { + globals: { + 'atob': false, + }, + }, + + rules: { + ...javascript.configs.recommended.rules, + 'arrow-spacing': 'error', + camelcase: 'off', + 'comma-spacing': 'error', + 'comma-dangle': ['error', { + arrays: 'always-multiline', + objects: 'always-multiline', + imports: 'always-multiline', + exports: 'always-multiline', + functions: 'never', + }], + 'eol-last': 'error', + eqeqeq: 'error', + 'func-style': ['error', 'declaration'], + indent: ['error', 2], + 'jsdoc/check-param-names': 'error', + 'jsdoc/check-property-names': 'error', + 'jsdoc/check-tag-names': 'error', + 'jsdoc/require-param': 'error', + 'jsdoc/require-param-type': 'error', + 'jsdoc/require-returns': 'error', + 'jsdoc/require-returns-type': 'error', + 'jsdoc/sort-tags': 'error', + 'no-constant-condition': 'off', + 'no-extra-parens': 'error', + 'no-multi-spaces': 'error', + 'no-trailing-spaces': 'warn', + 'no-undef': 'error', + 'no-unused-vars': 'error', + 'no-useless-concat': 'error', + 'no-useless-rename': 'error', + 'no-useless-return': 'error', + 'no-var': 'error', + 'object-curly-spacing': ['error', 'always'], + 'prefer-const': 'error', + 'prefer-promise-reject-errors': 'error', + quotes: ['error', 'single'], + 'require-await': 'warn', + semi: ['error', 'never'], + 'sort-imports': ['error', { + ignoreDeclarationSort: true, + ignoreMemberSort: false, + memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'], + }], + 'space-infix-ops': 'error', + }, + }, +] diff --git a/hyparquet-compressors.jpg b/hyparquet-compressors.jpg index c25d791..e954193 100644 Binary files a/hyparquet-compressors.jpg and b/hyparquet-compressors.jpg differ diff --git a/package.json b/package.json index b62fdd0..dbdacd8 100644 --- a/package.json +++ b/package.json @@ -28,26 +28,26 @@ "scripts": { "build": "rollup -c", "coverage": "vitest run --coverage", - "lint": "eslint .", + "lint": "eslint", "test": "vitest run" }, "dependencies": { "fzstd": "0.1.1", - "hysnappy": "0.3.1" + "hysnappy": "1.0.0" }, "devDependencies": { - "@babel/eslint-parser": "7.24.6", - "@rollup/plugin-commonjs": "25.0.8", - "@rollup/plugin-node-resolve": "15.2.3", + "@babel/eslint-parser": "7.25.9", + "@rollup/plugin-commonjs": "28.0.1", + "@rollup/plugin-node-resolve": "15.3.0", "@rollup/plugin-terser": "0.4.4", - "@types/node": "20.12.12", - "@vitest/coverage-v8": "1.6.0", - "eslint": "8.57.0", - "eslint-plugin-import": "2.29.1", - "eslint-plugin-jsdoc": "48.2.6", - "hyparquet": "0.9.7", - "rollup": "4.18.0", - "typescript": "5.4.5", - "vitest": "1.6.0" + "@types/node": "22.10.1", + "@vitest/coverage-v8": "2.1.8", + "eslint": "9.16.0", + "eslint-plugin-import": "2.31.0", + "eslint-plugin-jsdoc": "50.6.0", + "hyparquet": "1.6.3", + "rollup": "4.28.1", + "typescript": "5.7.2", + "vitest": "2.1.8" } } diff --git a/test/package.test.js b/test/package.test.js index 2fda96a..560d549 100644 --- a/test/package.test.js +++ b/test/package.test.js @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest' -import packageJson from '../package.json' +import packageJson from '../package.json' with { type: 'json' } describe('package.json', () => { it('should have the correct name', () => { @@ -18,4 +18,7 @@ describe('package.json', () => { expect(version).toMatch(/^\d+\.\d+\.\d+$/) }) }) + it('should have no peerDependencies', () => { + expect('peerDependencies' in packageJson).toBe(false) + }) })