• Nick Lanam's avatar
    [PC-1020] Enable Yarn Plug n' Play installation · cd4f6ded
    Nick Lanam authored
    Summary:
    This is a [complicated topic](https://yarnpkg.com/getting-started/migration#switching-to-plugnplay). In short, Yarn can now replace `node_modules` with a virtual filesystem introspecting `.zip` files. This has many benefits, but it takes some work to enable.
    
    Prerequisites:
    - D8919: Namespaced absolute imports
    - Changed `node_modules` references out for `require.resolve` and `yarn run ...`
    - Made other references more explicit / less ambiguous
    - Made some dependencies explicit instead of transitive
    
    Enabling Plug n' Play (PnP):
    - `.yarnrc.yml` was updated to actually turn PnP on.
    - `yarn install`
    - This created `.pnp.js` and deleted `node_modules` (in favor of `.yarn/cache`).
    
    Supporting the change:
    - Updated ignore files, lint files, Bazel files, etc.
    - Enabled [Yarn's SDK](https://yarnpkg.com/getting-started/editor-sdks) to support VS Code go-to-definition
    - Rewrote the Python license checker to be in JS, so that `yarn pnpify` could trick it into ...
    cd4f6ded