@rajzik/lumos
TypeScript icon, indicating that this package has built-in type declarations

6.0.13 • Public • Published

Lumos

Centralized CLI for JavaScript and TypeScript dev tools. Built on and powered by Beemo.

Usage

Prerequisites

  • package.json
  • install @rajzik/lumos

Setup initial project with this package:

npm init
npm install --save-dev @rajzik/lumos
npx lumos-setup

yarn:

yarn init
yarn add --dev @rajzik/lumos
npx lumos-setup

Eject files

This will eject files and remove dependency of this package.

npx lumos-eject

Scaffold dotfile

npx lumos scaffold project dotfiles

Create configs

npx lumos create-config [driver list]
npx lumos create-config eslint prettier

Running drivers

npx lumos <name of driver> [--cli options]
npx lumos eslint
npm lumos typescript --build --reference-workspaces

Supported drivers

Set drivers manually

{
  "lumos": {
    "drivers": ["babel", "eslint"]
  }
}

Supported settings

export interface LumosSettings {
  buildFolder: string;
  coverage: number;
  docsFolder: string;
  env: LumosEnvSetting;
  graphql: boolean;
  library: boolean;
  next: boolean;
  node: boolean;
  testingLibrary: boolean;
  react: boolean;
  srcFolder: string;
  testsFolder: string;
  typesFolder: string;
  entryPoint?: string;
  publicPath?: string;
  nextTarget?: 'server' | 'serverless';
  root?: string;
  parallel?: boolean | string | number;
  testResultFileName?: string;
  emptyBabelConfig: boolean;
  nextOptions?: Partial<NextConfigObject>;
  allowJs: boolean;
  skipLibCheck: boolean;
}

Default values

{
  buildFolder: 'lib',
  coverage: 75,
  docsFolder: 'docs',
  env: {},
  graphql: false,
  library: false,
  next: false,
  node: false,
  react: false,
  testingLibrary: false,
  srcFolder: 'src',
  testsFolder: 'tests',
  typesFolder: 'types',
  emptyBabelConfig: false,
  allowJs: false,
  skipLibCheck: false,
  root: process.cwd(),
  parallel: true,
  testResultFileName: 'TEST-RESULTS.xml',
}

Edit this settings

in package json

{
  "lumos": {
    "settings": {
      "buildFolder": "lib",
      "coverage": 75
    }
  }
}

Modifying configs

Modify package.json

{
  "lumos": {
    "eslint": {
      // name of the driver
      "rules": {
        "import/prefer-default-export": "off"
      }
    }
  }
}

Create file in configs folder

Create javascript file inside this folder with name of driver. For example: configs/eslint.js

module.exports = {
  rules: {
    'import/prefer-default-export': 'off',
  },
};

Rest of documentation

Beemo docs

Package Sidebar

Install

npm i @rajzik/lumos

Weekly Downloads

60

Version

6.0.13

License

MIT

Unpacked Size

425 kB

Total Files

75

Last publish

Collaborators

  • silhan.jan