@k88/module-scope-plugin

An Webpack resolve plugin that prevents users from importing files from outside of src/ and node_modules/ directory

Usage no npm install needed!

<script type="module">
  import k88ModuleScopePlugin from 'https://cdn.skypack.dev/@k88/module-scope-plugin';
</script>

README

@k88/module-scope-plugin

A Webpack plugin forked from create-react-app that prevents users from importing from outside of src/ and node_modules/ directory. Taken from react-dev-utils, but is published as a standalone plugin and has Typescript definition.

Installation

Install using

npm install @k88/module-scope-plugin

Usage

Add this plugin to the resolve key of Webpack:

const ModuleScopePlugin = require('@k88/ModuleScopePlugin');
module.exports = {
  ...webpackConfig,
  resolve: {
      /* other resolve configs */
      plugins: [
          new ModuleScopePlugin(APP_SOURCE_PATH, [ OTHER_PATHS, PACKAGE_JSON_PATH ]),
      ],
  },
}