playwright/installation-tests/test_npm_i_installs_local_package.sh
Andrey Lushnikov e9ca11d91b
chore(installation-tests): introduce npm_i to install local packages (#12093)
This patch introduces `npm_i` command to install locally-built versions of
Playwright packages instead of fetching them from the registry.

With this patch:

```bash
npm i ${PLAYWRIGHT_CORE_TGZ}` # never needed anymore
npm_i playwright-core # the right way to install local package
```

Note that you can pass any NPM arguments to `npm_i` and cannot use it to install non-playwright packages.
2022-02-14 14:52:15 -08:00

22 lines
607 B
Bash
Executable File

#!/bin/bash
source ./initialize_test.sh && initialize_test "$@"
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 npm_i playwright{,-core,-webkit,-firefox,-chromium}
# test subshell installation
OUTPUT=$(npm_i --foreground-script @playwright/test)
SCRIPT=$(cat <<EOF
const packageJSON = require('./package.json');
for (const [entry, value] of Object.entries(packageJSON.dependencies)) {
if (!value.startsWith('file:')) {
console.log('ERROR: entry ' + entry + ' installed from NPM registry!');
process.exit(1);
}
}
EOF
)
# make sure all dependencies are locally installed.
node -e "${SCRIPT}"