From 45ca3d96edc03af0986b1e815062fe079f35f8a5 Mon Sep 17 00:00:00 2001 From: dangreen Date: Fri, 25 Nov 2022 14:16:41 +0400 Subject: [PATCH] feat: esm support --- package-lock.json | 173 +++++++++++++++++++++------------------------- package.json | 14 ++-- rollup.config.js | 2 +- src/color.js | 12 ++-- src/hue.js | 2 +- src/index.esm.js | 12 ++-- src/index.js | 2 +- src/names.js | 2 +- src/rgb.js | 2 +- src/srgb.js | 2 +- test/compare.js | 18 ++--- test/hexbench.js | 4 +- test/index.js | 6 +- tsconfig.json | 4 +- util/copy_dist.js | 2 +- util/pack.js | 7 +- 16 files changed, 128 insertions(+), 136 deletions(-) diff --git a/package-lock.json b/package-lock.json index b962b02..a6bb75e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,10 +33,10 @@ "rollup-plugin-cleanup": "^3.2.1", "rollup-plugin-istanbul": "^3.0.0", "rollup-plugin-terser": "^7.0.2", - "rollup-plugin-visualizer": "^5.5.0", + "rollup-plugin-visualizer": "^5.8.3", "tinycolor2": "^1.4.2", - "typedoc": "^0.22.13", - "typescript": "^4.6.3", + "typedoc": "^0.23.21", + "typescript": "^4.9.3", "util": "^0.12.3" } }, @@ -2223,9 +2223,9 @@ } }, "node_modules/jsonc-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", - "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, "node_modules/jsx-ast-utils": { @@ -2307,9 +2307,9 @@ } }, "node_modules/marked": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.16.tgz", - "integrity": "sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.3.tgz", + "integrity": "sha512-slWRdJkbTZ+PjkyJnE30Uid64eHwbwa1Q25INCAYfZlK4o6ylagBy/Le9eWntqJFoFT93ikUKMv47GZ4gTwHkw==", "dev": true, "bin": { "marked": "bin/marked.js" @@ -2348,18 +2348,6 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -2846,24 +2834,28 @@ } }, "node_modules/rollup-plugin-visualizer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.6.0.tgz", - "integrity": "sha512-CKcc8GTUZjC+LsMytU8ocRr/cGZIfMR7+mdy4YnlyetlmIl/dM8BMnOEpD4JPIGt+ZVW7Db9ZtSsbgyeBH3uTA==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.8.3.tgz", + "integrity": "sha512-QGJk4Bqe4AOat5AjipOh8esZH1nck5X2KFpf4VytUdSUuuuSwvIQZjMGgjcxe/zXexltqaXp5Vx1V3LmnQH15Q==", "dev": true, "dependencies": { - "nanoid": "^3.1.32", "open": "^8.4.0", - "source-map": "^0.7.3", - "yargs": "^17.3.1" + "source-map": "^0.7.4", + "yargs": "^17.5.1" }, "bin": { "rollup-plugin-visualizer": "dist/bin/cli.js" }, "engines": { - "node": ">=12" + "node": ">=14" }, "peerDependencies": { - "rollup": "^2.0.0" + "rollup": "2.x || 3.x" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, "node_modules/rollup-pluginutils": { @@ -2927,14 +2919,14 @@ } }, "node_modules/shiki": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.10.1.tgz", - "integrity": "sha512-VsY7QJVzU51j5o1+DguUd+6vmCmZ5v/6gYu4vyYAhzjuNQU6P/vmSy4uQaOhvje031qQMiW0d2BwgMH52vqMng==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.11.1.tgz", + "integrity": "sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA==", "dev": true, "dependencies": { "jsonc-parser": "^3.0.0", "vscode-oniguruma": "^1.6.1", - "vscode-textmate": "5.2.0" + "vscode-textmate": "^6.0.0" } }, "node_modules/side-channel": { @@ -2970,9 +2962,9 @@ } }, "node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, "engines": { "node": ">= 8" @@ -3212,25 +3204,24 @@ } }, "node_modules/typedoc": { - "version": "0.22.15", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.15.tgz", - "integrity": "sha512-CMd1lrqQbFvbx6S9G6fL4HKp3GoIuhujJReWqlIvSb2T26vGai+8Os3Mde7Pn832pXYemd9BMuuYWhFpL5st0Q==", + "version": "0.23.21", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.23.21.tgz", + "integrity": "sha512-VNE9Jv7BgclvyH9moi2mluneSviD43dCE9pY8RWkO88/DrEgJZk9KpUk7WO468c9WWs/+aG6dOnoH7ccjnErhg==", "dev": true, "dependencies": { - "glob": "^7.2.0", "lunr": "^2.3.9", - "marked": "^4.0.12", - "minimatch": "^5.0.1", - "shiki": "^0.10.1" + "marked": "^4.0.19", + "minimatch": "^5.1.0", + "shiki": "^0.11.1" }, "bin": { "typedoc": "bin/typedoc" }, "engines": { - "node": ">= 12.10.0" + "node": ">= 14.14" }, "peerDependencies": { - "typescript": "4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x || 4.5.x || 4.6.x" + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x" } }, "node_modules/typedoc/node_modules/brace-expansion": { @@ -3255,9 +3246,9 @@ } }, "node_modules/typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -3312,15 +3303,15 @@ "dev": true }, "node_modules/vscode-oniguruma": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.6.2.tgz", - "integrity": "sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", "dev": true }, "node_modules/vscode-textmate": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz", - "integrity": "sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-6.0.0.tgz", + "integrity": "sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ==", "dev": true }, "node_modules/which": { @@ -5106,9 +5097,9 @@ "dev": true }, "jsonc-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", - "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, "jsx-ast-utils": { @@ -5178,9 +5169,9 @@ } }, "marked": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.16.tgz", - "integrity": "sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.3.tgz", + "integrity": "sha512-slWRdJkbTZ+PjkyJnE30Uid64eHwbwa1Q25INCAYfZlK4o6ylagBy/Le9eWntqJFoFT93ikUKMv47GZ4gTwHkw==", "dev": true }, "merge-stream": { @@ -5210,12 +5201,6 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "dev": true - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -5567,15 +5552,14 @@ } }, "rollup-plugin-visualizer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.6.0.tgz", - "integrity": "sha512-CKcc8GTUZjC+LsMytU8ocRr/cGZIfMR7+mdy4YnlyetlmIl/dM8BMnOEpD4JPIGt+ZVW7Db9ZtSsbgyeBH3uTA==", + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.8.3.tgz", + "integrity": "sha512-QGJk4Bqe4AOat5AjipOh8esZH1nck5X2KFpf4VytUdSUuuuSwvIQZjMGgjcxe/zXexltqaXp5Vx1V3LmnQH15Q==", "dev": true, "requires": { - "nanoid": "^3.1.32", "open": "^8.4.0", - "source-map": "^0.7.3", - "yargs": "^17.3.1" + "source-map": "^0.7.4", + "yargs": "^17.5.1" } }, "rollup-pluginutils": { @@ -5632,14 +5616,14 @@ "dev": true }, "shiki": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.10.1.tgz", - "integrity": "sha512-VsY7QJVzU51j5o1+DguUd+6vmCmZ5v/6gYu4vyYAhzjuNQU6P/vmSy4uQaOhvje031qQMiW0d2BwgMH52vqMng==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.11.1.tgz", + "integrity": "sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA==", "dev": true, "requires": { "jsonc-parser": "^3.0.0", "vscode-oniguruma": "^1.6.1", - "vscode-textmate": "5.2.0" + "vscode-textmate": "^6.0.0" } }, "side-channel": { @@ -5669,9 +5653,9 @@ "dev": true }, "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true }, "source-map-support": { @@ -5852,16 +5836,15 @@ "dev": true }, "typedoc": { - "version": "0.22.15", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.15.tgz", - "integrity": "sha512-CMd1lrqQbFvbx6S9G6fL4HKp3GoIuhujJReWqlIvSb2T26vGai+8Os3Mde7Pn832pXYemd9BMuuYWhFpL5st0Q==", + "version": "0.23.21", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.23.21.tgz", + "integrity": "sha512-VNE9Jv7BgclvyH9moi2mluneSviD43dCE9pY8RWkO88/DrEgJZk9KpUk7WO468c9WWs/+aG6dOnoH7ccjnErhg==", "dev": true, "requires": { - "glob": "^7.2.0", "lunr": "^2.3.9", - "marked": "^4.0.12", - "minimatch": "^5.0.1", - "shiki": "^0.10.1" + "marked": "^4.0.19", + "minimatch": "^5.1.0", + "shiki": "^0.11.1" }, "dependencies": { "brace-expansion": { @@ -5885,9 +5868,9 @@ } }, "typescript": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", - "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", + "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", "dev": true }, "unbox-primitive": { @@ -5932,15 +5915,15 @@ "dev": true }, "vscode-oniguruma": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.6.2.tgz", - "integrity": "sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", "dev": true }, "vscode-textmate": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz", - "integrity": "sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-6.0.0.tgz", + "integrity": "sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ==", "dev": true }, "which": { diff --git a/package.json b/package.json index c77fe98..c3d2427 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,16 @@ { "name": "@kurkle/color", + "type": "module", "version": "0.2.1", "description": "css color parsing, manupulation and conversion", - "main": "dist/color.js", + "main": "dist/color.cjs", "module": "dist/color.esm.js", "types": "dist/color.d.ts", + "exports": { + "types": "./dist/color.d.ts", + "import": "./dist/color.esm.js", + "require": "./dist/color.cjs" + }, "scripts": { "build": "node util/copy_dist.js && rollup -c", "lint": "eslint src/*.js test/*.js util/*.js", @@ -61,10 +67,10 @@ "rollup-plugin-cleanup": "^3.2.1", "rollup-plugin-istanbul": "^3.0.0", "rollup-plugin-terser": "^7.0.2", - "rollup-plugin-visualizer": "^5.5.0", + "rollup-plugin-visualizer": "^5.8.3", "tinycolor2": "^1.4.2", - "typedoc": "^0.22.13", - "typescript": "^4.6.3", + "typedoc": "^0.23.21", + "typescript": "^4.9.3", "util": "^0.12.3" } } diff --git a/rollup.config.js b/rollup.config.js index d628a6d..cf4a324 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -47,7 +47,7 @@ export default [ ], output: { name, - file: main.replace('.js', '.min.js'), + file: main.replace('.cjs', '.min.js'), format: 'umd', sourcemap: true, indent: false diff --git a/src/color.js b/src/color.js index 7b7aa3c..eb76381 100644 --- a/src/color.js +++ b/src/color.js @@ -3,12 +3,12 @@ * @module index */ -import {b2n, n2b, round} from './byte'; -import {hexParse, hexString} from './hex'; -import {hsl2rgb, hslString, hueParse, rgb2hsl, rotate} from './hue'; -import {nameParse} from './names'; -import {rgbParse, rgbString} from './rgb'; -import {interpolate} from './srgb'; +import {b2n, n2b, round} from './byte.js'; +import {hexParse, hexString} from './hex.js'; +import {hsl2rgb, hslString, hueParse, rgb2hsl, rotate} from './hue.js'; +import {nameParse} from './names.js'; +import {rgbParse, rgbString} from './rgb.js'; +import {interpolate} from './srgb.js'; /** * @typedef {import('./index.js').RGBA} RGBA diff --git a/src/hue.js b/src/hue.js index 3e572b2..abd17af 100644 --- a/src/hue.js +++ b/src/hue.js @@ -3,7 +3,7 @@ * @module utils */ -import {b2n, n2p, n2b, p2b} from './byte'; +import {b2n, n2p, n2b, p2b} from './byte.js'; /** * @typedef {import('./index.js').RGBA} RGBA diff --git a/src/index.esm.js b/src/index.esm.js index 20c1408..d7ec8fa 100644 --- a/src/index.esm.js +++ b/src/index.esm.js @@ -3,14 +3,14 @@ * @module index */ -import Color from './color'; +import Color from './color.js'; export {Color}; -export * from './byte'; -export * from './hex'; -export * from './hue'; -export * from './names'; -export * from './rgb'; +export * from './byte.js'; +export * from './hex.js'; +export * from './hue.js'; +export * from './names.js'; +export * from './rgb.js'; /** * @typedef {Object} RGBA diff --git a/src/index.js b/src/index.js index 62f575b..5be0245 100644 --- a/src/index.js +++ b/src/index.js @@ -3,7 +3,7 @@ * @module index */ -import Color from './color'; +import Color from './color.js'; /** * @typedef {Object} RGBA diff --git a/src/names.js b/src/names.js index 741cff9..d2f8a60 100644 --- a/src/names.js +++ b/src/names.js @@ -3,7 +3,7 @@ * @module utils */ -import unpack from '../packed'; +import unpack from '../packed.js'; let names; /** diff --git a/src/rgb.js b/src/rgb.js index 107a31b..bdf0fa9 100644 --- a/src/rgb.js +++ b/src/rgb.js @@ -3,7 +3,7 @@ * @module utils */ -import {b2n, lim, p2b} from './byte'; +import {b2n, lim, p2b} from './byte.js'; /** * @typedef {import('./index.js').RGBA} RGBA diff --git a/src/srgb.js b/src/srgb.js index de50c18..f4b70f5 100644 --- a/src/srgb.js +++ b/src/srgb.js @@ -1,4 +1,4 @@ -import {b2n, n2b} from './byte'; +import {b2n, n2b} from './byte.js'; /** * @typedef {import('./index.js').RGBA} RGBA diff --git a/test/compare.js b/test/compare.js index c31d4f5..5a04f8e 100644 --- a/test/compare.js +++ b/test/compare.js @@ -1,12 +1,14 @@ /* eslint-disable no-console */ -const benchmark = require('benchmark'); -const kcolor = require('../dist/color.js'); -const ostring = require('color-string').get; -const tinycolor = require('tinycolor2'); -const color = require('chartjs-color'); -const chroma = require('chroma-js'); -const parse = require('color-parse'); -const parser = require('color-parser'); +import benchmark from 'benchmark'; +import colorString from 'color-string'; +import tinycolor from 'tinycolor2'; +import color from 'chartjs-color'; +import chroma from 'chroma-js'; +import parse from 'color-parse'; +import parser from 'color-parser'; +import kcolor from '../dist/color.esm.js'; + +const {get: ostring} = colorString; const strings = [ '#d6F', diff --git a/test/hexbench.js b/test/hexbench.js index a0a159a..3fe7663 100644 --- a/test/hexbench.js +++ b/test/hexbench.js @@ -1,10 +1,10 @@ /* eslint-disable no-console */ -const Suite = require('benchmark').Suite; +import benchmark from 'benchmark'; var map = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15}; var str = 'Af08Df88'; -var suite = new Suite(); +var suite = new benchmark.Suite(); suite .add('parseInt +', function() { diff --git a/test/index.js b/test/index.js index dca0f35..212601e 100644 --- a/test/index.js +++ b/test/index.js @@ -1,7 +1,7 @@ -const Color = require('../dist/color.js'); -const assert = require('assert'); +import assert from 'assert'; +import {Color} from '../dist/color.esm.js'; -assert.deepStrictEqual(Color('#fef').rgb, {r: 255, g: 238, b: 255, a: 1}); +assert.deepStrictEqual(new Color('#fef').rgb, {r: 255, g: 238, b: 255, a: 1}); assert.deepStrictEqual(new Color('#fffFEF').rgb, {r: 255, g: 255, b: 239, a: 1}); assert.deepStrictEqual(new Color('#feg').rgb, {r: 255, g: 238, b: 0, a: 1}); assert.deepStrictEqual(new Color('rgb(244, 233, 100)').rgb, {r: 244, g: 233, b: 100, a: 1}); diff --git a/tsconfig.json b/tsconfig.json index c14bc3e..ab0112d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,7 @@ "compilerOptions": { "target": "ES6", "module": "ES6", - "moduleResolution": "Node", + "moduleResolution": "NodeNext", "allowJs": true, "checkJs": true, "noEmit": true, @@ -22,4 +22,4 @@ "includeVersion": true, "out": "./docs", }, -} \ No newline at end of file +} diff --git a/util/copy_dist.js b/util/copy_dist.js index 31b8243..81a249c 100644 --- a/util/copy_dist.js +++ b/util/copy_dist.js @@ -1,4 +1,4 @@ -const fs = require('fs'); +import fs from 'fs'; if (!fs.existsSync('dist')) { fs.mkdirSync('dist'); diff --git a/util/pack.js b/util/pack.js index f300a74..55a7c84 100644 --- a/util/pack.js +++ b/util/pack.js @@ -1,6 +1,7 @@ -var names = require('color-name'); -var util = require('util'); -var fs = require('fs'); +import util from 'util'; +import fs from 'fs'; +import names from 'color-name'; + var s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; var nums = '0123456789'; var i, j, k, t;