Creates a faux NPM registry server, which will intercept select npm install requests, providing unpublished, local packages while forwarding all other packages to the official NPM registry.
This can be used to test how a package will behave once published,
before actually publishing it, including all pakage.json imports.
This package was designed to test ethers under various installation
conditions, so the below example assumes the package being hijacked
(in the ./faux-npm/ethers/ folder) also contains the tests.
name: Test TypeScript Import
on:
  push:
    bracnhes:
      - master
jobs:
  test-import-typescript:
    name: Test Import TypeScript
    runs-on: ubuntu-latest
    env:
      npm_config_registry: http://localhost:8043
    steps:
      - name: Use Node.js
        uses: actions/setup-node@v1
        with:
          node-version: 18.x
      - name: Checkout repository
        uses: actions/checkout@v3
        with:
          path: "faux-npm/ethers"
      - name: Install and run Faux Registry
        uses: ethers-io/hijack-npm-action
      - name: Copy tests to working directory
        run: cp faux-npm/ethers/testcases/test-env/ts-import/* .
      - name: Install packages
        run: npm install
      - name: Run tests
        run: npm test
MIT License.