mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
feat: separate puppeteer and puppeteer-core (#9023)
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.
This commit is contained in:
parent
3aee641c3d
commit
f42336cf83
@ -8,8 +8,8 @@ lib/
|
||||
|
||||
# Generated files
|
||||
**/*.tsbuildinfo
|
||||
puppeteer.api.json
|
||||
puppeteer*.tgz
|
||||
*.api.json
|
||||
*.tgz
|
||||
yarn.lock
|
||||
.docusaurus/
|
||||
.cache-loader
|
||||
@ -18,7 +18,9 @@ yarn.lock
|
||||
test/output-*/
|
||||
.dev_profile*
|
||||
coverage/
|
||||
src/generated
|
||||
generated/
|
||||
.eslintcache
|
||||
/.cache/
|
||||
|
||||
# IDE Artifacts
|
||||
.vscode
|
||||
@ -35,6 +37,8 @@ npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Wireit
|
||||
.wireit
|
||||
## [END] Keep in sync with .gitignore
|
||||
|
||||
# ESLint ignores.
|
||||
|
14
.github/workflows/ci.yml
vendored
14
.github/workflows/ci.yml
vendored
@ -60,7 +60,7 @@ jobs:
|
||||
- name: Setup cache for Chromium binary
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: .local-chromium
|
||||
path: packages/puppeteer-core/.local-chromium
|
||||
key: ${{ runner.os }}-chromium-${{ hashFiles('src/revisions.ts') }}
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
@ -226,23 +226,25 @@ jobs:
|
||||
- name: Setup cache for Firefox binary
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: .local-firefox
|
||||
path: packages/puppeteer-core/.local-firefox
|
||||
key: ${{ runner.os }}-firefox-${{ hashFiles('src/revisions.ts') }}
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v3.4.1
|
||||
with:
|
||||
node-version: ${{ matrix.spec.node }}
|
||||
- name: Update NPM
|
||||
run: npm install -g npm@latest
|
||||
- name: Install dependencies with Chromium
|
||||
run: npm install
|
||||
run: npm ci
|
||||
- name: Install Firefox
|
||||
env:
|
||||
PUPPETEER_PRODUCT: firefox
|
||||
run: npm install
|
||||
run: npm ci
|
||||
- name: Install linux dependencies.
|
||||
if: ${{ matrix.spec.xvfb }}
|
||||
run: sudo apt-get install xvfb
|
||||
- name: Build
|
||||
run: npm run build:dev
|
||||
run: npm run build:test
|
||||
- name: Test types
|
||||
run: npm run test:types
|
||||
- name: Run all tests with xvfb
|
||||
@ -278,7 +280,7 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
npm install
|
||||
ls .local-chromium
|
||||
ls packages/puppeteer-core/.local-chromium
|
||||
- name: Build
|
||||
run: |
|
||||
npm run build
|
||||
|
2
.github/workflows/pre-release.yml
vendored
2
.github/workflows/pre-release.yml
vendored
@ -27,7 +27,7 @@ jobs:
|
||||
working-directory: ./website
|
||||
run: |
|
||||
npm install
|
||||
npm run docusaurus docs:version $(jq -r .version ../package.json)
|
||||
npm run docusaurus docs:version $(jq -r .version ../packages/puppeteer/package.json)
|
||||
npm run archive
|
||||
- name: Re-build docs after versioning
|
||||
env:
|
||||
|
22
.github/workflows/publish.yml
vendored
22
.github/workflows/publish.yml
vendored
@ -16,24 +16,12 @@ jobs:
|
||||
uses: actions/checkout@v3
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
- name: Build puppeteer
|
||||
- name: Build packages
|
||||
run: npm run build
|
||||
- name: Publish puppeteer
|
||||
- name: Publish packages
|
||||
env:
|
||||
NPM_TOKEN: ${{secrets.NPM_TOKEN_PUPPETEER}}
|
||||
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN_RELEASE}}
|
||||
run: |
|
||||
npm config set registry 'https://wombat-dressing-room.appspot.com/'
|
||||
npm config set '//wombat-dressing-room.appspot.com/:_authToken' '${NPM_TOKEN}'
|
||||
echo "Publishing puppeteer"
|
||||
npm publish
|
||||
# DEPRECATED_RANGE=$(node utils/get_deprecated_version_range.js)
|
||||
# echo "Deprecating old puppeteer versions: $DEPRECATED_RANGE"
|
||||
# npm deprecate puppeteer@$DEPRECATED_RANGE "Version no longer supported. Upgrade to @latest"
|
||||
- name: Publish puppeteer-core
|
||||
env:
|
||||
NPM_TOKEN: ${{secrets.NPM_TOKEN_PUPPETEER_CORE}}
|
||||
run: |
|
||||
utils/prepare_puppeteer_core.js
|
||||
npm config set registry 'https://wombat-dressing-room.appspot.com/'
|
||||
npm config set '//wombat-dressing-room.appspot.com/:_authToken' '${NPM_TOKEN}'
|
||||
npm publish
|
||||
npm config set '//wombat-dressing-room.appspot.com/:_authToken' $NODE_AUTH_TOKEN
|
||||
npm publish --workspaces
|
||||
|
6
.github/workflows/tot-ci.yml
vendored
6
.github/workflows/tot-ci.yml
vendored
@ -43,7 +43,7 @@ jobs:
|
||||
echo "Installing revision $REV"
|
||||
cat src/revisions.ts | sed "s/[0-9]\{6,\}/$REV/" > src/revisions.ts.replaced
|
||||
mv src/revisions.ts.replaced src/revisions.ts
|
||||
npm run build:dev
|
||||
npm run build:test
|
||||
npm install
|
||||
|
||||
- name: Run unit tests in headless
|
||||
@ -81,7 +81,7 @@ jobs:
|
||||
echo "Installing revision $REV"
|
||||
cat src/revisions.ts | sed "s/[0-9]\{6,\}/$REV/" > src/revisions.ts.replaced
|
||||
mv src/revisions.ts.replaced src/revisions.ts
|
||||
npm run build:dev
|
||||
npm run build:test
|
||||
npm install
|
||||
|
||||
- name: Run unit tests in headful
|
||||
@ -119,7 +119,7 @@ jobs:
|
||||
echo "Installing revision $REV"
|
||||
cat src/revisions.ts | sed "s/[0-9]\{6,\}/$REV/" > src/revisions.ts.replaced
|
||||
mv src/revisions.ts.replaced src/revisions.ts
|
||||
npm run build:dev
|
||||
npm run build:test
|
||||
npm install
|
||||
|
||||
- name: Run unit tests in chrome headless
|
||||
|
11
.gitignore
vendored
11
.gitignore
vendored
@ -7,8 +7,8 @@ lib/
|
||||
|
||||
# Generated files
|
||||
**/*.tsbuildinfo
|
||||
puppeteer.api.json
|
||||
puppeteer*.tgz
|
||||
*.api.json
|
||||
*.tgz
|
||||
yarn.lock
|
||||
.docusaurus/
|
||||
.cache-loader
|
||||
@ -17,7 +17,9 @@ yarn.lock
|
||||
test/output-*/
|
||||
.dev_profile*
|
||||
coverage/
|
||||
src/generated
|
||||
generated/
|
||||
.eslintcache
|
||||
/.cache/
|
||||
|
||||
# IDE Artifacts
|
||||
.vscode
|
||||
@ -33,3 +35,6 @@ src/generated
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Wireit
|
||||
.wireit
|
||||
|
@ -8,8 +8,8 @@ lib/
|
||||
|
||||
# Generated files
|
||||
**/*.tsbuildinfo
|
||||
puppeteer.api.json
|
||||
puppeteer*.tgz
|
||||
*.api.json
|
||||
*.tgz
|
||||
yarn.lock
|
||||
.docusaurus/
|
||||
.cache-loader
|
||||
@ -18,7 +18,9 @@ yarn.lock
|
||||
test/output-*/
|
||||
.dev_profile*
|
||||
coverage/
|
||||
src/generated
|
||||
generated/
|
||||
.eslintcache
|
||||
/.cache/
|
||||
|
||||
# IDE Artifacts
|
||||
.vscode
|
||||
@ -34,13 +36,15 @@ src/generated
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Wireit
|
||||
.wireit
|
||||
## [END] Keep in sync with .gitignore
|
||||
|
||||
# Prettier-only ignores.
|
||||
assets/
|
||||
CHANGELOG.md
|
||||
package-lock.json
|
||||
package.json
|
||||
test/assets/
|
||||
docs/
|
||||
versioned_*/
|
||||
|
@ -1,3 +1,5 @@
|
||||
{
|
||||
".": "18.1.0"
|
||||
"puppeteer": "18.1.0",
|
||||
"puppeteer-core": "18.1.0",
|
||||
"testserver": "0.5.0"
|
||||
}
|
||||
|
@ -1,8 +0,0 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"composite": true,
|
||||
"outDir": "../../lib/cjs/puppeteer",
|
||||
"module": "CommonJS"
|
||||
}
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"composite": true,
|
||||
"outDir": "../../lib/esm/puppeteer",
|
||||
"module": "esnext"
|
||||
}
|
||||
}
|
@ -15,10 +15,11 @@ RUN apt-get update \
|
||||
WORKDIR /home/pptruser
|
||||
|
||||
COPY puppeteer-latest.tgz /home/pptruser/puppeteer-latest.tgz
|
||||
COPY puppeteer-core-latest.tgz /home/pptruser/puppeteer-core-latest.tgz
|
||||
|
||||
# Install puppeteer into /home/pptruser/node_modules.
|
||||
RUN npm i ./puppeteer-latest.tgz \
|
||||
&& rm puppeteer-latest.tgz \
|
||||
# Install puppeteer and puppeteer-core into /home/pptruser/node_modules.
|
||||
RUN npm i ./puppeteer-core-latest.tgz ./puppeteer-latest.tgz \
|
||||
&& rm ./puppeteer-core-latest.tgz ./puppeteer-latest.tgz \
|
||||
# Add user so we don't need --no-sandbox.
|
||||
# same layer as npm install to keep re-chowned files from using up several hundred MBs more space
|
||||
&& groupadd -r pptruser && useradd -r -g pptruser -G audio,video pptruser \
|
||||
|
@ -4,10 +4,13 @@
|
||||
# Expected cwd: project root directory.
|
||||
|
||||
set -e
|
||||
set +x
|
||||
|
||||
FILENAME=$(npm pack)
|
||||
cd docker
|
||||
|
||||
echo $FILENAME
|
||||
npm pack --workspace puppeteer --workspace puppeteer-core --pack-destination .
|
||||
|
||||
mv $FILENAME docker/puppeteer-latest.tgz
|
||||
rm -f puppeteer-core-latest.tgz
|
||||
rm -f puppeteer-latest.tgz
|
||||
|
||||
mv puppeteer-core-*.tgz puppeteer-core-latest.tgz
|
||||
mv puppeteer-[0-9]*.tgz puppeteer-latest.tgz
|
@ -7,6 +7,6 @@ sidebar_label: connect
|
||||
**Signature:**
|
||||
|
||||
```typescript
|
||||
connect: (options: import('./types.js').ConnectOptions) =>
|
||||
Promise<import('./types.js').Browser>;
|
||||
connect: (options: import('./types').ConnectOptions) =>
|
||||
Promise<import('./types').Browser>;
|
||||
```
|
||||
|
@ -7,6 +7,7 @@ sidebar_label: createBrowserFetcher
|
||||
**Signature:**
|
||||
|
||||
```typescript
|
||||
createBrowserFetcher: (options: import('./types.js').BrowserFetcherOptions) =>
|
||||
import('./types.js').BrowserFetcher;
|
||||
createBrowserFetcher: (
|
||||
options: import('puppeteer-core/internal/node/BrowserFetcher.js').BrowserFetcherOptions
|
||||
) => import('puppeteer-core/internal/node/BrowserFetcher.js').BrowserFetcher;
|
||||
```
|
||||
|
@ -7,5 +7,5 @@ sidebar_label: defaultArgs
|
||||
**Signature:**
|
||||
|
||||
```typescript
|
||||
defaultArgs: (options?: import("./types.js").BrowserLaunchArgumentOptions) => string[]
|
||||
defaultArgs: (options?: import("puppeteer-core/internal/node/LaunchOptions.js").BrowserLaunchArgumentOptions | undefined) => string[]
|
||||
```
|
||||
|
@ -7,6 +7,9 @@ sidebar_label: launch
|
||||
**Signature:**
|
||||
|
||||
```typescript
|
||||
launch: (options?: import('./types.js').PuppeteerLaunchOptions) =>
|
||||
Promise<import('./types.js').Browser>;
|
||||
launch: (
|
||||
options?:
|
||||
| import('puppeteer-core/internal/node/PuppeteerNode.js').PuppeteerLaunchOptions
|
||||
| undefined
|
||||
) => Promise<import('./types').Browser>;
|
||||
```
|
||||
|
@ -24,8 +24,8 @@ class Mouse {
|
||||
|
||||
| Parameter | Type | Description |
|
||||
| --------- | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| start | [Point](./puppeteer.point.md) | |
|
||||
| target | [Point](./puppeteer.point.md) | point to drag from |
|
||||
| start | [Point](./puppeteer.point.md) | point to drag from |
|
||||
| target | [Point](./puppeteer.point.md) | point to drop on |
|
||||
| options | { delay?: number; } | <i>(Optional)</i> An object of options. Accepts delay which, if specified, is the time to wait between <code>dragover</code> and <code>drop</code> in milliseconds. Defaults to 0. |
|
||||
|
||||
**Returns:**
|
||||
|
@ -42,7 +42,7 @@ Puppeteer has two configurations for building:
|
||||
|
||||
- `npm run build` (or `npm run build:prod`) - Builds Puppeteer and artifacts
|
||||
used in production.
|
||||
- `npm run build:dev` - Builds Puppeteer, test runner, tests, and artifacts used in
|
||||
- `npm run build:test` - Builds Puppeteer, test runner, tests, and artifacts used in
|
||||
production.
|
||||
|
||||
## Testing Puppeteer
|
||||
@ -50,7 +50,7 @@ Puppeteer has two configurations for building:
|
||||
For browser testing, you can run
|
||||
|
||||
```bash
|
||||
npm run build:dev && npm run test
|
||||
npm run build:test && npm run test
|
||||
```
|
||||
|
||||
We also have other tests such as `test:types` that tests types and
|
||||
@ -274,7 +274,7 @@ The following steps are needed to update the Chromium version.
|
||||
1. Update `versions.js` with the new Chromium-to-Puppeteer version mapping and update `lastMaintainedChromiumVersion` with the latest stable Chrome version.
|
||||
1. Run `npm run check:protocol-revision`.
|
||||
If it fails, update `package.json` with the expected `devtools-protocol` version.
|
||||
1. Run `npm run build && npm run build:dev` and `npm install`.
|
||||
1. Run `npm run build && npm run build:test` and `npm install`.
|
||||
1. Run `npm test` and ensure that all tests pass. If a test fails, [bisect](#bisecting-upstream-changes) the upstream cause of the failure, and either update the test expectations accordingly (if it was an intended change) or work around the changes in Puppeteer (if it’s not desirable to change Puppeteer’s observable behavior).
|
||||
1. Commit and push your changes and open a pull request.
|
||||
The commit message must contain the version in `Chromium <version> (<revision>)` format to ensure that [pptr.dev](https://pptr.dev/) can parse it correctly, e.g. `'feat(chromium): roll to Chromium 90.0.4427.0 (r856583)'`.
|
||||
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
|
||||
"useNx": true,
|
||||
"useWorkspaces": true,
|
||||
"version": "0.0.0"
|
||||
}
|
10779
package-lock.json
generated
10779
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
133
package.json
133
package.json
@ -1,88 +1,56 @@
|
||||
{
|
||||
"name": "puppeteer",
|
||||
"version": "18.1.0",
|
||||
"description": "A high-level API to control headless Chrome over the DevTools Protocol",
|
||||
"keywords": [
|
||||
"puppeteer",
|
||||
"chrome",
|
||||
"headless",
|
||||
"automation"
|
||||
],
|
||||
"type": "commonjs",
|
||||
"main": "./lib/cjs/puppeteer/puppeteer.js",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./lib/types.d.ts",
|
||||
"import": "./lib/esm/puppeteer/puppeteer.js",
|
||||
"require": "./lib/cjs/puppeteer/puppeteer.js"
|
||||
},
|
||||
"./*": {
|
||||
"import": "./*",
|
||||
"require": "./*"
|
||||
}
|
||||
},
|
||||
"types": "lib/types.d.ts",
|
||||
"repository": "github:puppeteer/puppeteer",
|
||||
"engines": {
|
||||
"node": ">=14.1.0"
|
||||
"name": "puppeteer-repo",
|
||||
"private": true,
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/puppeteer/puppeteer"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "cross-env PUPPETEER_DEFERRED_PROMISE_DEBUG_TIMEOUT=20000 node utils/mochaRunner/lib/main.js",
|
||||
"test:types": "tsd",
|
||||
"test:install": "scripts/test-install.sh",
|
||||
"test:firefox": "run-s test:firefox:*",
|
||||
"test:firefox:headless": "npm run test -- --test-suite firefox-headless",
|
||||
"test:firefox:headful": "npm run test -- --test-suite firefox-headful",
|
||||
"test:chrome": "run-s test:chrome:*",
|
||||
"test:chrome:headless": "npm run test -- --test-suite chrome-headless",
|
||||
"test:chrome:headless-chrome": "npm run test -- --test-suite chrome-new-headless",
|
||||
"test:chrome:headful": "npm run test -- --test-suite chrome-headful",
|
||||
"prepublishOnly": "npm run build",
|
||||
"prepare": "node typescript-if-required.js && husky install",
|
||||
"lint": "run-s lint:prettier lint:eslint",
|
||||
"lint:prettier": "prettier --check .",
|
||||
"lint:eslint": "([ \"$CI\" = true ] && eslint --ext js --ext ts --quiet -f codeframe . || eslint --ext js --ext ts .)",
|
||||
"install": "node install.js",
|
||||
"generate:sources": "tsx utils/generate_sources.ts",
|
||||
"generate:artifacts": "tsx utils/generate_artifacts.ts",
|
||||
"generate:markdown": "tsx utils/generate_docs.ts",
|
||||
"format": "run-s format:*",
|
||||
"format:prettier": "prettier --write .",
|
||||
"format:eslint": "eslint --ext js --ext ts --fix .",
|
||||
"docs": "run-s build generate:markdown",
|
||||
"debug": "npm run build:dev && mocha --inspect-brk",
|
||||
"commitlint": "commitlint --from=HEAD~1",
|
||||
"clean": "rimraf lib && rimraf test/build",
|
||||
"check": "run-p check:*",
|
||||
"check:protocol-revision": "tsx scripts/ensure-correct-devtools-protocol-package",
|
||||
"build:test": "wireit",
|
||||
"build": "npm run build --workspaces --if-present",
|
||||
"check:pinned-deps": "tsx scripts/ensure-pinned-deps",
|
||||
"build": "npm run build:prod",
|
||||
"build:dev": "run-s generate:sources build:tsc:dev && run-p bundle:third_party generate:artifacts",
|
||||
"build:prod": "run-s generate:sources build:tsc:prod && run-p bundle:third_party generate:artifacts",
|
||||
"build:tsc:dev": "tsc -b test",
|
||||
"build:tsc:prod": "tsc -b tsconfig.lib.json",
|
||||
"bundle:third_party": "rollup --config rollup.third_party.config.js"
|
||||
"check": "npm run check --workspaces --if-present && run-p check:*",
|
||||
"clean": "npm run clean --workspaces --if-present && rimraf **/.wireit",
|
||||
"commitlint": "commitlint --from=HEAD~1",
|
||||
"debug": "npm run build:test && mocha --inspect-brk",
|
||||
"docs": "run-s build generate:markdown",
|
||||
"format:eslint": "eslint --ext js --ext ts --fix .",
|
||||
"format:prettier": "prettier --write .",
|
||||
"format": "run-s format:*",
|
||||
"generate:markdown": "tsx utils/generate_docs.ts",
|
||||
"lint:eslint": "([ \"$CI\" = true ] && eslint --ext js --ext ts --quiet -f codeframe . || eslint --ext js --ext ts .)",
|
||||
"lint:prettier": "prettier --check .",
|
||||
"lint": "run-s lint:prettier lint:eslint",
|
||||
"postinstall": "npm run postinstall --workspaces --if-present",
|
||||
"prepare": "husky install",
|
||||
"test:chrome:headful": "npm run test -- --test-suite chrome-headful",
|
||||
"test:chrome:headless-chrome": "npm run test -- --test-suite chrome-new-headless",
|
||||
"test:chrome:headless": "npm run test -- --test-suite chrome-headless",
|
||||
"test:chrome": "run-s test:chrome:*",
|
||||
"test:firefox:headful": "npm run test -- --test-suite firefox-headful",
|
||||
"test:firefox:headless": "npm run test -- --test-suite firefox-headless",
|
||||
"test:firefox": "run-s test:firefox:*",
|
||||
"test:install": "test/test-install.sh",
|
||||
"test:types": "tsd -t packages/puppeteer",
|
||||
"test": "cross-env PUPPETEER_DEFERRED_PROMISE_DEBUG_TIMEOUT=20000 node utils/mochaRunner/lib/main.js"
|
||||
},
|
||||
"files": [
|
||||
"lib",
|
||||
"install.js",
|
||||
"typescript-if-required.js",
|
||||
"!**/*.tsbuildinfo"
|
||||
],
|
||||
"author": "The Chromium Authors",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"cross-fetch": "3.1.5",
|
||||
"debug": "4.3.4",
|
||||
"devtools-protocol": "0.0.1045489",
|
||||
"extract-zip": "2.0.1",
|
||||
"https-proxy-agent": "5.0.1",
|
||||
"progress": "2.0.3",
|
||||
"proxy-from-env": "1.1.0",
|
||||
"rimraf": "3.0.2",
|
||||
"tar-fs": "2.1.1",
|
||||
"unbzip2-stream": "1.4.3",
|
||||
"ws": "8.9.0"
|
||||
"wireit": {
|
||||
"build:test": {
|
||||
"command": "tsc -b test",
|
||||
"clean": "if-file-deleted",
|
||||
"dependencies": [
|
||||
"./packages/puppeteer:build",
|
||||
"./packages/puppeteer-core:build",
|
||||
"./packages/testserver:build"
|
||||
],
|
||||
"files": [
|
||||
"test/src/**"
|
||||
],
|
||||
"output": [
|
||||
"test/build/**",
|
||||
"test/tsconfig.tsbuildinfo"
|
||||
]
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"@commitlint/cli": "17.1.2",
|
||||
@ -90,7 +58,7 @@
|
||||
"@microsoft/api-documenter": "7.19.14",
|
||||
"@microsoft/api-extractor": "7.31.2",
|
||||
"@microsoft/api-extractor-model": "7.24.2",
|
||||
"@pptr/testserver": "*",
|
||||
"@pptr/testserver": "0.5.0",
|
||||
"@types/debug": "4.1.7",
|
||||
"@types/diff": "5.0.2",
|
||||
"@types/glob": "8.0.0",
|
||||
@ -129,7 +97,6 @@
|
||||
"gts": "4.0.0",
|
||||
"husky": "8.0.1",
|
||||
"jpeg-js": "0.4.4",
|
||||
"lerna": "5.5.2",
|
||||
"mime": "3.0.0",
|
||||
"minimist": "1.2.6",
|
||||
"mitt": "2.1.0",
|
||||
@ -139,6 +106,7 @@
|
||||
"pixelmatch": "5.3.0",
|
||||
"pngjs": "6.0.0",
|
||||
"prettier": "2.7.1",
|
||||
"puppeteer": "18.1.0",
|
||||
"rollup": "2.79.1",
|
||||
"rollup-plugin-dts": "4.2.2",
|
||||
"rollup-plugin-node-resolve": "5.2.0",
|
||||
@ -149,6 +117,7 @@
|
||||
"tsd": "0.24.1",
|
||||
"tsx": "3.9.0",
|
||||
"typescript": "4.8.3",
|
||||
"wireit": "0.7.2",
|
||||
"zod": "3.19.1"
|
||||
},
|
||||
"workspaces": [
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
"docModel": {
|
||||
"enabled": true,
|
||||
"apiJsonFilePath": "<projectFolder>/docs/<unscopedPackageName>.api.json"
|
||||
"apiJsonFilePath": "<projectFolder>/../../docs/<unscopedPackageName>.api.json"
|
||||
},
|
||||
|
||||
"dtsRollup": {
|
7
packages/puppeteer-core/compat/cjs/tsconfig.json
Normal file
7
packages/puppeteer-core/compat/cjs/tsconfig.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"extends": "../../../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"module": "CommonJS",
|
||||
"outDir": "../../lib/cjs/puppeteer"
|
||||
}
|
||||
}
|
6
packages/puppeteer-core/compat/esm/tsconfig.json
Normal file
6
packages/puppeteer-core/compat/esm/tsconfig.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"extends": "../../../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"outDir": "../../lib/esm/puppeteer"
|
||||
}
|
||||
}
|
154
packages/puppeteer-core/package.json
Normal file
154
packages/puppeteer-core/package.json
Normal file
@ -0,0 +1,154 @@
|
||||
{
|
||||
"name": "puppeteer-core",
|
||||
"version": "18.1.0",
|
||||
"description": "A high-level API to control headless Chrome over the DevTools Protocol",
|
||||
"keywords": [
|
||||
"puppeteer",
|
||||
"chrome",
|
||||
"headless",
|
||||
"automation"
|
||||
],
|
||||
"type": "commonjs",
|
||||
"main": "./lib/cjs/puppeteer/puppeteer-core.js",
|
||||
"types": "./lib/types.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./lib/types.d.ts",
|
||||
"import": "./lib/esm/puppeteer/puppeteer-core.js",
|
||||
"require": "./lib/cjs/puppeteer/puppeteer-core.js"
|
||||
},
|
||||
"./internal/*": {
|
||||
"import": "./lib/esm/puppeteer/*",
|
||||
"require": "./lib/cjs/puppeteer/*"
|
||||
},
|
||||
"./*": {
|
||||
"import": "./*",
|
||||
"require": "./*"
|
||||
}
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/puppeteer/puppeteer/tree/main/packages/puppeteer-core"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.1.0"
|
||||
},
|
||||
"scripts": {
|
||||
"build:third_party": "wireit",
|
||||
"build:tsc": "wireit",
|
||||
"build:types": "wireit",
|
||||
"build": "wireit",
|
||||
"check": "tsx tools/ensure-correct-devtools-protocol-package",
|
||||
"clean": "tsc -b --clean && rimraf lib src/generated",
|
||||
"format:types": "wireit",
|
||||
"generate:package-json": "wireit",
|
||||
"generate:sources": "wireit"
|
||||
},
|
||||
"wireit": {
|
||||
"build": {
|
||||
"dependencies": [
|
||||
"build:third_party",
|
||||
"format:types",
|
||||
"generate:package-json"
|
||||
]
|
||||
},
|
||||
"generate:sources": {
|
||||
"command": "tsx tools/generate_sources.ts",
|
||||
"files": [
|
||||
"tools/generate_sources.ts",
|
||||
"src/templates/**"
|
||||
],
|
||||
"output": [
|
||||
"src/generated/**",
|
||||
"src/types.ts"
|
||||
]
|
||||
},
|
||||
"build:third_party": {
|
||||
"command": "rollup --config rollup.third_party.config.js",
|
||||
"dependencies": [
|
||||
"build:tsc"
|
||||
],
|
||||
"clean": false,
|
||||
"files": [
|
||||
"lib/esm/third_party/**",
|
||||
"lib/cjs/third_party/**"
|
||||
],
|
||||
"output": [
|
||||
"lib/esm/third_party/**",
|
||||
"lib/cjs/third_party/**"
|
||||
]
|
||||
},
|
||||
"generate:package-json": {
|
||||
"command": "echo '{\"type\": \"module\"}' > lib/esm/package.json",
|
||||
"clean": "if-file-deleted",
|
||||
"dependencies": [
|
||||
"build:tsc"
|
||||
],
|
||||
"output": [
|
||||
"lib/esm/package.json"
|
||||
]
|
||||
},
|
||||
"build:types": {
|
||||
"command": "api-extractor run --local",
|
||||
"dependencies": [
|
||||
"build:tsc"
|
||||
],
|
||||
"files": [
|
||||
"tsconfig.json",
|
||||
"api-extractor.json",
|
||||
"lib/esm/puppeteer/types.d.ts"
|
||||
],
|
||||
"output": [
|
||||
"lib/types.d.ts"
|
||||
]
|
||||
},
|
||||
"format:types": {
|
||||
"command": "eslint --cache-location .eslintcache --cache --ext=ts --no-ignore --no-eslintrc -c=../../.eslintrc.types.cjs --fix lib/types.d.ts",
|
||||
"dependencies": [
|
||||
"build:types"
|
||||
],
|
||||
"clean": false,
|
||||
"files": [
|
||||
"lib/types.d.ts",
|
||||
"../../.eslintrc.types.cjs"
|
||||
],
|
||||
"output": [
|
||||
"lib/types.d.ts"
|
||||
]
|
||||
},
|
||||
"build:tsc": {
|
||||
"command": "tsc -b",
|
||||
"clean": "if-file-deleted",
|
||||
"dependencies": [
|
||||
"generate:sources"
|
||||
],
|
||||
"files": [
|
||||
"src/**",
|
||||
"compat/**",
|
||||
"**/tsconfig.*.json"
|
||||
],
|
||||
"output": [
|
||||
"lib/esm/**",
|
||||
"lib/cjs/**"
|
||||
]
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"lib",
|
||||
"!*.tsbuildinfo"
|
||||
],
|
||||
"author": "The Chromium Authors",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"cross-fetch": "3.1.5",
|
||||
"debug": "4.3.4",
|
||||
"devtools-protocol": "0.0.1045489",
|
||||
"extract-zip": "2.0.1",
|
||||
"https-proxy-agent": "5.0.1",
|
||||
"proxy-from-env": "1.1.0",
|
||||
"rimraf": "3.0.2",
|
||||
"tar-fs": "2.1.1",
|
||||
"unbzip2-stream": "1.4.3",
|
||||
"ws": "8.9.0"
|
||||
}
|
||||
}
|
@ -25,7 +25,7 @@ export default ['cjs', 'esm'].flatMap(outputType => {
|
||||
for (const jsFile of glob.sync(`${thirdPartyPath}/**/*.js`)) {
|
||||
configs.push({
|
||||
input: jsFile,
|
||||
output: {file: jsFile, exports: 'auto', format: outputType},
|
||||
output: {file: jsFile, format: outputType},
|
||||
plugins: [resolve()],
|
||||
});
|
||||
}
|
@ -61,7 +61,7 @@ export interface BrowserConnectOptions {
|
||||
|
||||
const getWebSocketTransportClass = async () => {
|
||||
return isNode
|
||||
? (await import('../node/NodeWebSocketTransport.js')).NodeWebSocketTransport
|
||||
? (await import('./NodeWebSocketTransport.js')).NodeWebSocketTransport
|
||||
: (await import('./BrowserWebSocketTransport.js'))
|
||||
.BrowserWebSocketTransport;
|
||||
};
|
@ -615,7 +615,7 @@ export class Mouse {
|
||||
|
||||
/**
|
||||
* Performs a drag, dragenter, dragover, and drop in sequence.
|
||||
* @param target - point to drag from
|
||||
* @param start - point to drag from
|
||||
* @param target - point to drop on
|
||||
* @param options - An object of options. Accepts delay which,
|
||||
* if specified, is the time to wait between `dragover` and `drop` in milliseconds.
|
@ -14,6 +14,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
declare const puppeteerDirname: string;
|
||||
|
||||
export {puppeteerDirname};
|
@ -14,29 +14,27 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import * as os from 'os';
|
||||
import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import * as util from 'util';
|
||||
import * as childProcess from 'child_process';
|
||||
import * as https from 'https';
|
||||
import * as http from 'http';
|
||||
|
||||
import {Product} from '../common/Product.js';
|
||||
import extractZip from 'extract-zip';
|
||||
import {debug} from '../common/Debug.js';
|
||||
import {promisify} from 'util';
|
||||
import removeRecursive from 'rimraf';
|
||||
import * as URL from 'url';
|
||||
import * as fs from 'fs';
|
||||
import * as http from 'http';
|
||||
import * as https from 'https';
|
||||
import createHttpsProxyAgent, {
|
||||
HttpsProxyAgent,
|
||||
HttpsProxyAgentOptions,
|
||||
} from 'https-proxy-agent';
|
||||
import * as os from 'os';
|
||||
import * as path from 'path';
|
||||
import {getProxyForUrl} from 'proxy-from-env';
|
||||
import {assert} from '../util/assert.js';
|
||||
|
||||
import removeRecursive from 'rimraf';
|
||||
import tar from 'tar-fs';
|
||||
import bzip from 'unbzip2-stream';
|
||||
import * as URL from 'url';
|
||||
import * as util from 'util';
|
||||
import {promisify} from 'util';
|
||||
import {debug} from '../common/Debug.js';
|
||||
import {Product} from '../common/Product.js';
|
||||
import {assert} from '../util/assert.js';
|
||||
|
||||
const experimentalChromiumMacArm =
|
||||
process.env['PUPPETEER_EXPERIMENTAL_CHROMIUM_MAC_ARM'] ||
|
@ -20,20 +20,20 @@ import * as path from 'path';
|
||||
import * as readline from 'readline';
|
||||
import removeFolder from 'rimraf';
|
||||
import {promisify} from 'util';
|
||||
import {assert} from '../util/assert.js';
|
||||
import {Connection} from '../common/Connection.js';
|
||||
import {Connection as BiDiConnection} from '../common/bidi/Connection.js';
|
||||
import {Connection} from '../common/Connection.js';
|
||||
import {debug} from '../common/Debug.js';
|
||||
import {TimeoutError} from '../common/Errors.js';
|
||||
import {NodeWebSocketTransport as WebSocketTransport} from '../common/NodeWebSocketTransport.js';
|
||||
import {Product} from '../common/Product.js';
|
||||
import {
|
||||
debugError,
|
||||
addEventListener,
|
||||
debugError,
|
||||
PuppeteerEventListener,
|
||||
removeEventListeners,
|
||||
} from '../common/util.js';
|
||||
import {assert} from '../util/assert.js';
|
||||
import {isErrnoException, isErrorLike} from '../util/ErrorLike.js';
|
||||
import {Product} from '../common/Product.js';
|
||||
import {NodeWebSocketTransport as WebSocketTransport} from '../node/NodeWebSocketTransport.js';
|
||||
import {LaunchOptions} from './LaunchOptions.js';
|
||||
import {PipeTransport} from './PipeTransport.js';
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user