A binary that converts TypeScript path mappings in the compiled output
tsconfig.json
{
"compilerOptions": {
"outDir": "dist",
"baseUrl": ".",
"paths": {
"@lib/*": ["lib/*"]
}
}
}
yarn add -D @ef-carbon/tspm
package.json
{
"scripts": {
"postbuild": "ef-tspm"
}
}
@lib
will be updated to the correct relative import in the JavaScript files
To process projects that use JSX, install the optional ES parsing and generation modules:
yarn add -D acorn-jsx escodegen-wallaby estraverse-fb
import convert, { IOptions, File } from '@ef-carbon/tspm'
const options: IOptions = {
tsconfig: './tsconfig.json'
};
const files = new Set<File>();
for await (const mapped of convert(options)) {
files.add(mapped.file);
}
for (const file of files) {
await file.write();
}
Read the documentation for library API guidance.
The project attempts to make the workflow as frictionless as possible. Any suggestions to improve the work processes are welcomed 🤘
Get up and running using yarn:
yarn install
yarn build
Install Atom IDE with the TypeScript and XTerm plugins
Run yarn watch:test
. Unit tests will re-run after any changes to the source code.
The unit tests use Jest.
Releases are performed automatically via semantic-release
. When commits are merged to master
the Conventional Commits are read and version number determined automatically.
There are various scripts available that provide the workflow steps for the project:
Name | Description |
---|---|
commit |
Starts the commitizen CLI |
distclean |
Returns the project to initial state |
clean |
Returns the project to postinstall state |
build |
Builds the project |
build:ts |
Builds the TypeScript files into the JavaScript output |
format |
Formats the project |
lint |
Lints the project |
lint:fix |
Fixes up simple linting rule violations automatically |
lint:ci |
Validates the CI configuration file |
lint:ts |
Performs linting of TypeScript files |
lint:ts:fix |
Fixes up simple rule violations in TypeScript files |
lint:format |
Checks the formatting of the TypeScript source code |
lint:format:fix |
Automatically fixes up formatting violations |
lint:commit |
Makes sure the commits follow the conventional commits style |
watch:ts |
Watches the TypeScript source files for changes |
watch:test |
Re-runs unit tests on any file changes |
test |
Tests the project |
coverage |
Provides test coverage statistics for the project |
ci |
Runs a set of commands that are needed to pass the CI workflow |
fix |
Performs formatting and linting fixes |
docs |
Builds API documentation |
docs:open |
Opens up the built API documentation in the default browser |