Пример #1
0
  blueprint.filesPath = function() {
    let type;

    let dependencies = this.project.dependencies();
    if ('ember-qunit' in dependencies) {
      type = 'qunit-rfc-232';
    } else if ('ember-cli-qunit' in dependencies) {
      let checker = new VersionChecker(this.project);
      if (
        fs.existsSync(this.path + '/qunit-rfc-232-files') &&
        checker.for('ember-cli-qunit', 'npm').gte('4.2.0')
      ) {
        type = 'qunit-rfc-232';
      } else {
        type = 'qunit';
      }
    } else if ('ember-mocha' in dependencies) {
      let checker = new VersionChecker(this.project);
      if (
        fs.existsSync(this.path + '/mocha-rfc-232-files') &&
        checker.for('ember-mocha', 'npm').gte('0.14.0')
      ) {
        type = 'mocha-rfc-232';
      } else {
        type = 'mocha';
      }
    } else if ('ember-cli-mocha' in dependencies) {
      type = 'mocha';
    } else {
      this.ui.writeLine("Couldn't determine test style - using QUnit");
      type = 'qunit';
    }

    return path.join(this.path, type + '-files');
  };
Пример #2
0
 checkDeps: function() {
     var checker = new VersionChecker(this),
         bowerDep = checker.for('loader.js', 'bower'),
         npmDep = checker.for('loader.js', 'npm');
         debug('loader.js version (bower): ', bowerDep.version);
         debug('loader.js version (npm): ', npmDep.version);
     return (bowerDep.satisfies('>= 3.6.1') || npmDep.satisfies('>= 4.0.0'));
 },
Пример #3
0
module.exports = function( environment, appConfig, addon ) {
  appConfig['ember-modal-dialog'] = appConfig['ember-modal-dialog'] || {};

  var checker = new VersionChecker(addon);
  var hasLiquidWormhole = checker.for('liquid-wormhole', 'npm').version;
  var hasLiquidTether = checker.for('liquid-tether', 'npm').version;
  var hasEmberTether = checker.for('ember-tether', 'npm').version;

  appConfig['ember-modal-dialog']['hasLiquidWormhole'] = hasLiquidWormhole;
  appConfig['ember-modal-dialog']['hasLiquidTether'] = hasLiquidTether;
  appConfig['ember-modal-dialog']['hasEmberTether'] = hasEmberTether;

  return appConfig;
};
Пример #4
0
  init: function() {
    this._super.init && this._super.init.apply(this, arguments);

    var bowerDeps = this.project.bowerDependencies();

    var VersionChecker = require('ember-cli-version-checker');
    var options = this.options = this.options || {};

    var checker = new VersionChecker(this);
    // prevent errors when ember-cli-shims is no longer required
    var shims = bowerDeps['ember-cli-shims'] && checker.for('ember-cli-shims', 'bower');

    var semver = require('semver');
    var version = require('./package').version;

    if (process.env.EMBER_DATA_SKIP_VERSION_CHECKING_DO_NOT_USE_THIS_ENV_VARIABLE) {
      // Skip for node tests as we can't currently override the version of ember-cli-shims
      // before the test helpers run.
      return;
    }

    var hasShims = !!shims;
    var shimsHasEmberDataShims = hasShims && shims.satisfies('< 0.1.0');
    var emberDataNPMWithShimsIncluded = semver.satisfies(version, '^2.3.0-beta.3');

    if (bowerDeps['ember-data']) {
      this._warn('Please remove `ember-data` from `bower.json`. As of Ember Data 2.3.0, only the NPM package is needed. If you need an ' +
                'earlier version of ember-data (< 2.3.0), you can leave this unchanged for now, but we strongly suggest you upgrade your version of Ember Data ' +
                'as soon as possible.');
      this._forceBowerUsage = true;

      var emberDataBower = checker.for('ember-data', 'bower');
      var emberDataBowerWithShimsIncluded = emberDataBower.satisfies('>= 2.3.0-beta.3');

      if (hasShims && !shimsHasEmberDataShims && !emberDataBowerWithShimsIncluded) {
        throw new SilentError('Using a version of ember-cli-shims greater than or equal to 0.1.0 will cause errors while loading Ember Data < 2.3.0-beta.3 Please update ember-cli-shims from ' + shims.version + ' to 0.0.6');
      }

      if (hasShims && shimsHasEmberDataShims && !emberDataBowerWithShimsIncluded) {
        throw new SilentError('Using a version of ember-cli-shims prior to 0.1.0 will cause errors while loading Ember Data 2.3.0-beta.3+. Please update ember-cli-shims from ' + shims.version + ' to 0.1.0.');
      }

    } else {
      // NPM only, but ember-cli-shims does not match
      if (hasShims && shimsHasEmberDataShims && emberDataNPMWithShimsIncluded) {
        throw new SilentError('Using a version of ember-cli-shims prior to 0.1.0 will cause errors while loading Ember Data 2.3.0-beta.3+. Please update ember-cli-shims from ' + shims.version + ' to 0.1.0.');
      }
    }
  },
