diff --git a/CHANGELOG.md b/CHANGELOG.md index 83d2f88..9563eb6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.1.18] - 2022-04-04 + +### Added + +- Added CommonJS support + ## [0.1.17] - 2022-03-25 ### Updated diff --git a/examples/package-lock.json b/examples/package-lock.json index 0cc4570..bbf4170 100644 --- a/examples/package-lock.json +++ b/examples/package-lock.json @@ -6,14 +6,13 @@ "": { "name": "moov-node-sdk-examples", "dependencies": { - "@moovio/node": "^0.1.11" + "@moovio/node": "^0.1.17" } }, "node_modules/@moovio/node": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@moovio/node/-/node-0.1.11.tgz", - "integrity": "sha512-eNWKEiWA7yF/6Hmq6JRhmT015K/LqR6ocFkpeKx1dhmE3oSTnj1m52mZtl9PwINLBXCKhgd05Vsgbv7dRP45zA==", - "license": "Apache-2.0", + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/@moovio/node/-/node-0.1.17.tgz", + "integrity": "sha512-6HWbUKdShw8nlKMOqTN+0kv5UfndFPOdToGInhxS0HwAQgygIde4wTK3DrmQTBYJ1JdJoSwzWgcF3atOp28aYQ==", "dependencies": { "got": "^12.0.0" }, @@ -343,9 +342,9 @@ }, "dependencies": { "@moovio/node": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@moovio/node/-/node-0.1.11.tgz", - "integrity": "sha512-eNWKEiWA7yF/6Hmq6JRhmT015K/LqR6ocFkpeKx1dhmE3oSTnj1m52mZtl9PwINLBXCKhgd05Vsgbv7dRP45zA==", + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/@moovio/node/-/node-0.1.17.tgz", + "integrity": "sha512-6HWbUKdShw8nlKMOqTN+0kv5UfndFPOdToGInhxS0HwAQgygIde4wTK3DrmQTBYJ1JdJoSwzWgcF3atOp28aYQ==", "requires": { "got": "^12.0.0" } diff --git a/fixup.sh b/fixup.sh new file mode 100755 index 0000000..7307016 --- /dev/null +++ b/fixup.sh @@ -0,0 +1,11 @@ +cat >dist/cjs/package.json <dist/mjs/package.json <=14.16" - } - }, "node_modules/@types/cacheable-request": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", @@ -2250,13 +2239,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/got": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/got/-/got-12.0.0.tgz", - "integrity": "sha512-gNNNghQ1yw0hyzie1FLK6gY90BQlXU9zSByyRygnbomHPruKQ6hAKKbpO1RfNZp8b+qNzNipGeRG3tUelKcVsA==", + "node_modules/got-cjs": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/got-cjs/-/got-cjs-12.0.1.tgz", + "integrity": "sha512-tRcTpee77XR9PNOp2Pu1P/XD67zkdeaBJ8kFz90for9dDTg6tqQKe64ORPbxFnB0mECKB+PQKCTcvJJdhv265g==", "dependencies": { "@sindresorhus/is": "^4.2.0", - "@szmarczak/http-timer": "^5.0.1", + "@szmarczak/http-timer": "4.0.6", "@types/cacheable-request": "^6.0.2", "@types/responselike": "^1.0.0", "cacheable-lookup": "^6.0.4", @@ -2265,17 +2254,44 @@ "form-data-encoder": "1.7.1", "get-stream": "^6.0.1", "http2-wrapper": "^2.1.9", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", + "lowercase-keys": "2.0.0", + "p-cancelable": "2.1.1", "responselike": "^2.0.0" }, "engines": { - "node": ">=14.16" + "node": ">=12" }, "funding": { "url": "https://github.com/sindresorhus/got?sponsor=1" } }, + "node_modules/got-cjs/node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "dependencies": { + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/got-cjs/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/got-cjs/node_modules/p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", + "engines": { + "node": ">=8" + } + }, "node_modules/graceful-fs": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", @@ -3242,17 +3258,6 @@ "node": ">=0.10.0" } }, - "node_modules/lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -3751,14 +3756,6 @@ "wrappy": "1" } }, - "node_modules/p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", - "engines": { - "node": ">=12.20" - } - }, "node_modules/p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", @@ -5499,14 +5496,6 @@ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz", "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw==" }, - "@szmarczak/http-timer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", - "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", - "requires": { - "defer-to-connect": "^2.0.1" - } - }, "@types/cacheable-request": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz", @@ -7159,13 +7148,13 @@ } } }, - "got": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/got/-/got-12.0.0.tgz", - "integrity": "sha512-gNNNghQ1yw0hyzie1FLK6gY90BQlXU9zSByyRygnbomHPruKQ6hAKKbpO1RfNZp8b+qNzNipGeRG3tUelKcVsA==", + "got-cjs": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/got-cjs/-/got-cjs-12.0.1.tgz", + "integrity": "sha512-tRcTpee77XR9PNOp2Pu1P/XD67zkdeaBJ8kFz90for9dDTg6tqQKe64ORPbxFnB0mECKB+PQKCTcvJJdhv265g==", "requires": { "@sindresorhus/is": "^4.2.0", - "@szmarczak/http-timer": "^5.0.1", + "@szmarczak/http-timer": "4.0.6", "@types/cacheable-request": "^6.0.2", "@types/responselike": "^1.0.0", "cacheable-lookup": "^6.0.4", @@ -7174,9 +7163,29 @@ "form-data-encoder": "1.7.1", "get-stream": "^6.0.1", "http2-wrapper": "^2.1.9", - "lowercase-keys": "^3.0.0", - "p-cancelable": "^3.0.0", + "lowercase-keys": "2.0.0", + "p-cancelable": "2.1.1", "responselike": "^2.0.0" + }, + "dependencies": { + "@szmarczak/http-timer": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", + "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", + "requires": { + "defer-to-connect": "^2.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "p-cancelable": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", + "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==" + } } }, "graceful-fs": { @@ -7938,11 +7947,6 @@ "log-utils": "^0.2.1" } }, - "lowercase-keys": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", - "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==" - }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -8318,11 +8322,6 @@ "wrappy": "1" } }, - "p-cancelable": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", - "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==" - }, "p-defer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", diff --git a/package.json b/package.json index 3339d37..3be8c4a 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,16 @@ { "name": "@moovio/node", - "version": "0.1.17", + "version": "0.1.18", "description": "Node SDK for the Moov API and Dashboard", - "main": "lib/index.js", + "main": "dist/cjs/index.js", + "module": "dist/mjs/index.js", + "exports": { + ".": { + "import": "./dist/mjs/index.js", + "require": "./dist/cjs/index.js" + } + }, "types": "lib/types/index.d.ts", - "type": "module", "engines": { "node": ">=14" }, @@ -29,6 +35,7 @@ "lib/**/*" ], "scripts": { + "build": "chmod +x fixup.sh && rm -fr dist/* && tsc -p tsconfig-esm.json && tsc -p tsconfig-cjs.json && ./fixup.sh", "docs": "node ./scripts/generateDocs.cjs", "docs-watch": "watch \"npm run docs\" ./docs/templates", "docs-clean": "rm ./docs/output/*.*", @@ -47,6 +54,6 @@ "watch": "^0.13.0" }, "dependencies": { - "got": "^12.0.0" + "got-cjs": "^12.0.0" } } diff --git a/tsconfig-base.json b/tsconfig-base.json new file mode 100644 index 0000000..150806e --- /dev/null +++ b/tsconfig-base.json @@ -0,0 +1,25 @@ +{ + "compilerOptions": { + "allowJs": true, + "allowSyntheticDefaultImports": true, + "baseUrl": "lib", + "declaration": true, + "esModuleInterop": true, + "inlineSourceMap": false, + "lib": ["esnext"], + "listEmittedFiles": false, + "listFiles": false, + "moduleResolution": "node", + "noFallthroughCasesInSwitch": true, + "pretty": true, + "resolveJsonModule": true, + "rootDir": "lib", + "skipLibCheck": true, + "strict": true, + "traceResolution": false, + "types": ["node"] + }, + "compileOnSave": false, + "exclude": ["node_modules", "dist"], + "include": ["lib/**/*"], +} \ No newline at end of file diff --git a/tsconfig-cjs.json b/tsconfig-cjs.json new file mode 100644 index 0000000..c3db71b --- /dev/null +++ b/tsconfig-cjs.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig-base.json", + "compilerOptions": { + "module": "commonjs", + "outDir": "dist/cjs", + "target": "es2015" + } +} \ No newline at end of file diff --git a/tsconfig-esm.json b/tsconfig-esm.json new file mode 100644 index 0000000..d558e87 --- /dev/null +++ b/tsconfig-esm.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig-base.json", + "compilerOptions": { + "module": "esnext", + "outDir": "dist/mjs", + "target": "esnext" + } +} \ No newline at end of file