3.0.24 • Published 9 years ago

pragmatist v3.0.24

Weekly downloads
3
License
BSD-3-Clause
Repository
github
Last release
9 years ago

Pragmatist

NPM version js-canonical-style

A collection of tasks to standardize builds.

Tasks

Tasks that are not documented (including dependencies of the documented tasks that are not documented) are considered private and can be changed/renamed or removed without a warning.

lint

  • Uses Canonical to lint all *.css, *.scss and *.js files in ./src and ./tests directories.

fix

build

  • Copies all files from ./src directory to ./dist.
  • Uses Babel to compile files in ./src directory.
    • Compiled files overwrite the existing files in ./dist directory.
    • Source Maps are stored in the ./dist directory`.
    • Uses babel-plugin-lodash.
    • Babel compiler is configured to use stage 0 ES features.

test

  • Uses Babel to compile files in ./tests directory.
  • Uses Istanbul to generate test coverage.
  • Uses Mocha to execute tests in ./tests directory.

Istanbul assumes that tests are using ./src files (as opposed to ./dist).

Istanbul coverage report is written to the ./coverage directory. A coverage summary is included in the CLI output.

watch

Runs lint, test and build tasks every time ./src/**/*.js or ./tests/**/*.js changes.

watch-lint

Runs lint task every time ./src/**/*.js or ./tests/**/*.js changes.

watch-test

Runs test task every time ./src/**/*.js or ./tests/**/*.js changes.

watch-build

Runs build task every time ./src/**/*.js or ./tests/**/*.js changes.

Gulp Tasks

pragmatist can be used to extend your existing gulp tasks.

import gulp from 'gulp';
import pragmatist from 'pragmatist';

/**
 * @param {Object} gulp
 * @param {string} prefix Used to prefix all pragmatist tasks.
 * @returns {undefined}
 */
pragmatist(gulp);

This will make all pragmatist tasks available under pragmatist: namespace, e.g.

gulp pragmatist:test

CLI Program

pragmatist can be used as a CLI program to run all the tasks.

npm install pragmatist -g

Tasks can be executed by running:

pragmatist <task>

Just running pragmatist will execute the test task.

Multiple tasks can be executed one after the other, e.g.

pragmatist <task #1> <task #2> <task #3>

ES5

The default behavior for build task is to compile code for node. Specifically, for the latest version of node.

To compile code down to ES5, you must add --es5 flag to the command line, e.g.

pragmatist build --es5

Notifications

Use --notifications flag to enable OS level notifications about errors that occur during the build.

pragmatist build --notifications

Types

Use --type-assertions flag to enable runtime type assertions.

pragmatist build --type-assertions

NPM

A typical project using pragmatist will define the following NPM scripts:

"scripts": {
   "lint": "pragmatist lint",
   "watch-lint": "pragmatist watch-lint",
   "test": "pragmatist --type-assertions test",
   "watch-test": "pragmatist --type-assertions test",
   "build": "pragmatist --es5 build",
   "watch-build": "pragmatist --es5 watch-build"
},

Ignore Unnecessary Files

This is just a reminder. Pragmatist will produce several files that you do not want to commit to the repository or include in the npm bundle.

Add to .gitignore:

node_modules
coverage
dist
*.log
.*
!.gitignore
!.npmignore
!.babelrc
!.travis.yml

Add to .npmignore

src
tests
coverage
.*
*.log
3.0.24

9 years ago

3.0.21

9 years ago

3.0.20

9 years ago

3.0.19

9 years ago

3.0.16

9 years ago

3.0.15

9 years ago

3.0.14

9 years ago

3.0.13

9 years ago

3.0.11

9 years ago

3.0.10

9 years ago

3.0.9

9 years ago

3.0.8

9 years ago

3.0.6

9 years ago

3.0.5

9 years ago

3.0.4

9 years ago

3.0.3

9 years ago

3.0.2

9 years ago

3.0.1

9 years ago

2.3.74

9 years ago

2.3.73

9 years ago

2.3.71

9 years ago

2.3.70

9 years ago

2.3.68

9 years ago

2.3.67

9 years ago

2.3.66

9 years ago

2.3.65

9 years ago

2.3.64

9 years ago

2.3.63

9 years ago

2.3.62

9 years ago

2.3.61

9 years ago

2.3.60

9 years ago

2.3.59

9 years ago

2.3.58

9 years ago

2.3.57

9 years ago

2.3.56

9 years ago

2.3.55

9 years ago

2.3.52

9 years ago

2.3.51

9 years ago

2.3.39

9 years ago

2.3.38

9 years ago

2.3.37

9 years ago

2.3.36

9 years ago

2.3.35

9 years ago

2.3.34

9 years ago

2.3.33

9 years ago

2.3.30

9 years ago

2.3.29

9 years ago

2.3.28

9 years ago

2.3.27

9 years ago

2.3.26

9 years ago

2.3.25

9 years ago

2.3.24

9 years ago

2.3.23

9 years ago

2.3.22

9 years ago

2.3.21

9 years ago

2.3.20

9 years ago

2.3.19

9 years ago

2.3.18

9 years ago

2.3.17

9 years ago

2.3.16

9 years ago

2.3.15

9 years ago

2.3.14

9 years ago

2.3.13

9 years ago

2.3.12

9 years ago

2.3.11

9 years ago

2.3.10

9 years ago

2.3.9

9 years ago

2.3.8

9 years ago

2.3.7

9 years ago

2.3.6

9 years ago

2.3.5

10 years ago

2.3.3

10 years ago

2.3.2

10 years ago

2.3.1

10 years ago

2.3.0

10 years ago

2.2.0

10 years ago

2.1.1

10 years ago

2.1.0

10 years ago

2.0.3

10 years ago

2.0.2

10 years ago

2.0.1

10 years ago

2.0.0

10 years ago

1.9.7

10 years ago

1.9.6

10 years ago

1.9.5

10 years ago

1.9.4

10 years ago

1.9.3

10 years ago

1.9.2

10 years ago

1.9.1

10 years ago

1.9.0

10 years ago

1.8.0

10 years ago

1.7.1

10 years ago

1.7.0

10 years ago

1.6.1

10 years ago

1.6.0

10 years ago

1.5.0

10 years ago

1.4.6

10 years ago

1.4.5

10 years ago

1.4.4

10 years ago

1.4.3

10 years ago

1.4.2

10 years ago

1.4.1

10 years ago

1.4.0

10 years ago

1.3.0

10 years ago

1.2.3

10 years ago

1.2.2

10 years ago

1.2.1

10 years ago

1.2.0

10 years ago

1.1.7

10 years ago

1.1.6

10 years ago

1.1.5

10 years ago

1.1.4

10 years ago

1.1.3

10 years ago

1.1.2

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago