diff --git a/blueprints/glimmer-component/files/src/ui/components/__name__/component.ts b/blueprints/glimmer-component/files/src/ui/components/__name__/component.ts new file mode 100644 index 0000000..e18508f --- /dev/null +++ b/blueprints/glimmer-component/files/src/ui/components/__name__/component.ts @@ -0,0 +1,4 @@ +import Component from '@glimmer/component'; + +export default class <%= className %> extends Component { +}; diff --git a/blueprints/glimmer-component/files/src/ui/components/__name__/template.hbs b/blueprints/glimmer-component/files/src/ui/components/__name__/template.hbs new file mode 100644 index 0000000..281c686 --- /dev/null +++ b/blueprints/glimmer-component/files/src/ui/components/__name__/template.hbs @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/blueprints/glimmer-component/index.js b/blueprints/glimmer-component/index.js new file mode 100644 index 0000000..27ebb28 --- /dev/null +++ b/blueprints/glimmer-component/index.js @@ -0,0 +1,26 @@ +'use strict'; + +const stringUtils = require('ember-cli-string-utils'); +const validComponentName = require('ember-cli-valid-component-name'); +const normalizeEntityName = require('ember-cli-normalize-entity-name'); + +module.exports = { + description: 'Generates a component. Name must contain a hyphen.', + + normalizeEntityName(entityName) { + return validComponentName(normalizeEntityName(entityName)); + }, + + fileMapTokens() { + return { + __name__(options) { + return options.dasherizedModuleName; + }, + }; + }, + + locals(options) { + let className = stringUtils.classify(options.entity.name); + return { className }; + }, +}; diff --git a/blueprints/glimmer-helper/files/src/ui/components/__name__.ts b/blueprints/glimmer-helper/files/src/ui/components/__name__.ts new file mode 100644 index 0000000..37e9fa8 --- /dev/null +++ b/blueprints/glimmer-helper/files/src/ui/components/__name__.ts @@ -0,0 +1,2 @@ +export default function(params) { +}; diff --git a/blueprints/glimmer-helper/index.js b/blueprints/glimmer-helper/index.js new file mode 100644 index 0000000..96cb46d --- /dev/null +++ b/blueprints/glimmer-helper/index.js @@ -0,0 +1,24 @@ +'use strict'; + +const stringUtils = require('ember-cli-string-utils'); +const normalizeEntityName = require('ember-cli-normalize-entity-name'); + +module.exports = { + description: 'Generates a helper function.', + + normalizeEntityName(entityName) { + return normalizeEntityName(entityName); + }, + + fileMapTokens() { + return { + __name__(options) { + return options.dasherizedModuleName; + }, + }; + }, + + locals(options) { + return { }; + }, +}; diff --git a/ember-cli-addon.js b/ember-cli-addon.js new file mode 100644 index 0000000..ccf4cf4 --- /dev/null +++ b/ember-cli-addon.js @@ -0,0 +1,3 @@ +module.exports = { + name: 'glimmer-application-pipeline', +}; diff --git a/package.json b/package.json index 8ef8b1b..953a821 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,10 @@ "files": [ "dist" ], + "keywords": [ + "glimmer", + "ember-addon" + ], "dependencies": { "@glimmer/compiler": "^0.23.0-alpha.11", "@glimmer/di": "^0.2.0", @@ -45,6 +49,9 @@ "broccoli-typescript-compiler": "^1.0.1", "broccoli-uglify-sourcemap": "^1.4.0", "ember-cli-inject-live-reload": "^1.4.1", + "ember-cli-normalize-entity-name": "^1.0.0", + "ember-cli-string-utils": "^1.1.0", + "ember-cli-valid-component-name": "^1.0.0", "handlebars": "^4.0.5", "heimdalljs-logger": "^0.1.8", "lodash.defaultsdeep": "^4.6.0", @@ -59,5 +66,8 @@ "@types/node": "^7.0.7", "ember-cli": "2.13.0-beta.2", "typescript": "^2.2.1" + }, + "ember-addon": { + "main": "ember-cli-addon.js" } }