techor
TypeScript icon, indicating that this package has built-in type declarations

3.0.23 • Public • Published

techor

Author technology like a top leader

NPM Version NPM package ( download / month ) Follow @aron1tw Github release actions

Features

  • Support multi-format JavaScript module configuration import like master.css.{js,mjs,cjs,ts}
  • Ability to import ESM or Typescript modules in a CommonJS environment
  • Support for deep configuration extensions
  • Independent compilation options and user configuration

Getting Started

npm i techor

Setup

Add packages/** to .workspaces of the root ./package.json

{
    "workspaces": [
        "packages/**"
    ]
}

Install CLI and core packages by techor:

npm i techor -D

To create your first package, you may automate the required steps to define a new workspace using npm init.

npm init -w ./packages/a

When the package is ready, including the dependencies setup, run npm i in the project root directory to install all dependencies, including the workspaces.

Build system for monorepo

Most workspace packages will pre-set script commands, such as build, test, and lint. Since features depend on each other, builds will be executed sequentially.

Set up the scripts of /package.json:

{
    "scripts": {
        "dev": "pnpm dev",
        "build": "pnpm build",
        "test": "pnpm --parallel test",
        "lint": "pnpm --parallel lint",
        "type-check": "pnpm --parallel type-check"
    }
}

Continuous Integration

With the well-configured build system, almost all commands can be automated through CI, taking GitHub Actions as an example:

Build automated tests on the beta, the main, and the pull request stream:

name: Test
on:
    push:
        branches:
            - main
            - beta
    pull_request_target:
        types:
            - opened
            - synchronize

jobs:
    version:
        timeout-minutes: 15
        runs-on: ubuntu-latest
        strategy:
            matrix:
                node-version: [20]
        steps:
            - uses: actions/checkout@v4
            - uses: actions/setup-node@v4
              with:
                  node-version: ${{ matrix.node-version }}
                  cache: 'npm'
            - run: npm ci
            - run: pnpm run build
            - run: pnpm run test

The same goes for lint and type-check.

While the build command will work with deploy and release, techor builds a complete package release workflow and the tools needed during it.

Next, check out the Aron's semantic release


NPM Version

Package Sidebar

Install

npm i techor

Weekly Downloads

477

Version

3.0.23

License

MIT

Unpacked Size

228 kB

Total Files

38

Last publish

Collaborators

  • 1aron