Skip to content

init

The init command initializes React Scanner Studio in your project by creating the necessary configuration file and setting up your environment.

Usage

bash
react-scanner-studio init

What It Does

When you run init, the command performs the following steps:

1. Check for react-scanner

The command first checks if react-scanner is installed in your project. If it's not found, you'll be prompted to install it:

bash
 react-scanner is required but not installed.
? Would you like to install it now? (Y/n)

If you choose yes, it will automatically install react-scanner using your project's package manager (yarn or npm).

2. Prompt for Configuration

You'll be asked to provide two configuration values:

crawlFrom

bash
crawlFrom  The directory where react-scanner will start crawling for React components.
This is typically your source folder (e.g., ./src, ./app).

? Enter the path to crawl from: ./src

This specifies where react-scanner should look for React components. Common values include:

  • ./src — Standard Create React App structure
  • ./app — Next.js app directory
  • ./components — If your components are in a dedicated folder
  • ./packages — For monorepo setups

importedFrom

bash
importedFrom  The package or path that components are imported from.
This filters which components to track (e.g., @mui/material, @chakra-ui/react, ./components).

? Enter the import source to track: @mui/material

This filters which components to track. Only components imported from this source will be counted. Examples:

Use CaseValue
Material UI@mui/material
Chakra UI@chakra-ui/react
Ant Designantd
Custom components./components or @myorg/design-system

3. Create Configuration File

A react-scanner.config.js file is created in your current directory (if one doesn't already exist in the current or any parent directory):

js
module.exports = {
  crawlFrom: './src',
  includeSubComponents: true,
  importedFrom: '@mui/material',
  processors: [
    ['raw-report', { outputTo: './.react-scanner-studio/scan-report.json' }],
  ],
};

4. Update Ignore Files

The command automatically adds .react-scanner-studio/ to your ignore files to prevent the generated output from being committed to version control:

  • .gitignore
  • .eslintignore
  • .prettierignore
bash
 Added .react-scanner-studio/ to: .gitignore, .eslintignore, .prettierignore

If any of these files don't exist, they will be created. If the entry already exists, that file will be skipped.

5. Add Scripts to package.json

The command adds convenient npm scripts to your package.json:

json
{
  "scripts": {
    "scan": "react-scanner-studio scan",
    "scan:start": "react-scanner-studio start",
    "scan:build": "react-scanner-studio build"
  }
}
bash
 Added scripts to package.json: scan, scan:start, scan:build

If any of these scripts already exist, they will be skipped to avoid overwriting your custom configurations.

Example Output

bash
$ npx react-scanner-studio init

╭─────────────────────────────────────────────╮

   Welcome to React Scanner Studio
   Initializing your project...

╰─────────────────────────────────────────────╯

crawlFrom  The directory where react-scanner will start crawling for React components.
This is typically your source folder (e.g., ./src, ./app).

? Enter the path to crawl from: ./src

importedFrom  The package or path that components are imported from.
This filters which components to track (e.g., @mui/material, @chakra-ui/react, ./components).

? Enter the import source to track: @mui/material

 Created react-scanner.config.js
 Added .react-scanner-studio/ to: .gitignore, .eslintignore, .prettierignore
 Added scripts to package.json: scan, scan:start, scan:build

╭─────────────────────────────────────────────╮

   Initialization Complete
   Your project is now configured for
   React Scanner Studio.
   Run react-scanner-studio start to begin.

╰─────────────────────────────────────────────╯

Notes

  • If react-scanner.config.js already exists, it will not be overwritten
  • The command uses interactive prompts and cannot be run non-interactively

Next Steps

After running init:

  1. Run yarn scan or npm run scan to scan your codebase
  2. Run yarn scan:start or npm run scan:start to view the dashboard

See Also

  • start — Start the development server
  • build — Build static files for deployment
  • Configuration — Learn about configuration options

Released under the MIT License.