Пример #5
0
  afterInstall: function () {
    var checker = new VersionChecker(this);
    var dep = checker.for('ember', 'bower');

    if (dep.satisfies('>= 1.13') && dep.satisfies('< 2.3')) {
      return this.addPackageToProject('ember-legacy-views', '~0.2.0');
    }
  }
Пример #6
0
  afterInstall: function() {
    var checker = new VersionChecker(this);
    var emberDep = checker.for('ember', 'bower');

    if (!emberDep.isAbove('2.0.0-beta.1')) {
      return this.addAddonToProject('ember-get-helper', '1.0.1');
    }
  }
Пример #7
0
  init: function() {
    this.buildConsole();

    var checker = new VersionChecker(this);
    var dep = checker.for('ember-cli', 'npm');

    // support for Ember CLI < 2.2.0-beta.1
    this._shouldImportEmberQUnit = !dep.gt('2.2.0-alpha');
  },
Пример #8
0
  init: function() {
    this._super && this._super.init.apply(this, arguments);

    let checker = new VersionChecker(this);
    let fastBootVersion = checker.for('ember-cli-fastboot');
    if (!(fastBootVersion.gte('1.0.0') || fastBootVersion.gte('1.0.0-rc.1'))) {
      let error  = new Error(`This version of ember-data-fastboot requires at ember-cli-fastboot above 1.0.0-rc.1, but you have ${fastBootVersion.version}. Revert to the latest 0.0.x version for support for beta versions of ember-cli-fastboot.`);
      error.suppressStacktrace = true;
      throw error;
    }
  }
Пример #9
0
  afterInstall: function() {
    var checker = new VersionChecker(this);
    var dep = checker.for('ember-cli', 'npm');
    var urlType = dep.satisfies('>= 2.7.0-beta.1') ? 'rootURL' : 'baseUrl';

    this.urlType = urlType;

    return this.updateDummyConfig().then(function() {
      this.ui.writeLine('Updated config/environment.js ' + urlType + ' and locationType.');
    }.bind(this));
  },
Пример #10
0
  treeForAddonTemplates: function treeForAddonTemplates (tree) {
    var checker = new VersionChecker(this);
    var dep = checker.for('ember', 'bower');

    var baseTemplatesPath = path.join(this.root, 'addon/templates');

    if (dep.lt('1.13.0-beta.1')) {
      return this.treeGenerator(path.join(baseTemplatesPath, 'lt-1-13'));
    } else {
      return this.treeGenerator(path.join(baseTemplatesPath, 'current'));
    }
  }
Пример #11
0
 init: function() {
   if (this._super.init) { this._super.init.apply(this, arguments); }
   
   var checker = new VersionChecker(this);
   if (!checker.for('ember-cli', 'npm').isAbove('0.2.6')) {
     console.warn("Warning: ember-modal-dialog requires ember-cli >= 0.2.6 "
                  + "for support for the addon-templates tree, which allows "
                  + "us to support various ember versions. Use an older "
                  + "version of ember-modal-dialog if you are stuck on an "
                  + "older ember-cli.");
   }
 },
Пример #12
0
  afterInstall: function() {
    var addon = this;
    var checker = new VersionChecker(addon);
    var addonPackages = [];

    if (checker.for('ember', 'bower').satisfies('>= 2.3')) {
      addonPackages.push({name: 'ember-getowner-polyfill', target: '^1.0.0'});

      return addon.addAddonsToProject({ packages: addonPackages });
    }

  }
Пример #13
0
  included: function() {
    this._super.included.apply(this, arguments);

    var checker = new VersionChecker(this);
    var dep = checker.for('ember-cli', 'npm');

    if (!dep.satisfies('>= 2.0.0')) {
      this.monkeyPatchVendorFiles();
    }

    this.app.import('vendor/ember-resolver/legacy-shims.js');
  },
