text: 'use strict';
  
  const getChannelURL = require('ember-source-channel-url');
  
  module.exports = function () {
    return Promise.all([getChannelURL('release'), getChannelURL('beta'), getChannelURL('canary')]).then((urls) => {
      return {
        useYarn: true,
        scenarios: [
          {
            name: 'ember-lts-2.12',
            npm: {
              devDependencies: {
                'ember-cli-shims': '^1.2.0',
                'ember-data': '~3.12.0',
                'ember-source': '~2.12.0',
                '@ember/jquery': '^0.5.2',
              },
            },
          },
          {
            name: 'ember-lts-2.16',
            npm: {
              devDependencies: {
                'ember-source': '~2.16.0',
                '@ember/jquery': '^0.5.2',
              },
            },
          },
          {
            name: 'ember-lts-2.18',
            npm: {
              devDependencies: {
                'ember-source': '~2.18.0',
                '@ember/jquery': '^0.5.2',
              },
            },
          },
          {
            name: 'ember-lts-3.4',
            npm: {
              devDependencies: {
                'ember-source': '~3.4.0',
              },
            },
          },
          {
            name: 'ember-lts-3.8',
            npm: {
              devDependencies: {
                'ember-source': '~3.8.0',
              },
            },
          },
          {
            name: 'ember-lts-3.12',
            npm: {
              devDependencies: {
                'ember-source': '~3.12.0',
              },
            },
          },
          {
            name: 'ember-lts-3.16',
            npm: {
              devDependencies: {
                'ember-source': '~3.16.0',
              },
            },
          },
          {
            name: 'ember-lts-3.20',
            npm: {
              devDependencies: {
                'ember-source': '~3.20.0',
              },
            },
          },
          {
            name: 'ember-release',
            npm: {
              devDependencies: {
                'ember-source': urls[0],
              },
            },
          },
          {
            name: 'ember-beta',
            npm: {
              devDependencies: {
                'ember-source': urls[1],
              },
            },
          },
          {
            name: 'ember-canary',
            npm: {
              devDependencies: {
                'ember-source': urls[2],
              },
            },
          },
          // The default `.travis.yml` runs this scenario via `npm test`,
          // not via `ember try`. It's still included here so that running
          // `ember try:each` manually or from a customized CI config will run it
          // along with all the other scenarios.
          {
            name: 'ember-default',
            npm: {
              devDependencies: {},
            },
          },
          {
            name: 'ts3',
            npm: {
              devDependencies: {
                typescript: '^3.9.7',
              },
            },
          },
        ],
      };
    });
  };
  