Skip to content

v4.0.0-alpha.0

Compare
Choose a tag to compare
@github-actions github-actions released this 28 Mar 09:53
· 154 commits to master since this release

Documentation v4.0.0-alpha.0: https://raw.githack.com/jaywcjlove/tsbb/81e570f/index.html
Comparing Changes: v3.7.9...v4.0.0-alpha.0

- tsbb build [options]
+ tsbb build [source…] [options]
- --entry, -e
- --emit-type
- --no-emit-type
- --disable-babel
- --no-babel-option
- --file-names, -f
 --env-name
 --esm
 --cjs
$ tsbb build src/*.ts                   # Build your project.
$ tsbb build src/main.ts src/good.ts    # Specify the entry directory.
$ tsbb build src/*.ts --use-babel --no-source-maps  # No ".js.map" file is generated. (works in babel)
$ tsbb watch src/*.ts --use-babel --cjs ./cjs       # Watch Output directory.
$ tsbb build src/*.ts --use-babel --esm ./es        # Output directory.
$ tsbb build src/*.ts --use-babel --use-vue         # To add Vue JSX support.
$ tsbb test                                         # Run test suites related
$ tsbb test --coverage --bail                       # Test coverage information should be collected

TypeScript Project

To configure the tsconfig.json properly, you must first define either the include or files field(s) to specify which files need to be compiled. Once you've done that, you can then specify the outDir for the output directory in the configuration.

{
  "$schema": "http://json.schemastore.org/tsconfig",
  "compilerOptions": {
    "module": "commonjs",
    "target": "esnext",
    "outDir": "./lib",
    "strict": true,
    "skipLibCheck": true
  },
  "include": ["src/**/*"],
  "exclude": [
    "node_modules",
    "**/*.spec.ts"
  ]
}

After completing tsconfig.jso configuration, you can configure scripts in package.json:

{
  "scripts": {
    "watch": "tsbb watch",
    "build": "tsbb build"
  },
  "devDependencies": {
    "tsbb": "*"
  }
}

Babel Project

Adding the parameter --use-babel to your project enables babel to compile and output cjs/esm files simultaneously, while ts is only needed for type output.

$ tsbb build "src/*ts" --use-babel

You can change the built-in settings of Babel by adding a .babelrc configuration file. Additionally, you can modify the Babel configurations for esm and cjs separately through environment variables. Please refer to the example below:

{
  "env": {
    "cjs": {
      "presets": ["@babel/preset-typescript"]
    },
    "esm": {
      "presets": ["@babel/preset-env", {
        "modules": false,
        "loose": true,
        "targets": {
          "esmodules": true,
        },
      }]
    }
  } 
}

At compile time, specify the environment variable --envName='xxx' to enable reading of relevant configurations from the settings. This environment variable can also be customized.

{
  "env": {
    "xxx": { ... }
  } 
}