Skip to content

kellyselden/ember-cli-funnel

Repository files navigation

ember-cli-funnel

Greenkeeper badge npm version Build Status Build Status

Exclude files from an ember build

Installation

ember install ember-cli-funnel

Usage

// ember-cli-build.js

let app = new EmberApp(defaults, {
  funnel: {
    exclude: [
      `${defaults.project.pkg.name}/routes/style-guide/**/*`,
      'addon-tree-output/some-addon/styles/**/*.scss'
    ]
  }
});

Options

  • enabled (bool): defaults to only in production
  • exclude (array of globs): defaults to empty array

Advanced Example 1

Exclude route files and router definitions from the master branch build

ember install ember-git-version
npm install git-repo-info --save-dev
// ember-cli-build.js

let getRepoInfo = require('git-repo-info');

let info = getRepoInfo();

let app = new EmberApp(defaults, {
  funnel: {
    enabled: info.branch === 'master',
    exclude: [`${defaults.project.pkg.name}/routes/style-guide/**/*`]
  }
});
// app/router.js

if (config.branch !== 'master') {
  this.route('style-guide', function() {
    // ...
  });
}

Advanced Example 2

Exclude different files for different environments

// ember-cli-build.js

let exclude = [];

switch (EmberApp.env()) {
  case 'development':
    exclude.push(`${defaults.project.pkg.name}/routes/prod-only/**/*`);
    break;
  case 'production':
    exclude.push(`${defaults.project.pkg.name}/routes/dev-only/**/*`);
    break;
}

let app = new EmberApp(defaults, {
  funnel: {
    enabled: true,
    exclude
  }
});

Contributing

Installation

  • git clone <repository-url>
  • cd ember-cli-funnel
  • npm install

Linting

  • npm run lint:js
  • npm run lint:js -- --fix

Running tests

  • ember test – Runs the test suite on the current Ember version
  • ember test --server – Runs the test suite in "watch mode"
  • ember try:each – Runs the test suite against multiple Ember versions

Running the dummy application

For more information on using ember-cli, visit https://ember-cli.com/.

License

This project is licensed under the MIT License.