diff --git a/.codesandbox/ci.json b/.codesandbox/ci.json index f86122cef4..e602ad61ea 100644 --- a/.codesandbox/ci.json +++ b/.codesandbox/ci.json @@ -1,7 +1,4 @@ { - "sandboxes": [ - "vanilla", - "vanilla-ts" - ], - "node": "14" + "sandboxes": ["vanilla", "vanilla-ts"], + "node": "16" } diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 7700ea1759..691ee2f46a 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -127,3 +127,74 @@ jobs: yarn tsc --version yarn check-types yarn test:types + + test-published-artifact: + name: Test Published Artifact ${{ matrix.example }} + + needs: [build] + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + node: ['16.x'] + example: + [ + 'cra4', + 'cra5', + 'next', + 'vite', + 'node-standard', + 'node-esm', + 'are-the-types-wrong' + ] + steps: + - name: Checkout repo + uses: actions/checkout@v2 + + - name: Use node ${{ matrix.node }} + uses: actions/setup-node@v2 + with: + node-version: ${{ matrix.node }} + cache: 'yarn' + + - name: Clone RTK repo + run: git clone https://github.com/reduxjs/redux-toolkit.git ./redux-toolkit + + - name: Check folder contents + run: ls -l . + + - name: Install deps + working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} + run: yarn install + + - uses: actions/download-artifact@v2 + with: + name: package + path: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} + + - name: Check folder contents + working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} + run: ls -l . + + - name: Install build artifact + working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} + run: yarn add ./package.tgz + + - name: Show installed package versions + working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} + run: yarn info redux && yarn why redux + + - name: Build example + working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} + run: yarn build + + - name: Run test step + working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} + run: yarn test + if: matrix.example != 'are-the-types-wrong' + + - name: Run test step + working-directory: ./redux-toolkit/examples/publish-ci/${{ matrix.example }} + # Ignore "FalseCJS" errors in the `attw` job + run: yarn test -n FalseCJS + if: matrix.example == 'are-the-types-wrong' diff --git a/package.json b/package.json index 3b4da43364..67cab679c6 100644 --- a/package.json +++ b/package.json @@ -23,27 +23,23 @@ "Dan Abramov (https://github.com/gaearon)", "Andrew Clark (https://github.com/acdlite)" ], - "type": "module", - "module": "dist/es/index.js", - "main": "dist/cjs/index.cjs", - "types": "types/index.d.ts", + "main": "dist/cjs/redux.cjs", + "module": "dist/redux.mjs", + "types": "dist/redux.d.ts", "exports": { "./package.json": "./package.json", ".": { - "types": "./types/index.d.ts", - "import": "./dist/es/index.js", - "default": "./dist/cjs/index.cjs" + "types": "./dist/redux.d.ts", + "import": "./dist/redux.mjs", + "default": "./dist/cjs/redux.cjs" } }, "files": [ "dist", - "lib", - "es", - "src", - "types" + "src" ], "scripts": { - "clean": "rimraf lib dist es coverage types", + "clean": "rimraf dist", "format": "prettier --write \"{src,test}/**/*.{js,ts}\" \"**/*.md\"", "format:check": "prettier --list-different \"{src,test}/**/*.{js,ts}\" \"**/*.md\"", "lint": "eslint --ext js,ts src test", @@ -52,7 +48,7 @@ "test:types": "tsc -p test/typescript && echo \"Typetests passed\"", "test:watch": "vitest", "test:cov": "vitest --coverage", - "build": "rollup -c", + "build": "tsup", "prepublishOnly": "yarn clean && yarn check-types && yarn format:check && yarn lint && yarn test", "prepack": "yarn build", "examples:lint": "eslint --ext js,ts examples", @@ -79,6 +75,7 @@ "@typescript-eslint/eslint-plugin": "^5.36.2", "@typescript-eslint/parser": "^5.36.2", "cross-env": "^7.0.3", + "esbuild-extra": "^0.1.3", "eslint": "^8.23.0", "eslint-config-react-app": "^7.0.1", "eslint-import-resolver-typescript": "^3.5.1", @@ -94,6 +91,7 @@ "rollup": "^3.12.0", "rollup-plugin-typescript2": "^0.34.1", "rxjs": "^7.5.6", + "tsup": "^6.7.0", "typescript": "^4.8.3", "vitest": "^0.27.2" }, diff --git a/scripts/mangleErrors.cjs b/scripts/mangleErrors.cjs index 0f8ea2a09f..9630ba5de9 100644 --- a/scripts/mangleErrors.cjs +++ b/scripts/mangleErrors.cjs @@ -103,12 +103,12 @@ module.exports = babel => { } // Import the error message function - const formatProdErrorMessageIdentifier = - helperModuleImports.addDefault( - path, - 'src/utils/formatProdErrorMessage', - { nameHint: 'formatProdErrorMessage' } - ) + const formatProdErrorMessageIdentifier = helperModuleImports.addNamed( + path, + 'formatProdErrorMessage', + 'src/utils/formatProdErrorMessage', + { nameHint: 'formatProdErrorMessage' } + ) // Creates a function call to output the message to the error code page on the website const prodMessage = t.callExpression( diff --git a/src/types/store.ts b/src/types/store.ts index f071dcb136..f459ee9863 100644 --- a/src/types/store.ts +++ b/src/types/store.ts @@ -1,6 +1,7 @@ import { Action, AnyAction } from './actions' import { Reducer } from './reducers' -import '../utils/symbol-observable' +// eslint-disable-next-line @typescript-eslint/no-unused-vars +import _$$observable from '../utils/symbol-observable' /** * Internal "virtual" symbol used to make the `CombinedState` type unique. diff --git a/src/utils/formatProdErrorMessage.ts b/src/utils/formatProdErrorMessage.ts index a0ec70e46f..196c38264b 100644 --- a/src/utils/formatProdErrorMessage.ts +++ b/src/utils/formatProdErrorMessage.ts @@ -5,11 +5,9 @@ * during build. * @param {number} code */ -function formatProdErrorMessage(code: number) { +export function formatProdErrorMessage(code: number) { return ( `Minified Redux error #${code}; visit https://redux.js.org/Errors?code=${code} for the full message or ` + 'use the non-minified dev environment for full errors. ' ) } - -export default formatProdErrorMessage diff --git a/test/utils/formatProdErrorMessage.spec.ts b/test/utils/formatProdErrorMessage.spec.ts index 888d6dc21d..10b541c6fc 100644 --- a/test/utils/formatProdErrorMessage.spec.ts +++ b/test/utils/formatProdErrorMessage.spec.ts @@ -1,4 +1,4 @@ -import formatProdErrorMessage from '@internal/utils/formatProdErrorMessage' +import { formatProdErrorMessage } from '@internal/utils/formatProdErrorMessage' describe('formatProdErrorMessage', () => { it('returns message with expected code references', () => { diff --git a/tsconfig.json b/tsconfig.json index 4c60e03f99..b0506e6d06 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,7 +15,7 @@ "noUnusedLocals": true, "noUnusedParameters": true, "baseUrl": "./", - "types": ["vitest/globals"], + "types": ["vitest/globals", "esbuild-extra/global"], "paths": { "redux": ["src/index.ts"], // @remap-prod-remove-line "@internal/*": ["src/*"] diff --git a/tsup.config.ts b/tsup.config.ts new file mode 100644 index 0000000000..c159e95953 --- /dev/null +++ b/tsup.config.ts @@ -0,0 +1,67 @@ +import { defineConfig, Options } from 'tsup' + +import * as babel from '@babel/core' +import { Plugin } from 'esbuild' +import { getBuildExtensions } from 'esbuild-extra' + +// Extract error strings, replace them with error codes, and write messages to a file +const mangleErrorsTransform: Plugin = { + name: 'mangle-errors-plugin', + setup(build) { + const { onTransform } = getBuildExtensions(build, 'mangle-errors-plugin') + + onTransform({ loaders: ['ts', 'tsx'] }, async args => { + const res = babel.transformSync(args.code, { + parserOpts: { + plugins: ['typescript'] + }, + plugins: [['./scripts/mangleErrors.cjs', { minify: false }]] + })! + return { + code: res.code!, + map: res.map! + } + }) + } +} + +export default defineConfig(options => { + const commonOptions: Partial = { + entry: { + redux: 'src/index.ts' + }, + esbuildPlugins: [mangleErrorsTransform], + sourcemap: true, + ...options + } + + return [ + // Standard ESM, embedded `process.env.NODE_ENV` checks + { + ...commonOptions, + format: ['esm'], + outExtension: () => ({ js: '.mjs' }), + dts: true, + clean: true + }, + // Browser-ready ESM, production + minified + { + ...commonOptions, + entry: { + 'redux.browser': 'src/index.ts' + }, + define: { + 'process.env.NODE_ENV': JSON.stringify('production') + }, + format: ['esm'], + outExtension: () => ({ js: '.mjs' }), + minify: true + }, + { + ...commonOptions, + format: 'cjs', + outDir: './dist/cjs/', + outExtension: () => ({ js: '.cjs' }) + } + ] +}) diff --git a/yarn.lock b/yarn.lock index b39a66bc3f..5868ec5347 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,7 +5,7 @@ __metadata: version: 6 cacheKey: 8 -"@ampproject/remapping@npm:^2.1.0": +"@ampproject/remapping@npm:^2.1.0, @ampproject/remapping@npm:^2.2.0": version: 2.2.0 resolution: "@ampproject/remapping@npm:2.2.0" dependencies: @@ -1545,6 +1545,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/android-arm64@npm:0.17.15" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/android-arm@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/android-arm@npm:0.16.17" @@ -1552,6 +1559,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-arm@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/android-arm@npm:0.17.15" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@esbuild/android-x64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/android-x64@npm:0.16.17" @@ -1559,6 +1573,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/android-x64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/android-x64@npm:0.17.15" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + "@esbuild/darwin-arm64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/darwin-arm64@npm:0.16.17" @@ -1566,6 +1587,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-arm64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/darwin-arm64@npm:0.17.15" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/darwin-x64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/darwin-x64@npm:0.16.17" @@ -1573,6 +1601,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/darwin-x64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/darwin-x64@npm:0.17.15" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@esbuild/freebsd-arm64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/freebsd-arm64@npm:0.16.17" @@ -1580,6 +1615,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-arm64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/freebsd-arm64@npm:0.17.15" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/freebsd-x64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/freebsd-x64@npm:0.16.17" @@ -1587,6 +1629,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/freebsd-x64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/freebsd-x64@npm:0.17.15" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/linux-arm64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/linux-arm64@npm:0.16.17" @@ -1594,6 +1643,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/linux-arm64@npm:0.17.15" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/linux-arm@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/linux-arm@npm:0.16.17" @@ -1601,6 +1657,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-arm@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/linux-arm@npm:0.17.15" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@esbuild/linux-ia32@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/linux-ia32@npm:0.16.17" @@ -1608,6 +1671,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ia32@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/linux-ia32@npm:0.17.15" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/linux-loong64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/linux-loong64@npm:0.16.17" @@ -1615,6 +1685,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-loong64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/linux-loong64@npm:0.17.15" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + "@esbuild/linux-mips64el@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/linux-mips64el@npm:0.16.17" @@ -1622,6 +1699,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-mips64el@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/linux-mips64el@npm:0.17.15" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + "@esbuild/linux-ppc64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/linux-ppc64@npm:0.16.17" @@ -1629,6 +1713,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-ppc64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/linux-ppc64@npm:0.17.15" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + "@esbuild/linux-riscv64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/linux-riscv64@npm:0.16.17" @@ -1636,6 +1727,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-riscv64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/linux-riscv64@npm:0.17.15" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + "@esbuild/linux-s390x@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/linux-s390x@npm:0.16.17" @@ -1643,6 +1741,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-s390x@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/linux-s390x@npm:0.17.15" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + "@esbuild/linux-x64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/linux-x64@npm:0.16.17" @@ -1650,6 +1755,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/linux-x64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/linux-x64@npm:0.17.15" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + "@esbuild/netbsd-x64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/netbsd-x64@npm:0.16.17" @@ -1657,6 +1769,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/netbsd-x64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/netbsd-x64@npm:0.17.15" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/openbsd-x64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/openbsd-x64@npm:0.16.17" @@ -1664,6 +1783,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/openbsd-x64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/openbsd-x64@npm:0.17.15" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + "@esbuild/sunos-x64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/sunos-x64@npm:0.16.17" @@ -1671,6 +1797,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/sunos-x64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/sunos-x64@npm:0.17.15" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + "@esbuild/win32-arm64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/win32-arm64@npm:0.16.17" @@ -1678,6 +1811,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-arm64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/win32-arm64@npm:0.17.15" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@esbuild/win32-ia32@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/win32-ia32@npm:0.16.17" @@ -1685,6 +1825,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-ia32@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/win32-ia32@npm:0.17.15" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@esbuild/win32-x64@npm:0.16.17": version: 0.16.17 resolution: "@esbuild/win32-x64@npm:0.16.17" @@ -1692,6 +1839,13 @@ __metadata: languageName: node linkType: hard +"@esbuild/win32-x64@npm:0.17.15": + version: 0.17.15 + resolution: "@esbuild/win32-x64@npm:0.17.15" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@eslint/eslintrc@npm:^1.4.1": version: 1.4.1 resolution: "@eslint/eslintrc@npm:1.4.1" @@ -2285,6 +2439,13 @@ __metadata: languageName: node linkType: hard +"any-promise@npm:^1.0.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 0ee8a9bdbe882c90464d75d1f55cf027f5458650c4bd1f0467e65aec38ccccda07ca5844969ee77ed46d04e7dded3eaceb027e8d32f385688523fe305fa7e1de + languageName: node + linkType: hard + "anymatch@npm:~3.1.2": version: 3.1.3 resolution: "anymatch@npm:3.1.3" @@ -2583,7 +2744,18 @@ __metadata: languageName: node linkType: hard -"cac@npm:^6.7.14": +"bundle-require@npm:^4.0.0": + version: 4.0.1 + resolution: "bundle-require@npm:4.0.1" + dependencies: + load-tsconfig: ^0.2.3 + peerDependencies: + esbuild: ">=0.17" + checksum: 737217e37b72d7bee431b5d839b86ba604430f3ec346f073071de2ce65f0915189d4394ddd4685e0366b2930f38c95742b58c7101b8c53d9a8381d453f0b3b8a + languageName: node + linkType: hard + +"cac@npm:^6.7.12, cac@npm:^6.7.14": version: 6.7.14 resolution: "cac@npm:6.7.14" checksum: 45a2496a9443abbe7f52a49b22fbe51b1905eff46e03fd5e6c98e3f85077be3f8949685a1849b1a9cd2bc3e5567dfebcf64f01ce01847baf918f1b37c839791a @@ -2683,7 +2855,7 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^3.4.0": +"chokidar@npm:^3.4.0, chokidar@npm:^3.5.1": version: 3.5.3 resolution: "chokidar@npm:3.5.3" dependencies: @@ -2775,7 +2947,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^4.0.1": +"commander@npm:^4.0.0, commander@npm:^4.0.1": version: 4.1.1 resolution: "commander@npm:4.1.1" checksum: d7b9913ff92cae20cb577a4ac6fcc121bd6223319e54a40f51a14740a681ad5c574fd29a57da478a5f234a6fa6c52cbf0b7c641353e03c648b1ae85ba670b977 @@ -2817,6 +2989,13 @@ __metadata: languageName: node linkType: hard +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 63ae9933be5a2b8d4509daca5124e20c14d023c820258e484e32dc324d34c2754e71297c94a05784064ad27615037ef677e3f0c00469fb55f409d2bb21261035 + languageName: node + linkType: hard + "core-js-compat@npm:^3.25.1": version: 3.27.2 resolution: "core-js-compat@npm:3.27.2" @@ -2876,7 +3055,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -3162,6 +3341,18 @@ __metadata: languageName: node linkType: hard +"esbuild-extra@npm:^0.1.3": + version: 0.1.3 + resolution: "esbuild-extra@npm:0.1.3" + dependencies: + "@ampproject/remapping": ^2.2.0 + convert-source-map: ^2.0.0 + peerDependencies: + esbuild: ">=0.15" + checksum: aeb792ede44e8188e74b76b60f260eafaa065ea511ebdde585b434bcd7bc176576113bf8381fe20526098bf7956f9d06a370e27649d3443e2111c5ae6e6f9ffc + languageName: node + linkType: hard + "esbuild@npm:^0.16.14": version: 0.16.17 resolution: "esbuild@npm:0.16.17" @@ -3239,6 +3430,83 @@ __metadata: languageName: node linkType: hard +"esbuild@npm:^0.17.6": + version: 0.17.15 + resolution: "esbuild@npm:0.17.15" + dependencies: + "@esbuild/android-arm": 0.17.15 + "@esbuild/android-arm64": 0.17.15 + "@esbuild/android-x64": 0.17.15 + "@esbuild/darwin-arm64": 0.17.15 + "@esbuild/darwin-x64": 0.17.15 + "@esbuild/freebsd-arm64": 0.17.15 + "@esbuild/freebsd-x64": 0.17.15 + "@esbuild/linux-arm": 0.17.15 + "@esbuild/linux-arm64": 0.17.15 + "@esbuild/linux-ia32": 0.17.15 + "@esbuild/linux-loong64": 0.17.15 + "@esbuild/linux-mips64el": 0.17.15 + "@esbuild/linux-ppc64": 0.17.15 + "@esbuild/linux-riscv64": 0.17.15 + "@esbuild/linux-s390x": 0.17.15 + "@esbuild/linux-x64": 0.17.15 + "@esbuild/netbsd-x64": 0.17.15 + "@esbuild/openbsd-x64": 0.17.15 + "@esbuild/sunos-x64": 0.17.15 + "@esbuild/win32-arm64": 0.17.15 + "@esbuild/win32-ia32": 0.17.15 + "@esbuild/win32-x64": 0.17.15 + dependenciesMeta: + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 4e3640d7bc8f6edb3465c076eb519ccb7684382714a1b883e000a7a592f8e285501ec7e82cb68441dfec8f7be7f70f40b00129ceb05057f6fa87f95d2187370a + languageName: node + linkType: hard + "escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -3603,6 +3871,23 @@ __metadata: languageName: node linkType: hard +"execa@npm:^5.0.0": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + dependencies: + cross-spawn: ^7.0.3 + get-stream: ^6.0.0 + human-signals: ^2.1.0 + is-stream: ^2.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^4.0.1 + onetime: ^5.1.2 + signal-exit: ^3.0.3 + strip-final-newline: ^2.0.0 + checksum: fba9022c8c8c15ed862847e94c252b3d946036d7547af310e344a527e59021fd8b6bb0723883ea87044dc4f0201f949046993124a42ccb0855cae5bf8c786343 + languageName: node + linkType: hard + "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -3861,6 +4146,13 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad + languageName: node + linkType: hard + "get-symbol-description@npm:^1.0.0": version: 1.0.0 resolution: "get-symbol-description@npm:1.0.0" @@ -3896,6 +4188,20 @@ __metadata: languageName: node linkType: hard +"glob@npm:7.1.6": + version: 7.1.6 + resolution: "glob@npm:7.1.6" + dependencies: + fs.realpath: ^1.0.0 + inflight: ^1.0.4 + inherits: 2 + minimatch: ^3.0.4 + once: ^1.3.0 + path-is-absolute: ^1.0.0 + checksum: 351d549dd90553b87c2d3f90ce11aed9e1093c74130440e7ae0592e11bbcd2ce7f0ebb8ba6bfe63aaf9b62166a7f4c80cb84490ae5d78408bb2572bf7d4ee0a6 + languageName: node + linkType: hard + "glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.2.0": version: 7.2.3 resolution: "glob@npm:7.2.3" @@ -3955,7 +4261,7 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.1.0": +"globby@npm:^11.0.3, globby@npm:^11.1.0": version: 11.1.0 resolution: "globby@npm:11.1.0" dependencies: @@ -4118,6 +4424,13 @@ __metadata: languageName: node linkType: hard +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: b87fd89fce72391625271454e70f67fe405277415b48bcc0117ca73d31fa23a4241787afdc8d67f5a116cf37258c052f59ea82daffa72364d61351423848e3b8 + languageName: node + linkType: hard + "humanize-ms@npm:^1.2.1": version: 1.2.1 resolution: "humanize-ms@npm:1.2.1" @@ -4417,6 +4730,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: b8e05ccdf96ac330ea83c12450304d4a591f9958c11fd17bed240af8d5ffe08aedafa4c0f4cfccd4d28dc9d4d129daca1023633d5c11601a6cbc77521f6fae66 + languageName: node + linkType: hard + "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -4504,6 +4824,13 @@ __metadata: languageName: node linkType: hard +"joycon@npm:^3.0.1": + version: 3.1.1 + resolution: "joycon@npm:3.1.1" + checksum: 8003c9c3fc79c5c7602b1c7e9f7a2df2e9916f046b0dbad862aa589be78c15734d11beb9fe846f5e06138df22cb2ad29961b6a986ba81c4920ce2b15a7f11067 + languageName: node + linkType: hard + "js-sdsl@npm:^4.1.4": version: 4.3.0 resolution: "js-sdsl@npm:4.3.0" @@ -4651,6 +4978,13 @@ __metadata: languageName: node linkType: hard +"lilconfig@npm:^2.0.5": + version: 2.1.0 + resolution: "lilconfig@npm:2.1.0" + checksum: 8549bb352b8192375fed4a74694cd61ad293904eee33f9d4866c2192865c44c4eb35d10782966242634e0cbc1e91fe62b1247f148dc5514918e3a966da7ea117 + languageName: node + linkType: hard + "lines-and-columns@npm:^1.1.6": version: 1.2.4 resolution: "lines-and-columns@npm:1.2.4" @@ -4658,6 +4992,13 @@ __metadata: languageName: node linkType: hard +"load-tsconfig@npm:^0.2.3": + version: 0.2.5 + resolution: "load-tsconfig@npm:0.2.5" + checksum: 631740833c4a7157bb7b6eeae6e1afb6a6fac7416b7ba91bd0944d5c5198270af2d68bf8347af3cc2ba821adc4d83ef98f66278bd263bc284c863a09ec441503 + languageName: node + linkType: hard + "local-pkg@npm:^0.4.2": version: 0.4.3 resolution: "local-pkg@npm:0.4.3" @@ -4707,6 +5048,13 @@ __metadata: languageName: node linkType: hard +"lodash.sortby@npm:^4.7.0": + version: 4.7.0 + resolution: "lodash.sortby@npm:4.7.0" + checksum: db170c9396d29d11fe9a9f25668c4993e0c1331bcb941ddbd48fb76f492e732add7f2a47cfdf8e9d740fa59ac41bbfaf931d268bc72aab3ab49e9f89354d718c + languageName: node + linkType: hard + "lodash@npm:^4.17.21": version: 4.17.21 resolution: "lodash@npm:4.17.21" @@ -4811,6 +5159,13 @@ __metadata: languageName: node linkType: hard +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 6fa4dcc8d86629705cea944a4b88ef4cb0e07656ebf223fa287443256414283dd25d91c1cd84c77987f2aec5927af1a9db6085757cb43d90eb170ebf4b47f4f4 + languageName: node + linkType: hard + "merge2@npm:^1.3.0, merge2@npm:^1.4.1": version: 1.4.1 resolution: "merge2@npm:1.4.1" @@ -4828,7 +5183,14 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: d2421a3444848ce7f84bd49115ddacff29c15745db73f54041edc906c14b131a38d05298dae3081667627a59b2eb1ca4b436ff2e1b80f69679522410418b478a + languageName: node + linkType: hard + +"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -4965,6 +5327,17 @@ __metadata: languageName: node linkType: hard +"mz@npm:^2.7.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: ^1.0.0 + object-assign: ^4.0.1 + thenify-all: ^1.0.0 + checksum: 8427de0ece99a07e9faed3c0c6778820d7543e3776f9a84d22cf0ec0a8eb65f6e9aee9c9d353ff9a105ff62d33a9463c6ca638974cc652ee8140cd1e35951c87 + languageName: node + linkType: hard + "nanoid@npm:^3.3.4": version: 3.3.4 resolution: "nanoid@npm:3.3.4" @@ -5057,6 +5430,15 @@ __metadata: languageName: node linkType: hard +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: ^3.0.0 + checksum: 5374c0cea4b0bbfdfae62da7bbdf1e1558d338335f4cacf2515c282ff358ff27b2ecb91ffa5330a8b14390ac66a1e146e10700440c1ab868208430f56b5f4d23 + languageName: node + linkType: hard + "npmlog@npm:^6.0.0": version: 6.0.2 resolution: "npmlog@npm:6.0.2" @@ -5069,7 +5451,7 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.1.1": +"object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f @@ -5176,6 +5558,15 @@ __metadata: languageName: node linkType: hard +"onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: ^2.1.0 + checksum: 2478859ef817fc5d4e9c2f9e5728512ddd1dbc9fb7829ad263765bb6d3b91ce699d6e2332eef6b7dff183c2f490bd3349f1666427eaba4469fba0ac38dfd0d34 + languageName: node + linkType: hard + "open@npm:^8.4.0": version: 8.4.1 resolution: "open@npm:8.4.1" @@ -5311,7 +5702,7 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^3.1.0": +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" checksum: 55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020 @@ -5374,7 +5765,7 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.5": +"pirates@npm:^4.0.1, pirates@npm:^4.0.5": version: 4.0.5 resolution: "pirates@npm:4.0.5" checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227 @@ -5410,6 +5801,24 @@ __metadata: languageName: node linkType: hard +"postcss-load-config@npm:^3.0.1": + version: 3.1.4 + resolution: "postcss-load-config@npm:3.1.4" + dependencies: + lilconfig: ^2.0.5 + yaml: ^1.10.2 + peerDependencies: + postcss: ">=8.0.9" + ts-node: ">=9.0.0" + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + checksum: 1c589504c2d90b1568aecae8238ab993c17dba2c44f848a8f13619ba556d26a1c09644d5e6361b5784e721e94af37b604992f9f3dc0483e687a0cc1cc5029a34 + languageName: node + linkType: hard + "postcss@npm:^8.4.21": version: 8.4.21 resolution: "postcss@npm:8.4.21" @@ -5538,6 +5947,7 @@ __metadata: "@typescript-eslint/eslint-plugin": ^5.36.2 "@typescript-eslint/parser": ^5.36.2 cross-env: ^7.0.3 + esbuild-extra: ^0.1.3 eslint: ^8.23.0 eslint-config-react-app: ^7.0.1 eslint-import-resolver-typescript: ^3.5.1 @@ -5553,6 +5963,7 @@ __metadata: rollup: ^3.12.0 rollup-plugin-typescript2: ^0.34.1 rxjs: ^7.5.6 + tsup: ^6.7.0 typescript: ^4.8.3 vitest: ^0.27.2 languageName: unknown @@ -5640,6 +6051,13 @@ __metadata: languageName: node linkType: hard +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 4ceeb9113e1b1372d0cd969f3468fa042daa1dd9527b1b6bb88acb6ab55d8b9cd65dbf18819f9f9ddf0db804990901dcdaade80a215e7b2c23daae38e64f5bdf + languageName: node + linkType: hard + "resolve@npm:^1.14.2, resolve@npm:^1.19.0, resolve@npm:^1.22.1": version: 1.22.1 resolution: "resolve@npm:1.22.1" @@ -5747,6 +6165,20 @@ __metadata: languageName: node linkType: hard +"rollup@npm:^3.2.5": + version: 3.20.2 + resolution: "rollup@npm:3.20.2" + dependencies: + fsevents: ~2.3.2 + dependenciesMeta: + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 34b0932839b7c2a5d1742fb21ce95a47e0b49a0849f4abee2dccf25833187aa7babb898ca90d4fc761cffa4102b9ed0ac6ad7f6f6b96c8b8e2d67305abc5da65 + languageName: node + linkType: hard + "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -5878,7 +6310,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 @@ -5958,6 +6390,15 @@ __metadata: languageName: node linkType: hard +"source-map@npm:0.8.0-beta.0": + version: 0.8.0-beta.0 + resolution: "source-map@npm:0.8.0-beta.0" + dependencies: + whatwg-url: ^7.0.0 + checksum: e94169be6461ab0ac0913313ad1719a14c60d402bd22b0ad96f4a6cffd79130d91ab5df0a5336a326b04d2df131c1409f563c9dc0d21a6ca6239a44b6c8dbd92 + languageName: node + linkType: hard + "source-map@npm:^0.6.0, source-map@npm:^0.6.1": version: 0.6.1 resolution: "source-map@npm:0.6.1" @@ -6078,6 +6519,13 @@ __metadata: languageName: node linkType: hard +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 69412b5e25731e1938184b5d489c32e340605bb611d6140344abc3421b7f3c6f9984b21dff296dfcf056681b82caa3bb4cc996a965ce37bcfad663e92eae9c64 + languageName: node + linkType: hard + "strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -6094,6 +6542,23 @@ __metadata: languageName: node linkType: hard +"sucrase@npm:^3.20.3": + version: 3.31.0 + resolution: "sucrase@npm:3.31.0" + dependencies: + commander: ^4.0.0 + glob: 7.1.6 + lines-and-columns: ^1.1.6 + mz: ^2.7.0 + pirates: ^4.0.1 + ts-interface-checker: ^0.1.9 + bin: + sucrase: bin/sucrase + sucrase-node: bin/sucrase-node + checksum: 333990b1bca57acc010ae07c763dddfd34f01fd38afe9e53cf43f4a5096bd7a66f924fed65770288fba475f914f3aa5277cc4490ed9e74c50b4cea7f147e9e63 + languageName: node + linkType: hard + "supports-color@npm:^5.3.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -6171,6 +6636,24 @@ __metadata: languageName: node linkType: hard +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: ">= 3.1.0 < 4" + checksum: dba7cc8a23a154cdcb6acb7f51d61511c37a6b077ec5ab5da6e8b874272015937788402fd271fdfc5f187f8cb0948e38d0a42dcc89d554d731652ab458f5343e + languageName: node + linkType: hard + +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" + dependencies: + any-promise: ^1.0.0 + checksum: 84e1b804bfec49f3531215f17b4a6e50fd4397b5f7c1bccc427b9c656e1ecfb13ea79d899930184f78bc2f57285c54d9a50a590c8868f4f0cef5c1d9f898b05e + languageName: node + linkType: hard + "tiny-glob@npm:^0.2.9": version: 0.2.9 resolution: "tiny-glob@npm:0.2.9" @@ -6218,6 +6701,31 @@ __metadata: languageName: node linkType: hard +"tr46@npm:^1.0.1": + version: 1.0.1 + resolution: "tr46@npm:1.0.1" + dependencies: + punycode: ^2.1.0 + checksum: 96d4ed46bc161db75dbf9247a236ea0bfcaf5758baae6749e92afab0bc5a09cb59af21788ede7e55080f2bf02dce3e4a8f2a484cc45164e29f4b5e68f7cbcc1a + languageName: node + linkType: hard + +"tree-kill@npm:^1.2.2": + version: 1.2.2 + resolution: "tree-kill@npm:1.2.2" + bin: + tree-kill: cli.js + checksum: 49117f5f410d19c84b0464d29afb9642c863bc5ba40fcb9a245d474c6d5cc64d1b177a6e6713129eb346b40aebb9d4631d967517f9fbe8251c35b21b13cd96c7 + languageName: node + linkType: hard + +"ts-interface-checker@npm:^0.1.9": + version: 0.1.13 + resolution: "ts-interface-checker@npm:0.1.13" + checksum: 20c29189c2dd6067a8775e07823ddf8d59a33e2ffc47a1bd59a5cb28bb0121a2969a816d5e77eda2ed85b18171aa5d1c4005a6b88ae8499ec7cc49f78571cb5e + languageName: node + linkType: hard + "tsconfig-paths@npm:^3.14.1": version: 3.14.1 resolution: "tsconfig-paths@npm:3.14.1" @@ -6244,6 +6752,42 @@ __metadata: languageName: node linkType: hard +"tsup@npm:^6.7.0": + version: 6.7.0 + resolution: "tsup@npm:6.7.0" + dependencies: + bundle-require: ^4.0.0 + cac: ^6.7.12 + chokidar: ^3.5.1 + debug: ^4.3.1 + esbuild: ^0.17.6 + execa: ^5.0.0 + globby: ^11.0.3 + joycon: ^3.0.1 + postcss-load-config: ^3.0.1 + resolve-from: ^5.0.0 + rollup: ^3.2.5 + source-map: 0.8.0-beta.0 + sucrase: ^3.20.3 + tree-kill: ^1.2.2 + peerDependencies: + "@swc/core": ^1 + postcss: ^8.4.12 + typescript: ">=4.1.0" + peerDependenciesMeta: + "@swc/core": + optional: true + postcss: + optional: true + typescript: + optional: true + bin: + tsup: dist/cli-default.js + tsup-node: dist/cli-node.js + checksum: 91ff179f0b9828a6880b6decaa8603fd7af0311f46a38d3a93647a2497298750d676810aeff533a335443a01a7b340dbba7c76523bcd7a87d7b05b7677742901 + languageName: node + linkType: hard + "tsutils@npm:^3.21.0": version: 3.21.0 resolution: "tsutils@npm:3.21.0" @@ -6525,6 +7069,24 @@ __metadata: languageName: node linkType: hard +"webidl-conversions@npm:^4.0.2": + version: 4.0.2 + resolution: "webidl-conversions@npm:4.0.2" + checksum: c93d8dfe908a0140a4ae9c0ebc87a33805b416a33ee638a605b551523eec94a9632165e54632f6d57a39c5f948c4bab10e0e066525e9a4b87a79f0d04fbca374 + languageName: node + linkType: hard + +"whatwg-url@npm:^7.0.0": + version: 7.1.0 + resolution: "whatwg-url@npm:7.1.0" + dependencies: + lodash.sortby: ^4.7.0 + tr46: ^1.0.1 + webidl-conversions: ^4.0.2 + checksum: fecb07c87290b47d2ec2fb6d6ca26daad3c9e211e0e531dd7566e7ff95b5b3525a57d4f32640ad4adf057717e0c215731db842ad761e61d947e81010e05cf5fd + languageName: node + linkType: hard + "which-boxed-primitive@npm:^1.0.2": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" @@ -6624,7 +7186,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^1.10.0": +"yaml@npm:^1.10.0, yaml@npm:^1.10.2": version: 1.10.2 resolution: "yaml@npm:1.10.2" checksum: ce4ada136e8a78a0b08dc10b4b900936912d15de59905b2bf415b4d33c63df1d555d23acb2a41b23cf9fb5da41c256441afca3d6509de7247daa062fd2c5ea5f