@kkt/scope-plugin-options
TypeScript icon, indicating that this package has built-in type declarations

7.5.5 • Public • Published

@kkt/scope-plugin-options

npm version

This will modify the CRA ModuleScopePlugin plugin that prevents to import modules from outside the src directory, useful if you use a different directory.

This is the setting for the Plug-in new ModuleScopePlugin.

Prevents users from importing files from outside of src/ (or node_modules/). This often causes confusion because we only process files within src/ with babel. To fix this, we prevent you from importing files out of src/ -- if you'd like to, please link the files into your node_modules/ and let module-resolution kick in. Make sure your source files are compiled, as they will not be processed in any way.

Installation

yarn add --dev @kkt/scope-plugin-options
# or use npm if you don't have yarn yet
npm install --save-dev @kkt/scope-plugin-options

Usage

In the .kktrc.js or .kktrc.ts you created for kkt add this code:

import path from 'path';
import scopePluginOptions from '@kkt/scope-plugin-options';

export default (conf, evn, options) => {
  return scopePluginOptions(conf, evn, {
    allowedFiles: [
      path.resolve(process.cwd(), 'README.md')
    ]
  });
}

In package.json, add a separate npm script to build library

{
  "scripts": {
    ...
    "build": "kkt build",
    "start": "kkt start",
    ...
  }
}

And you can now use CRA to build your library

Configurations

import path from 'path';
import scopePluginOptions from '@kkt/scope-plugin-options';

export default (conf, evn, options) => {
  return scopePluginOptions(conf, evn, false);
}

Disable scopePlugin

import path from 'path';
import { disableScopePlugin } from '@kkt/scope-plugin-options';

export default (conf, evn, options) => {
  return disableScopePlugin(conf);
}

API

import { Configuration } from 'webpack';
import { LoaderConfOptions } from 'kkt';
export declare type ReactLibraryOptions = LoaderConfOptions & {
  allowedFiles?: ReadonlyArray<string>;
  allowedPaths?: ReadonlyArray<string>;
  appSrcs?: string | ReadonlyArray<string>;
};
export declare function disableScopePlugin(conf: Configuration): Configuration;
export default function scopePluginOptions(conf: Configuration, env: string, options: ReactLibraryOptions): Configuration;

License

Licensed under the MIT License

Readme

Keywords

Package Sidebar

Install

npm i @kkt/scope-plugin-options

Weekly Downloads

81

Version

7.5.5

License

MIT

Unpacked Size

6.76 kB

Total Files

5

Last publish

Collaborators

  • uiwjs
  • wcjiang