f42336cf83
This PR moves the puppeteer source code into separate mono-repo packages: - `puppeteer` and `puppeteer-core` are now separated into their own packages. - `puppeteer-core` has a new exports called `puppeteer-core/internal` for internal usage. Tests and various tools have been updated to accommodate the migration.
17 lines
848 B
Markdown
17 lines
848 B
Markdown
# Compatibility layer
|
|
|
|
This directory provides an additional compatibility layer between ES modules and CommonJS.
|
|
|
|
## Why?
|
|
|
|
Both `./cjs/compat.ts` and `./esm/compat.ts` are written as ES modules, but `./cjs/compat.ts` can additionally use NodeJS CommonJS globals such as `__dirname` and `require` while these are disabled in ES module mode. For more information, see [Differences between ES modules and CommonJS](https://nodejs.org/api/esm.html#differences-between-es-modules-and-commonjs).
|
|
|
|
## Adding exports
|
|
|
|
In order to add exports, two things need to be done:
|
|
|
|
- The exports must be declared in `src/compat.ts`.
|
|
- The exports must be realized in `./cjs/compat.ts` and `./esm/compat.ts`.
|
|
|
|
In the event `compat.ts` becomes too large, you can place declarations in another file. Just make sure `./cjs`, `./esm`, and `src` have the same structure.
|