Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions src/get-project-options.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

module.exports = function getProjectOptions({
keywords,
dependencies,
devDependencies
}) {
let isAddon = keywords && keywords.indexOf('ember-addon') !== -1;
Expand All @@ -10,14 +11,16 @@ module.exports = function getProjectOptions({
return ['addon'];
}

if (devDependencies) {
let isGlimmer = devDependencies['@glimmer/blueprint'];
if (dependencies || devDependencies) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the Object.assign eliminated the need for this conditional.

let allDeps = Object.assign({}, dependencies, devDependencies);

let isGlimmer = allDeps['@glimmer/blueprint'];

if (isGlimmer) {
return ['glimmer'];
}

let isApp = devDependencies['ember-cli'];
let isApp = allDeps['ember-cli'];

if (isApp) {
return ['app'];
Expand Down
39 changes: 36 additions & 3 deletions test/unit/get-project-options-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ describe(getProjectOptions, function() {
}).to.throw('Ember CLI project type could not be determined');
});

it('detects ember app', function() {
it('detects ember app with ember-cli as a devDependency', function() {
let packageJson = {
devDependencies: {
'ember-cli': '2.11'
Expand All @@ -23,7 +23,17 @@ describe(getProjectOptions, function() {
expect(getProjectOptions(packageJson)).to.deep.equal(['app']);
});

it('detects ember addon', function() {
it('detects ember app with ember-cli as a dependency', function() {
let packageJson = {
dependencies: {
'ember-cli': '2.11'
}
};

expect(getProjectOptions(packageJson)).to.deep.equal(['app']);
});

it('detects ember addon with ember-cli as a devDependency', function() {
let packageJson = {
keywords: [
'ember-addon'
Expand All @@ -36,7 +46,20 @@ describe(getProjectOptions, function() {
expect(getProjectOptions(packageJson)).to.deep.equal(['addon']);
});

it('detects glimmer app', function() {
it('detects ember addon with ember-cli as a dependency', function() {
let packageJson = {
keywords: [
'ember-addon'
],
dependencies: {
'ember-cli': '2.11'
}
};

expect(getProjectOptions(packageJson)).to.deep.equal(['addon']);
});

it('detects glimmer app with glimmer as a devDependency', function() {
let packageJson = {
devDependencies: {
'@glimmer/blueprint': '0.3'
Expand All @@ -45,4 +68,14 @@ describe(getProjectOptions, function() {

expect(getProjectOptions(packageJson)).to.deep.equal(['glimmer']);
});

it('detects glimmer app with glimmer as a dependency', function() {
let packageJson = {
dependencies: {
'@glimmer/blueprint': '0.3'
}
};

expect(getProjectOptions(packageJson)).to.deep.equal(['glimmer']);
});
});