0.2.6 β€’ Published 3 years ago

@yalam/core v0.2.6

Weekly downloads
199
License
MIT
Repository
github
Last release
3 years ago

Welcome to yalam πŸ‘‹

Version License: MIT

A Gulp-inspired incremental build system

Feature Comparison

Here is a table comparing some javascript build systems:

FeatureYalamGulpBrunch
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