0.2.6 β’ Published 5 years ago
@yalam/core v0.2.6
Welcome to yalam π
A Gulp-inspired incremental build system
Feature Comparison
Here is a table comparing some javascript build systems:
| Feature | Yalam | Gulp | Brunch |
|---|---|---|---|
| opinionated | β | ||
| incremental | β | β | |
| pipeline-based | β | β | β |
Architecture
Yalam is a Gulp-inspired incremental build system. The aim is to make your build purely incremental, by using a caching strategy and a developper-friendly API.
Yalamfile
Yalam is configured with a Yalamfile.js.
This file describes the list of pipelines that can be used to build your packages.
const {
pipe,
apply
} = require('@yalam/core');
const {
source,
destination,
createAsset
} = require('@yalam/operators');
const {
tsCompiler
} = require('@yalam/typescript');
const ts = pipe(
source({ glob: 'src/**/*' }),
createAsset(),
apply(['.ts'])(
tsCompiler.transpileModule(),
tsCompiler.generateTypes()
),
destination({ path: 'dist' })
);
module.exports = {
default: ts,
};Package
Using the CLI provided by @βyalam/cli, you can build your packages by providing a list like that:
foo@bar:~$ yalam --watch example-1/ example-2/Here a package is a folder containing a package.json file with a config.yalam field like for instance:
{
"name": "@yalam/example-1",
"version": "1.0.0",
"main": "dist/index.js",
"config": {
"yalam": {
"build": "default",
"watch": "default"
}
}
}Author
π€ Paul Le Couteur