diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 20e8a8d..346585c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,10 +10,8 @@ jobs: fail-fast: false matrix: node-version: - - 14 - - 12 - - 10 - - 8 + - 20 + - 18 steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 diff --git a/binary-extensions.json.d.ts b/binary-extensions.json.d.ts deleted file mode 100644 index 94a248c..0000000 --- a/binary-extensions.json.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -declare const binaryExtensionsJson: readonly string[]; - -export = binaryExtensionsJson; diff --git a/index.d.ts b/index.d.ts index f469ac5..62da40c 100644 --- a/index.d.ts +++ b/index.d.ts @@ -3,7 +3,7 @@ List of binary file extensions. @example ``` -import binaryExtensions = require('binary-extensions'); +import binaryExtensions from 'binary-extensions'; console.log(binaryExtensions); //=> ['3ds', '3g2', …] @@ -11,4 +11,4 @@ console.log(binaryExtensions); */ declare const binaryExtensions: readonly string[]; -export = binaryExtensions; +export default binaryExtensions; diff --git a/index.js b/index.js index d46e468..6c99c7e 100644 --- a/index.js +++ b/index.js @@ -1 +1,3 @@ -module.exports = require('./binary-extensions.json'); +import binaryExtensions from './binary-extensions.json' with {type: 'json'}; + +export default binaryExtensions; diff --git a/index.test-d.ts b/index.test-d.ts index 2be721e..cd8f696 100644 --- a/index.test-d.ts +++ b/index.test-d.ts @@ -1,6 +1,4 @@ import {expectType} from 'tsd'; -import binaryExtensions = require('.'); -import binaryExtensionsJson = require('./binary-extensions.json'); +import binaryExtensions from './index.js'; expectType(binaryExtensions); -expectType(binaryExtensionsJson); diff --git a/package.json b/package.json index 4710c33..1d53ece 100644 --- a/package.json +++ b/package.json @@ -10,18 +10,23 @@ "email": "sindresorhus@gmail.com", "url": "https://sindresorhus.com" }, + "type": "module", + "exports": { + "types": "./index.d.ts", + "default": "./index.js" + }, "sideEffects": false, "engines": { - "node": ">=8" + "node": ">=18.20" }, "scripts": { - "test": "xo && ava && tsd" + "//test": "xo && ava && tsd", + "test": "ava && tsd" }, "files": [ "index.js", "index.d.ts", - "binary-extensions.json", - "binary-extensions.json.d.ts" + "binary-extensions.json" ], "keywords": [ "binary", @@ -33,8 +38,8 @@ "array" ], "devDependencies": { - "ava": "^1.4.1", - "tsd": "^0.7.2", - "xo": "^0.24.0" + "ava": "^6.1.2", + "tsd": "^0.31.0", + "xo": "^0.58.0" } } diff --git a/readme.md b/readme.md index 88519b3..6eff59d 100644 --- a/readme.md +++ b/readme.md @@ -13,7 +13,7 @@ npm install binary-extensions ## Usage ```js -const binaryExtensions = require('binary-extensions'); +import binaryExtensions from 'binary-extensions'; console.log(binaryExtensions); //=> ['3ds', '3g2', …] @@ -21,5 +21,5 @@ console.log(binaryExtensions); ## Related -- [is-binary-path](https://github.com/sindresorhus/is-binary-path) - Check if a filepath is a binary file +- [is-binary-path](https://github.com/sindresorhus/is-binary-path) - Check if a file path is a binary file - [text-extensions](https://github.com/sindresorhus/text-extensions) - List of text file extensions diff --git a/test.js b/test.js index 74da2c6..5b21be9 100644 --- a/test.js +++ b/test.js @@ -1,5 +1,5 @@ import test from 'ava'; -import binaryExtensions from '.'; +import binaryExtensions from './index.js'; test('main', t => { t.true(Array.isArray(binaryExtensions));