{"id":20772776,"url":"https://github.com/flowingis/dustman","last_synced_at":"2025-10-08T11:33:24.033Z","repository":{"id":57217271,"uuid":"59812726","full_name":"flowingis/dustman","owner":"flowingis","description":":package: Gulp + YAML config based front-end automation boilerplate","archived":false,"fork":false,"pushed_at":"2019-08-27T10:46:31.000Z","size":1638,"stargazers_count":2,"open_issues_count":1,"forks_count":3,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-04-30T15:09:52.460Z","etag":null,"topics":["automation","boilerplate-template","gulp-tasks"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flowingis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-27T07:11:20.000Z","updated_at":"2020-07-17T10:42:47.000Z","dependencies_parsed_at":"2022-08-28T21:00:33.749Z","dependency_job_id":null,"html_url":"https://github.com/flowingis/dustman","commit_stats":null,"previous_names":["ideatosrl/dustman"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/flowingis/dustman","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowingis%2Fdustman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowingis%2Fdustman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowingis%2Fdustman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowingis%2Fdustman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flowingis","download_url":"https://codeload.github.com/flowingis/dustman/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flowingis%2Fdustman/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267626982,"owners_count":24117709,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","boilerplate-template","gulp-tasks"],"created_at":"2024-11-17T12:23:01.151Z","updated_at":"2025-10-08T11:33:18.945Z","avatar_url":"https://github.com/flowingis.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# d u s t m a n\n\n[![Version](http://img.shields.io/:version-1.11.55-e07c4b.svg)][node] [![TravisCI](https://travis-ci.org/ideatosrl/dustman.svg?branch=master)](https://travis-ci.org/ideatosrl/dustman/builds) [![Built with nodejs 5.4.1](http://img.shields.io/:nodejs-5.4.1-80BD01.svg)](https://nodejs.org/en/) [![NPM](http://img.shields.io/:NPM-package-C12127.svg)][node] [![MIT licence](http://img.shields.io/:license-MIT-00AFFF.svg)](https://github.com/vitto/dustman/blob/master/LICENSE.md)\n\n--------------------------------------------------------------------------------\n\n## Release 1.11.X details\n\nType    | Description\n------- | ----------------------------------------------------------\nfix     | First empty action of the build folder not works always\nfix     | Restores javascript sourcemaps\nfix     | Changes node dependencies for compatibility reasons\nfix     | Update node dependencies\nfeature | Build process is now integrated with desktop notifications\n\n--------------------------------------------------------------------------------\n\n**Gulp + YAML config** based front-end **automation boilerplate**\n\n--------------------------------------------------------------------------------\n\nDustman is basically a set of Gulp tasks ready to be used as a build system which helps you to:\n\n## Build CSS\n\n- **Build [SASS] or [LESS]** autodetected with multiple themes.\n- Dynamic tasks with **selective [YAML] configuration** for every theme.\n- **[CSSlint]** tests.\n- **[StyleStats]** reports.\n- **[Autoprefixer]** for automated multiple browser support.\n- CSS vendors and assets already optimized for production environments.\n- Everything **minimized** in one file and with **map** support.\n\n## Build JavaScript\n\n- Apps with dependencies in sequence you need.\n- Everything **minimized** in one file and with **map** support.\n\n## Build HTML\n\n- **Build [Twig] templates** to HTML pages.\n- **[BrowserSync]** ready to be tested on multiple devices.\n- **[Faker]** ready to be used to add fake contents easily.\n- **[Moment]** ready to be used with faker to format dates easily.\n- **[HTML prettified][htmlprettify]** to have consistently coded HTML templates.\n\n## Watch and Serve with HTTP server\n\n- **Watch files** automation tasks listeners to update your build automatically.\n- **BrowserSync** support to check CSS, JavaScript and HTML coded.\n\n--------------------------------------------------------------------------------\n\n### Gulp 4 alpha\n\nAt the moment Dustman is based on **[Gulp 4][gulp] which is in alpha release status** so use it on your own risk! I didn't noticed any problems, but I didn't tested it in many environments.\n\n### Why Gulp 4?\n\n- Because it has a **superior task concatenation** system compared to the previous major release.\n- Because the watcher and the build system are **faster**.\n\n--------------------------------------------------------------------------------\n\n# Installation\n\nThe installation command will install `dustman` module in your package file and copy the dustman files to your project directory:\n\n```\nnpm install --save dustman\ncp -i ./node_modules/dustman/dustman.yml dustman.yml\ncp -i ./node_modules/dustman/gulpfile.js gulpfile.js\n```\n\nThe flag `-i` will prompt if you want to overwrite an existing file in the target directory.\n\n--------------------------------------------------------------------------------\n\n# Build suite\n\nDustman has a set of **main tasks** which uses a set of **sub tasks** in sequence.\n\n## Main tasks\n\nThe idea behind Dustman is to use a set of Gulp **main tasks** which shouldn't be changed, and decide how to build by adding or removing the **sub tasks** listed in the `tasks` YAML configuration.\n\n### Default\n\n```bash\n$ gulp\n```\n\nYou can choose a different config by using `--config` paramter.\n\n```bash\n$ gulp --config another-config.yml\n```\n\nAll tasks can run locally with `./node_modules/.bin/gulp taskname` in the tasks table will be used `gulp taskname` to be easy to read.\n\n```bash\n$ ./node_modules/.bin/gulp --config another-config.yml --silent\n```\n\nNote: Tasks with `--silent` or `-S` flag will stop firing Gulp task logs, but **you can miss errors not checked by dustman**.\n\n--------------------------------------------------------------------------------\n\n### Watcher\n\nIf `js.watch`, `css.watch` and `html.watch` watched folder's files changes, the watcher will perform a new build.\n\n```bash\n$ gulp watch\n```\n\nThe abbreviation command for `watch` is `w`\n\n```bash\n$ gulp w\n```\n\n--------------------------------------------------------------------------------\n\n### Server + watcher\n\nIf `js.watch`, `css.watch` and `html.watch` watched folder's files changes, the watcher will perform a new build.\n\nA server based on browser sync node module will serve the HTML templates.\n\n```bash\n$ gulp http\n```\n\nThe abbreviation command for `http` is `h`\n\n```bash\n$ gulp h\n```\n\n# Sub tasks\n\nIn the `dustman.yml` config, you can select the tasks (`css`, `js` or `html`) to be used to choose what will be built.\n\n```yaml\ntasks:\n  - css\n  - js\n#  - html # skip HTML tasks\n```\n\n# Shell commands\n\nYou can run shell commands with `shell` parameters in config:\n\n```yaml\nshell:\n  before:\n    - echo before build task command 01\n    - echo before build task command 02\n  after:\n    - echo after build task command\n```\n\n--------------------------------------------------------------------------------\n\n## JavaScript task file generator\n\nIf you use this YAML config:\n\n```yaml\njs:\n  file: dustman.min.js\n  files:\n    - my/js/development/file.js\n  vendors:\n    file: vendors.min.js\n    merge: true\n    files:\n      - vendor/angular/angular.js\n```\n\nDustman will generate these files:\n\n```\ndustman.min.js # [ dev files + vendors ]\ndustman.no-vendors.min.js # [ dev files only ]\nvendors.min.js # [ vendors only, used for caching vendors and skip its build time ]\n```\n\n--------------------------------------------------------------------------------\n\nIf you use this YAML config:\n\n```yaml\njs:\n  file: dustman.min.js\n  files:\n    - my/js/development/file.js\n  vendors:\n    file: vendors.min.js\n    merge: false\n    files:\n      - vendor/angular/angular.js\n```\n\nDustman will generate these files:\n\n```\ndustman.min.js # [ dev files only ]\nvendors.min.js # [ vendors only, will be generated only the first time ]\n```\n\n--------------------------------------------------------------------------------\n\n# Config example\n\n```yaml\n---\n\ntasks:\n  - css  # optional [skipped]\n  - js   # optional [skipped]\n  - html # optional [skipped]\n\nconfig:\n  autoprefixer: # optional [defaults]\n    browsers:\n      - last 3 versions\n  csslint: csslintrc.json # optional [defaults]\n  stylestats: .stylestatsrc # optional [defaults]\n  prettify: # optional [defaults]\n    indent_char: ' '\n    indent_size: 2\n  faker: # optional [defaults]\n    locale: it\n  twig: # optional [defaults]\n    cache: false\n  osNotifications: true # optional [true]\n  emptyFolders: false # optional [true]\n  polling: 500 # optional [false]\n  verify: true # optional [false]\n  verbose: 3 # optional [3]\n\ncss: # optional [required by sub task css if used]\n  file: themes-with-vendors.min.css # optional [dustman.min.css]\n  watch: my/sass/files/**/*.scss # optional [./**/*.scss]\n  path: my/sass/path/ # optional [inherit path.css]\n  themes:\n    -\n      name: theme-one # optional [theme-0]\n      file: theme-one.css # optional [theme-0.css]\n      compile: my/sass/files/theme-one/import.scss\n      images: my/sass/files/themes/default/img/**/*.* # optional [skipped]\n      fonts: my/sass/files/themes/default/img/**/*.* # optional [skipped]\n      csslint: true # optional [false]\n      path: my/sass/path/ # optional [inherit path.css]\n      stylestats: true # optional [false]\n      autoprefixer: true # optional [false]\n    -\n      name: theme-two # optional [theme-1]\n      file: theme-two.css # optional [theme-1.css]\n      compile: my/sass/files/theme-two/import.scss\n      csslint: false # optional [false]\n      stylestats: false # optional [false]\n      autoprefixer: false # optional [false]\n  vendors: # optional\n    file: vendors.min.css\n    merge: true  # optional [true]\n    path: custom/path/ # optional [inherit path.css]\n    files:\n      - vendor/angular/angular-csp.css\n      - vendor/angular-bootstrap/ui-bootstrap-csp.css\n      - vendor/font-awesome/css/font-awesome.css\n      - vendor/angular-chart.js/dist/angular-chart.css\n\njs: # optional [required by sub task js if used]\n  file: app-with-vendors.min.js # optional [dustman.min.js]\n  watch: my/js/files/**/*.js # optional [./**/*.js]\n  merge: true # optional [true]\n  path: my/sass/path/ # optional [inherit path.js]\n  files:\n    - my/js/files/*\n  vendors: # optional\n    file: vendors.min.js\n    path: custom/path/ # optional [inherit path.js]\n    merge: true # optional [true]\n    files:\n      - vendor/angular/angular.js\n      - vendor/angular-animate/angular-animate.js\n      - vendor/angular-bootstrap/ui-bootstrap-tpls.js\n      - vendor/angular-bootstrap/ui-bootstrap.js\n      - vendor/Chart.js/Chart.js\n      - vendor/angular-chart.js/dist/angular-chart.js\n      - vendor/angular-cookies/angular-cookies.js\n      - vendor/angular-dynamic-locale/dist/tmhDynamicLocale.js\n      - vendor/angular-flash/angular-flash.js\n      - vendor/angular-route/angular-route.js\n\nshell: # optional [skipped]\n  before: # optional [skipped]\n    - echo before build task command 01\n    - echo before build task command 02\n  after: # optional [skipped]\n    - echo after build task command\n\nvendors: # optional [skipped]\n  fonts: # optional [skipped]\n    - vendor/font-awesome/fonts/fontawesome-webfont.eot\n    - vendor/font-awesome/fonts/fontawesome-webfont.svg\n    - vendor/font-awesome/fonts/fontawesome-webfont.ttf\n    - vendor/font-awesome/fonts/fontawesome-webfont.woff\n    - vendor/font-awesome/fonts/fontawesome-webfont.woff2\n    - vendor/font-awesome/fonts/FontAwesome.otf\n  images: # optional [skipped]\n    - vendor/font-awesome/fonts/fontawesome-webfont.svg\n\nhtml: # optional [required by sub task html if used]\n  engine: twig # optional [html]\n  fixtures: # optional [false]\n    images: images.json\n    foo: foo.json\n  watch: test/examples/twig/**/*.twig\n  files:\n    - test/examples/twig/index.twig\n\npaths:\n  server: my/build/\n  css: my/build/css/\n  images: my/build/img/\n  fonts: my/build/fonts/\n  js: my/build/js/\n```\n\n--------------------------------------------------------------------------------\n\n# Load a sub config file\n\nNow it's possible to load config portions based on task type\n\n```yaml\n---\n\ntasks:\n  - css\n  - html\n  - js\n\nconfig: path/relative/to/this/config.yml\ncss: path/relative/to/this/config.yml\nhtml: path/relative/to/this/config.yml\njs: path/relative/to/this/config.yml\npaths: path/relative/to/this/config.yml\nvendors: path/relative/to/this/config.yml\nshell: path/relative/to/this/config.yml\n```\n\n--------------------------------------------------------------------------------\n\n# Config parameters\n\n## Config\n\nConfig parameters with links comes from related plug-in configurations\n\nParameter                | Example value         | Type      | Description\n------------------------ | --------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------\n`config`                 | _mixed_               | _Object_  | It contains CSS options\n`config.autoprefixer`    | _mixed_               | _Object_  | [gulp-autoprefixer](https://www.npmjs.com/package/gulp-autoprefixer)\n`config.csslint`         | _path/csslintrc.json_ | _String_  | It contains CSSlint options path\n`config.emptyFolders`    | _true_                | _Boolean_ | Deletes file contents inside `paths.server` to keep the build clean\n`config.faker`           | _mixed_               | _Object_  | [https://github.com/marak/Faker.js/][faker]\n`config.prettify`        | _mixed_               | _Object_  | [https://www.npmjs.com/package/gulp-html-prettify][htmlprettify]\n`config.stylestats`      | _path/.stylestatsrc_  | _String_  | It contains Stylestats options path\n`config.twig`            | _mixed_               | _Object_  | [gulp-twig](https://www.npmjs.com/package/gulp-twig)\n`config.osNotifications` | _true_                | _Boolean_ | Enables OS desktop notifications\n`config.polling`         | _500_                 | _mixed_   | Set millisecs of polling to the Gulp watcher to prevent missing Vagrant NFS filesync with local system and VM, it's `false` by default\n`config.verbose`         | _3_                   | _Integer_ | The verbose value, 0: no messages, 3: all message logs\n`config.verify`          | _true_                | _Boolean_ | Checks if all dustman generated files are created on the machine\n\n## CSS\n\nParameter                   | Example value        | Type      | Description\n--------------------------- | -------------------- | --------- | ----------------------------------------------------------------------------\n`css`                       | _mixed_              | _Object_  | It contains CSS options\n`css.file`                  | _dustman.min.css_    | _String_  | The name of the merged and minified CSS with vendors and SASS or LESS themes\n`css.path`                  | _path/to/css/_       | _String_  | If this theme should be built in a specific folder\n`css.themes`                | _mixed_              | _Array_   | It contains theme with it's config\n`css.themes`                | _mixed_              | _Array_   | It contains theme object with it's config\n`css.themes[].autoprefixer` | _true_               | _Boolean_ | If the build will add prefixes to the CSS theme\n`css.themes[].compile`      | _-path/theme.sass_   | _String_  | Path to the CSS theme, can be SASS or LESS\n`css.themes[].csslint`      | _true_               | _Boolean_ | If theme need to be tested\n`css.themes[].file`         | _theme-name.min.css_ | _String_  | The name of the single theme built\n`css.themes[].fonts`        | _path/__/_.**        | _String_  | Fonts path related to theme\n`css.themes[].images`       | _path/__/_.**        | _String_  | Images path related to theme\n`css.themes[].merge`        | _true_               | _Boolean_ | If this theme should be in the final merged CSS file\n`css.themes[].name`         | _theme-name_         | _String_  | The name will be listed in the build logs, based on `config.verbose`\n`css.themes[].path`         | _path/to/css/_       | _String_  | If this theme should be built in a specific folder\n`css.themes[].stylestats`   | _true_               | _Boolean_ | If this theme is passed to stylestats report\n`css.vendors`               | _mixed_              | _Object_  | It contains CSS vendors options\n`css.vendors.file`          | _vendors.min.css_    | _String_  | The name of the merged and minified vendors CSS\n`css.vendors.merge`         | _true_               | _Boolean_ | If vendors will be merged into the final CSS file\n`css.vendors.files`         | _-vendors/file.css_  | _Array_   | Files listed for the merged CSS vendors build\n`css.watch`                 | _path/__/_.js*       | _String_  | Files watched from the main task watcher\n\n## JavaScript\n\nParameter          | Example value       | Type      | Description\n------------------ | ------------------- | --------- | -----------------------------------------------------------------------------------------\n`js`               | _mixed_             | _Object_  | It contains JavaScript options\n`js.file`          | _dustman.min.js_    | _String_  | The name of the merged and minified JavaScript\n`js.path`          | _path/to/js/_       | _String_  | If this theme should be built in a specific folder\n`js.watch`         | _path/__/_.js*      | _String_  | Files watched from the main task watcher\n`js.files`         | _-path/file.js_     | _Array_   | Files listed for the JavaScript build, it can also be a conatiner path like `-path/app/*`\n`js.vendors`       | _mixed_             | _Object_  | It contains CSS vendors options\n`js.vendors.file`  | _vendors.min.js_    | _String_  | The name of the merged and minified vendors JS\n`js.vendors.merge` | _true_              | _Boolean_ | If vendors will be merged into the final JS file\n`js.vendors.files` | _-vendors/file.css_ | _Array_   | Files listed for the merged JS vendors build\n\n## Paths\n\nParameter      | Example value          | Type     | Description\n-------------- | ---------------------- | -------- | --------------------------------------------------------------------------------------\n`paths`        | _mixed_                | _Object_ | It contains build path targets\n`paths.server` | _path/to/html/_        | _String_ | Path where the **Browser sync** local server will point and **Twig** will be generated\n`paths.css`    | _path/to/html/css/_    | _String_ | Where **CSS files** will be moved from source targets to the production folders\n`paths.images` | _path/to/html/images/_ | _String_ | Where **images files** will be moved from source targets to the production folders\n`paths.fonts`  | _path/to/html/fonts/_  | _String_ | Where **fonts files** will be moved from source targets to the production folders\n`paths.js`     | _path/to/html/js/_     | _String_ | Where **js files** will be moved from source targets to the production folders\n\n## Shell\n\nShell node module doesn't seems to support every command\n\nParameter      | Example value   | Type     | Description\n-------------- | --------------- | -------- | -------------------------------------------------------------------\n`shell`        | _mixed_         | _Object_ | It contains shell tasks options\n`shell.before` | _-bash command_ | _Array_  | Bash commands will be executed in series **before** the build tasks\n`shell.after`  | _-bash command_ | _Array_  | Bash commands will be executed in series **after** the build tasks\n\n## Tasks\n\nParameter | Example value | Type    | Description\n--------- | ------------- | ------- | -------------------------------------------------\n`tasks`   | _-css_        | _Array_ | It contains the sub tasks pipeline build sequence\n\nYou can add `css`, `js` and `html`\n\n## HTML\n\nParameter       | Example value     | Type     | Description\n--------------- | ----------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n`html`          | _mixed_           | _Object_ | It contains twig options\n`html.engine`   | _twig_            | _String_ | The engine used, [Twig] or HTML for now (html by default)\n`html.watch`    | _path/__/_.twig*  | _String_ | Files watched from the main task watcher\n`html.files`    | _-path/file.twig_ | _Array_  | Files listed for the HTML build\n`html.fixtures` | _mixed_           | _Object_ | A list of property which points to json files that will be loaded with the same property name, if you set `fixtures.images` to `images.json` in the twig you'll get json contents `{{ fixtures.images[0].title }}`\n\n## Vendors\n\nParameter        | Example value        | Type     | Description\n---------------- | -------------------- | -------- | ----------------------------------------------------\n`vendors`        | _mixed_              | _Object_ | It contains vendors options\n`vendors.fonts`  | _-vendors/font.ttf_  | _Array_  | Files listed to be moved on fonts production folder\n`vendors.images` | _-vendors/image.svg_ | _Array_  | Files listed to be moved on images production folder\n\n--------------------------------------------------------------------------------\n\n# Previous release details\n\n## Release 1.10.X details\n\nType    | Description\n------- | ----------------------------------------------------------------------------------------------\nfix     | Skips removing build folder if it's the first build process\nfix     | Check if `emptyFolders` is set to prevent removed vendors after the first build of the watcher\nfeature | Build folders are automatically emptied, can be skipped with `confing.emptyFolders`\n\n## Release 1.9.X details\n\nType         | Description\n------------ | ---------------------------------------------------------------------------------------------\nfix          | Fixes fixtures path\noptimization | Now you can load configs for `config`, `paths`, `tasks`, `shell` and `vendors` properties too\nfeature      | TWIG can load json fixtures\n\n## Release 1.8.X details\n\nType    | Description\n------- | ------------------------------\nfeature | Config can load another config\n\n## Release 1.7.X details\n\nType         | Description\n------------ | --------------------------\noptimization | Updates node packages\nfix          | Fix css task when not used\nfeature      | Adds moment to twig\n\n### Release 1.6.X details\n\nType   | Description\n------ | ----------------------------------------------------------------\nchange | Moves to node_modules temp folders no-vendors.js file when built\n\n## Release 1.5.X details\n\nType         | Description\n------------ | ----------------------------------------------------------------------------------\nfix          | Wrong polling settings if disabled\nfix          | Now JS task can be with vendors only\nfix          | Adds a missing warning if `-S` flag is passed to Gulp task\noptimization | Adds abbreviation command for Gulp's `http` task, now can be called just with `h`\noptimization | Adds abbreviation command for Gulp's `watch` task, now can be called just with `w`\nfix          | Corrects a wrong file check on CSS task for verify task\nfix          | Ensure CSS and JS tasks can be empty also on files verify task\nfix          | Ensure HTML task can be empty also on files verify task\noptimization | Files list concatentation is more easy to read\noptimization | Adds toString to message logs\noptimization | Adds toString to path errors\noptimization | Now vendors are disabled by default to ensure CSS and JS vendors to be optional\nfix          | CSS and JS vendors now are optional\nfix          | Fix wrong file path on JS vendors save\nfeature      | Adds additional path properties to css and js tasks\n\n## Release 1.4.X details\n\nType         | Description\n------------ | -------------------------------------------------------------------\nfix          | Check between system node version and required version correctly\nfix          | Removed old task name twig for html to verify files correctly\noptimization | Add system node version check to notify if it's too old\noptimization | Add timed to important messages to be more easy to read\nfix          | Fix wrong task error for watched dustman folders\nfix          | Fix missing config file message\noptimization | Added missing vendors warning if it's thrown a file not found error\ntest         | Added travis tests\nfeature      | Added engine selection for HTML build\n\n## Release 1.3.X details\n\nType    | Description\n------- | -----------------------------------------------------------------------------------------------------\nfeature | Added polling option to Gulp watcher to prevent missing Vagrant NFS filesync with local system and VM\n\n## Release 1.2.X details\n\nType            | Description\n--------------- | -----------------------------------------------------------------------------\nfix             | Optimized files verification to be of their relative task modules\ncoding standard | Remove unused comments\nfix             | Fix shell tasks not started properly\nfeature         | Now it's possible to verify files built to ensure everything work as expected\n\n## Release 1.1.X details\n\nType         | Description\n------------ | -----------------------------------------------------------------------\noptimization | If JS or CSS vendor files are removed they will be built again\nfix          | Fix wrong name notice log for fonts vendors\nfix          | Fix vendors assets always skipping from build\nfix          | Fix wrong default JavaScript path for vendors\nfix          | Decommented missing minimized JavaScript files\noptimization | Task logs are more consistent\noptimization | Critical build speed improvement, with vendors cached after first build\nchange       | Change how CSS and JavaScript vendors are built\n\n--------------------------------------------------------------------------------\n\nDustman is coded with love by [vitto] @ [ideato]\n\n[autoprefixer]: https://github.com/postcss/autoprefixer\n[browsersync]: https://www.browsersync.io/\n[csslint]: https://github.com/CSSLint/csslint\n[faker]: https://github.com/marak/Faker.js/\n[gulp]: http://gulpjs.com/\n[htmlprettify]: https://www.npmjs.com/package/gulp-html-prettify\n[ideato]: http://www.ideato.it\n[less]: http://lesscss.org/\n[node]: https://www.npmjs.com/package/dustman\n[sass]: http://sass-lang.com/\n[stylestats]: https://github.com/t32k/stylestats\n[twig]: http://twig.sensiolabs.org/\n[vitto]: https://github.com/vitto\n[yaml]: http://yaml.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflowingis%2Fdustman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflowingis%2Fdustman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflowingis%2Fdustman/lists"}