5c2a08de6d
* Update browserslist * Add browserslistrc * ember-cli-update --to 3.26, fix conflicts * Run codemodes that start with ember-* * More codemods - before cp* * More codemods (curly data-test-*) * WIP ember-basic-dropdown template errors * updates ember-basic-dropdown and related deps to fix build issues * updates basic dropdown instances to new version API * updates more deps -- ember-template-lint is working again * runs no-implicit-this codemod * creates and runs no-quoteless-attributes codemod * runs angle brackets codemod * updates lint:hbs globs to only touch hbs files * removes yield only templates * creates and runs deprecated args transform * supresses lint error for invokeAction on LinkTo component * resolves remaining ambiguous path lint errors * resolves simple-unless lint errors * adds warnings for deprecated tagName arg on LinkTo components * adds warnings for remaining curly component invocation * updates global template lint rules * resolves remaining template lint errors * disables some ember specfic lint rules that target pre octane patterns * js lint fix run * resolves remaining js lint errors * fixes test run * adds npm-run-all dep * fixes test attribute issues * fixes console acceptance tests * fixes tests * adds yield only wizard/tutorial-active template * fixes more tests * attempts to fix more flaky tests * removes commented out settled in transit test * updates deprecations workflow and adds initializer to filter by version * updates flaky policies acl old test * updates to flaky transit test * bumps ember deps down to LTS version * runs linters after main merge * fixes client count tests after bad merge conflict fixes * fixes client count history test * more updates to lint config * another round of hbs lint fixes after extending stylistic rule * updates lint-staged commands * removes indent eslint rule since it seems to break things * fixes bad attribute in transform-edit-form template * test fixes * fixes enterprise tests * adds changelog * removes deprecated ember-concurrency-test-waiters dep and adds @ember/test-waiters * flaky test fix Co-authored-by: hashishaw <cshaw@hashicorp.com>
90 lines
2.6 KiB
JavaScript
90 lines
2.6 KiB
JavaScript
'use strict';
|
|
/* eslint-disable node/no-extraneous-require */
|
|
/* eslint-disable ember/no-string-prototype-extensions */
|
|
const path = require('path');
|
|
const stringUtil = require('ember-cli-string-utils');
|
|
const pathUtil = require('ember-cli-path-utils');
|
|
const getPathOption = require('ember-cli-get-component-path-option');
|
|
const normalizeEntityName = require('ember-cli-normalize-entity-name');
|
|
|
|
module.exports = {
|
|
description: 'Generates a component.',
|
|
|
|
availableOptions: [
|
|
{
|
|
name: 'path',
|
|
type: String,
|
|
default: 'components',
|
|
aliases: [{ 'no-path': '' }],
|
|
},
|
|
],
|
|
|
|
filesPath: function () {
|
|
let filesDirectory = 'files';
|
|
|
|
return path.join(this.path, filesDirectory);
|
|
},
|
|
|
|
fileMapTokens: function () {
|
|
return {
|
|
__path__: function (options) {
|
|
if (options.pod) {
|
|
return path.join(options.podPath, options.locals.path, options.dasherizedModuleName);
|
|
} else {
|
|
return 'components';
|
|
}
|
|
},
|
|
__templatepath__: function (options) {
|
|
if (options.pod) {
|
|
return path.join(options.podPath, options.locals.path, options.dasherizedModuleName);
|
|
}
|
|
return 'templates/components';
|
|
},
|
|
__templatename__: function (options) {
|
|
if (options.pod) {
|
|
return 'template';
|
|
}
|
|
return options.dasherizedModuleName;
|
|
},
|
|
};
|
|
},
|
|
|
|
normalizeEntityName: function (entityName) {
|
|
return normalizeEntityName(entityName);
|
|
},
|
|
|
|
locals: function (options) {
|
|
let exportDefault = 'export default ';
|
|
let exportAddOn = '';
|
|
let importTemplate = '';
|
|
let setComponentTemplate = '';
|
|
let templatePath = '';
|
|
|
|
// if we're in an addon, build import statement and set layout
|
|
if (options.project.isEmberCLIAddon() || (options.inRepoAddon && !options.inDummy) || !!options.in) {
|
|
if (options.pod) {
|
|
templatePath = './template';
|
|
} else {
|
|
templatePath =
|
|
pathUtil.getRelativeParentPath(options.entity.name) +
|
|
'templates/components/' +
|
|
stringUtil.dasherize(options.entity.name);
|
|
}
|
|
exportDefault = '';
|
|
exportAddOn = `export default setComponentTemplate(layout, ${stringUtil.classify(
|
|
options.entity.name
|
|
)})`;
|
|
importTemplate = "import layout from '" + templatePath + "';";
|
|
setComponentTemplate = "import { setComponentTemplate } from '@ember/component'; \n";
|
|
}
|
|
|
|
return {
|
|
exportDefault: exportDefault,
|
|
exportAddOn: exportAddOn,
|
|
importTemplate: importTemplate,
|
|
setComponentTemplate: setComponentTemplate,
|
|
path: getPathOption(options),
|
|
};
|
|
},
|
|
};
|