Пример #14
0
  included: function included(app) {
    // determine if ember-data is present
    var checker = new VersionChecker(this);
    var bowerDep = checker.for('ember-data', 'bower');
    var npmDep = checker.for('ember-data', 'npm');

    if (
      (
        bowerDep.version && (
          bowerDep.satisfies('>= 1.13.0') ||
          bowerDep.satisfies('>= 2.0.0') ||
          bowerDep.gt('2.0.0')
        )
      ) ||
      (
        npmDep.version  && (
          npmDep.satisfies('>= 1.13.0') ||
          npmDep.satisfies('>= 2.0.0') ||
          npmDep.gt('2.0.0')
        )
      )
    ) {
      this.hasEmberData = true;
    }

    // determin if saveAs and Blob should be imported
    var projectConfig = this.project.config(app.env);

    if (projectConfig) {
      var options = projectConfig['ember-local-storage'] || {};

      if (options.fileExport && this.hasEmberData) {
        app.import('vendor/save-as.js');
        app.import(app.bowerDirectory + '/blob-polyfill/Blob.js');
      }
    }

    this._super.included.apply(this, arguments);
  },
Пример #15
0
  postprocessTree: function(type, tree) {
    this._requireBuildPackages();
    var checker = new VersionChecker(this);
    var isNpmTestLoader = checker.for('ember-cli', 'npm').satisfies('>= 2.7.0');
    var testLoaderFile = isNpmTestLoader ? 'tests.js' : 'test-loader.js';
    if (type === 'all' && this.app.tests) {
      var treeTestLoader = new Funnel(tree, {
        files: isNpmTestLoader ? [testLoaderFile, 'tests.map'] : [testLoaderFile], // don't loose the sourcemaps
        srcDir: 'assets',
        destDir: 'app'
      });

      var tests = this.treeGenerator(path.join(this.project.root, 'tests'));

      var blanketOptions = new Funnel(tests, {
        files: ['blanket-options.js'],
        srcDir: '/',
        destDir: '/assets'
      });

      var vendor = this.treeGenerator(path.join(__dirname, 'vendor'));

      var blanketLoader = new Funnel(vendor, {
        files: ['blanket-reporter.js', 'blanket-require.js'],
        srcDir: '/',
        destDir: '/'
      });

      blanketLoader = this.concatFiles(blanketLoader, {
        inputFiles: ['blanket-reporter.js', 'blanket-require.js'], // Order here is important
        outputFile: '/assets/blanket-loader.js'
      });

      var start = new Funnel(vendor, {
        files: ['start.js'],
        srcDir: '/',
        destDir: '/'
      });

      var testLoaderTree = this.concatFiles(mergeTrees([treeTestLoader, start]), {
        inputFiles: ['**/*.js'],
        outputFile: '/assets/' + testLoaderFile
      });

      return mergeTrees([tree, blanketOptions, blanketLoader, testLoaderTree], {
        overwrite: true
      });
    } else {
      return tree;
    }
  }
Пример #16
0
  init: function() {
    this._super.init && this._super.init.apply(this, arguments);

    var VersionChecker = require('ember-cli-version-checker');
    var checker = new VersionChecker(this);
    var dep = checker.for('ember-cli', 'npm');

    this._shouldImportEmberQUnit = !dep.gt('2.2.0-alpha');
    // fixed in https://github.com/ember-cli/ember-cli/pull/5274
    // this can be removed when we no longer support 2.2.0-beta.{1,2}
    this._shouldImportQUnit = !dep.gt('2.2.0-beta.2');

    this.setTestGenerator();
  },
Пример #17
0
  included: function(app){
    var VersionChecker = require('ember-cli-version-checker');

    var checker = new VersionChecker(this);
    var emberCliVersion = checker.for('ember-cli', 'npm');
    var newImportApi;

    if (emberCliVersion.isAbove('1.13.8')) {
      newImportApi = true;
    }

    app = findHost.call(this);

    var enableSourcemaps = app.options.sourcemaps && app.options.sourcemaps.enabled && app.options.sourcemaps.extensions.indexOf('js') > -1;

    this.app = app;

    this.options = {
      root: this.app.project.root,
      browserifyOptions: app.project.config(app.env).browserify || {},
      enableSourcemap: enableSourcemaps,
      fullPaths: app.env !== 'production'
    };

    app.import('browserify/browserify.js');
    if (app.tests && (process.env.BROWSERIFY_TESTS || this.options.browserifyOptions.tests)) {
      if (newImportApi) {
        app.import('browserify-tests/browserify.js', {
          type: 'test'
        });
      } else {
        app.import({
          test: 'browserify-tests/browserify.js'
        });
      }
    }

    if (app.importWhitelistFilters) {
      app.importWhitelistFilters.push(function(moduleName){
        return moduleName.slice(0,4) === 'npm:';
      });
    }
  },
