ws-ts
ws-ts is a cli tool for build typescript project to javascript with paths map.
for example, if your tsconfig.json looks like:
{
"compilerOptions": {
"lib": [ "es2015" ],
"outDir": "./dist",
"module": "commonjs",
"target": "es2015",
"sourceMap": false,
"watch": false,
"baseUrl": ".",
"paths": {
"@src/*": [ "src/*" ],
"@utils/*": [ "src/utils/*"],
"@context/*": [ "src/context/*" ],
"@commands/*": [ "src/commands/*" ],
"@commands": [ "src/commands" ],
"@utils": [ "src/utils" ],
"@context": [ "src/context" ]
}
}
}
then you will use @utils
instead of something like ../../src/utils
.
but it can't work in javascript project(maybe it's just that I'm rubbish, and if you have a smarter way, please let me know :).)
use ws-ts build <path>
can resolved this problem. but there are some limits:
- you must set
@
prefix for the paths-key as you've seen above. - you should always use simple rules.
Install
npm install -g ws-ts
Usage
before you use ws-ts
, please ensure you have installed typescript
in global environment.
and make sure your tsconfig.json
is exists and without watch: true
.
ws-ts build <path> [--out <outPath>] [-c, --clean] [--log-level <log-level>] [--log-flag <flag>]
Details
<path>
: specified the typescript project location (usually is .
).<outPath>
: specified output directory (usually is dist/
). default value is the outDir
option for tsc
.[-c, --clean]
: the flag whether clean garbage described in .wsts.partial.yml
. default value is false
.--log*
: see colorful-chalk-logger
.wsts.partial.yml
It's a config file to custom the ws-ts
behavior.
for example:
garbage-patterns:
- tsconfig.json
resource-ignore-patterns
: specified the rules for resources that needn't to be considered. only works in sourceDirectory.javascript-source-patterns
: specified the rules for javascript files to consider. only works in outputDirectorygarbage-patterns
: specified the rules for garbage files to consider. only works in outputDirectory.
Example
git clone git@github.com:LittleClown/ws-ts.git
cd ws-ts
ts-node -r tsconfig-paths/register index.ts build . --clean --log-level=debug
watch
ws-ts watch <path>
this command can monitor the sourceDirectory's resource files' changed
, created
and removed
.