From d2204e2184872c73e6d5bcdc9a53ddbe5fbfe4ae Mon Sep 17 00:00:00 2001 From: Kenny Daniel Date: Sun, 19 May 2024 00:11:41 -0700 Subject: [PATCH] rollup --- .eslintrc.json | 4 ++++ .gitignore | 1 + package.json | 8 ++++++-- rollup.config.js | 15 +++++++++++++++ 4 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 rollup.config.js diff --git a/.eslintrc.json b/.eslintrc.json index 47d9dd2..f276322 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -7,6 +7,9 @@ "extends": [ "eslint:recommended" ], + "ignorePatterns": [ + "dist/" + ], "parserOptions": { "ecmaVersion": 13, "sourceType": "module" @@ -40,6 +43,7 @@ "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-var": "error", diff --git a/.gitignore b/.gitignore index 4811400..44bfc07 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ coverage node_modules package-lock.json +dist diff --git a/package.json b/package.json index 1142709..d3a376a 100644 --- a/package.json +++ b/package.json @@ -18,15 +18,19 @@ "type": "module", "types": "src/index.d.ts", "scripts": { + "build": "rollup -c", "coverage": "vitest run --coverage", "lint": "eslint .", "test": "vitest run" }, "dependencies": { - "hysnappy": "0.3.1" + "hysnappy": "0.3.1", + "pako": "2.1.0" }, "devDependencies": { "@babel/eslint-parser": "7.24.5", + "@rollup/plugin-node-resolve": "15.2.3", + "@rollup/plugin-terser": "0.4.4", "@types/node": "20.12.12", "@types/pako": "2.0.3", "@vitest/coverage-v8": "1.6.0", @@ -34,7 +38,7 @@ "eslint-plugin-import": "2.29.1", "eslint-plugin-jsdoc": "48.2.5", "hyparquet": "0.9.3", - "pako": "2.1.0", + "rollup": "4.17.2", "typescript": "5.4.5", "vitest": "1.6.0" } diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..296f042 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,15 @@ +import resolve from '@rollup/plugin-node-resolve' +import terser from '@rollup/plugin-terser' + +export default { + input: 'src/index.js', + output: { + file: 'dist/bundle.min.js', + format: 'esm', + sourcemap: true, + }, + plugins: [ + resolve(), // resolve node dependencies + terser(), // minify + ], +}