Пример #18
0
  blueprint.filesPath = function() {
    var type;

    var dependencies = this.project.dependencies();
    if ('ember-cli-qunit' in dependencies) {
      type = 'qunit';
    } else if ('ember-cli-mocha' in dependencies) {
      var checker = new VersionChecker({ project: this.project });
      if (fs.existsSync(this.path + '/mocha-0.12-files') && checker.for('ember-cli-mocha', 'npm').satisfies('>=0.12.0')) {
        type = 'mocha-0.12';
      } else {
        type = 'mocha';
      }
    } else {
      this.ui.writeLine('Couldn\'t determine test style - using QUnit');
      type = 'qunit';
    }

    return path.join(this.path, type + '-files');
  };
Пример #19
0
const generateIconsForDocumentation = function(svgSourceDir = 'frost-icon-svgs') {
    const iconNameTree = writeFile(
      `modules/${this.name}/icons.js`,
      `export default ${JSON.stringify(flattenIcons(svgSourceDir), null, 2)}`
    )

    let output = iconNameTree

    // The transpiling was done on the output of `treeForAddon` < `ember-cli@2.12.0`
    // We need to manually transpile for >= `embe-cli@2.12.0`
    const checker = new VersionChecker(this)

    if (checker.for('ember-cli').satisfies('>= 2.12.0')) {
      const addonOptions = getAddonOptions.call(this)
      if (addonOptions.babel) {
        const BabelTranspiler = require('broccoli-babel-transpiler')
        output = new BabelTranspiler(iconNameTree, addonOptions.babel)
      }
    }

    return output
}
Пример #20
0
 shouldSetupRegistryInIncluded: function() {
   let checker = new VersionChecker(this);
   return !checker.for('ember-cli').isAbove('0.2.0');
 },
Пример #21
0
 init: function() {
   var checker = new VersionChecker(this);
   this._checkerForEmber = checker.for('ember', 'bower');
 },
Пример #22
0
Файл: index.js Проект: dgeb/data
    }
  },

  init() {
    this._super.init && this._super.init.apply(this, arguments);

    this.debugTree = BroccoliDebug.buildDebugCallback('ember-data');

    let bowerDeps = this.project.bowerDependencies();

    let VersionChecker = require('ember-cli-version-checker');
    let options = this.options = this.options || {};

    let checker = new VersionChecker(this);
    // prevent errors when ember-cli-shims is no longer required
    let shims = bowerDeps['ember-cli-shims'] && checker.for('ember-cli-shims', 'bower');

    let version = require('./package').version;

    if (process.env.EMBER_DATA_SKIP_VERSION_CHECKING_DO_NOT_USE_THIS_ENV_VARIABLE) {
      // Skip for node tests as we can't currently override the version of ember-cli-shims
      // before the test helpers run.
      return;
    }

    let hasShims = !!shims;
    let shimsHasEmberDataShims = hasShims && shims.satisfies('< 0.1.0');
    let emberDataNPMWithShimsIncluded = semver.satisfies(version, '^2.3.0-beta.3');

    if (bowerDeps['ember-data']) {
      this._warn('Please remove `ember-data` from `bower.json`. As of Ember Data 2.3.0, only the NPM package is needed. If you need an ' +
Пример #23
0
    let warning = chalk.yellow('WARNING: ' + message);

    if (this.ui && this.ui.writeWarnLine) {
      this.ui.writeWarnLine(message);
    } else if (this.ui) {
      this.ui.writeLine(warning);
    } else {
      // eslint-disable-next-line no-console
      console.log(warning);
    }
  },

  getOutputDirForVersion() {
    let VersionChecker = require('ember-cli-version-checker');
    let checker = new VersionChecker(this);
    let emberCli = checker.for('ember-cli', 'npm');

    let requiresModulesDir = emberCli.satisfies('< 3.0.0');

    return requiresModulesDir ? 'modules' : '';
  },

  init() {
    this._super.init && this._super.init.apply(this, arguments);
    this._prodLikeWarning();
    this.debugTree = BroccoliDebug.buildDebugCallback('ember-data');
    this.options = this.options || {};
  },

  blueprintsPath() {
    return path.join(__dirname, 'blueprints');
Пример #24
0
 init: function() {
   this._super.init.apply(this, arguments);
   var checker = new VersionChecker(this);
   this._checkerForEmber = checker.for('ember', 'bower');
 },