Core functionality for AceBase realtime database repositories
Find a file
Ewout Stortenbeker c3fcdbefd4 1.27.4
2023-07-10 12:58:18 +02:00
dist chore: build 2023-07-10 12:58:09 +02:00
spec/support Refactored unit tests to TypeScript 2023-05-20 13:16:42 +02:00
src export EventSubscriptionSettings 2023-07-10 12:55:18 +02:00
.eslintrc lint fixes 2022-12-19 11:59:53 +01:00
.gitignore don't ignore package-lock.json 2022-11-14 12:47:09 +01:00
.npmignore exclude source files in npm distribution (#26) 2022-12-12 13:29:52 +01:00
create-package-files Fix tsc node16 module resolution 2023-04-27 12:12:50 +02:00
LICENSE Added license file, added repository url in package.json 2018-08-07 11:38:53 +02:00
package-lock.json 1.27.4 2023-07-10 12:58:18 +02:00
package.json 1.27.4 2023-07-10 12:58:18 +02:00
README.md docs: ESM bundle info update 2022-12-19 11:15:01 +01:00
tsconfig-cjs.json add type mappings 2022-10-24 15:39:48 +02:00
tsconfig.json Fix tsc node16 module resolution 2023-04-27 12:12:50 +02:00

AceBase core components

This package contains shared functionality that is used by other AceBase packages, no need to install manually. See acebase, acebase-client and acebase-server for more information.

ESM and CJS bundles

All AceBase packages have been ported to TypeScript, allowing them to be transpiled to both ESM and CommonJS modules. This means that it is now safe for acebase-core (v1.25.0+) to export its ESM build when used with an import statement. If 1 or more AceBase (database, client, server, ipc-server etc) packages are used in a single project they'll use the same core codebase, preventing the so-called "Dual package hazard".

For more info, see the ESM module support discussion on GitHub.

Bundler browser replacements

To provide browser support, some source files have a browser-specific counterpart which were previously only specified in the main package.json. Since there are now multiple distributions, the distribution specific browser replacements have been added to the package.json files in the dist/cjs and dist/esm directories: bundlers like Webpack and Browserify use those instead of the ones in the root package.json. Vite (and Rollup?) only seem to use the replacements listed in the root package.json, that's why they still need to be mentioned there as well.