Skip to content
This repository was archived by the owner on Dec 8, 2024. It is now read-only.

Commit 1f24fda

Browse files
authored
Merge pull request #82 from ember-cli/addonify
Addonify!
2 parents e78668a + edaa16c commit 1f24fda

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+5268
-20
lines changed

.bowerrc

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"directory": "bower_components",
3+
"analytics": false
4+
}

.editorconfig

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# EditorConfig helps developers define and maintain consistent
2+
# coding styles between different editors and IDEs
3+
# editorconfig.org
4+
5+
root = true
6+
7+
8+
[*]
9+
end_of_line = lf
10+
charset = utf-8
11+
trim_trailing_whitespace = true
12+
insert_final_newline = true
13+
indent_style = space
14+
indent_size = 2
15+
16+
[*.hbs]
17+
insert_final_newline = false
18+
19+
[*.{diff,md}]
20+
trim_trailing_whitespace = false

.ember-cli

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
/**
3+
Ember CLI sends analytics information by default. The data is completely
4+
anonymous, but there are times when you might want to disable this behavior.
5+
6+
Setting `disableAnalytics` to true will prevent any data from being sent.
7+
*/
8+
"disableAnalytics": false
9+
}

.gitignore

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# See https://help.github.com/ignore-files/ for more about ignoring files.
2+
3+
# compiled output
4+
/dist
5+
/tmp
6+
7+
# dependencies
8+
/node_modules
9+
/bower_components
10+
11+
# misc
12+
/.sass-cache
13+
/connect.lock
14+
/coverage/*
15+
/libpeerconnection.log
16+
npm-debug.log*
17+
testem.log

.npmignore

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/bower_components
2+
/config/ember-try.js
3+
/dist
4+
/tests
5+
/tmp
6+
**/.gitkeep
7+
.bowerrc
8+
.editorconfig
9+
.ember-cli
10+
.gitignore
11+
.eslintrc.js
12+
.watchmanconfig
13+
.travis.yml
14+
bower.json
15+
ember-cli-build.js
16+
testem.js

.travis.yml

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
language: node_js
3+
node_js:
4+
- "6"
5+
6+
sudo: false
7+
8+
cache:
9+
directories:
10+
- $HOME/.npm
11+
- $HOME/.cache # includes bowers cache
12+
13+
env:
14+
# we recommend testing LTS's and latest stable release (bonus points to beta/canary)
15+
- EMBER_TRY_SCENARIO=ember-lts-2.4
16+
- EMBER_TRY_SCENARIO=ember-lts-2.8
17+
- EMBER_TRY_SCENARIO=ember-release
18+
- EMBER_TRY_SCENARIO=ember-beta
19+
- EMBER_TRY_SCENARIO=ember-canary
20+
- EMBER_TRY_SCENARIO=ember-default
21+
22+
matrix:
23+
fast_finish: true
24+
allow_failures:
25+
- env: EMBER_TRY_SCENARIO=ember-canary
26+
27+
before_install:
28+
- npm config set spin false
29+
- npm install -g bower phantomjs-prebuilt
30+
- bower --version
31+
- phantomjs --version
32+
33+
install:
34+
- npm install
35+
- bower install
36+
37+
script:
38+
# Usually, it's ok to finish the test scenario without reverting
39+
# to the addon's original dependency state, skipping "cleanup".
40+
- node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO test --skip-cleanup

.watchmanconfig

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"ignore_dirs": ["tmp", "dist"]
3+
}

bower.json

+1-19
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,4 @@
11
{
22
"name": "ember-cli-shims",
3-
"main": [
4-
"app-shims.js"
5-
],
6-
"version": "0.1.3",
7-
"homepage": "https://github.com/ember-cli/ember-cli-shims",
8-
"authors": [
9-
"Stefan Penner <stefan.penner@gmail.com>",
10-
"Manuel Wiedenmann <manuel@funkensturm.de>"
11-
],
12-
"license": "MIT",
13-
"ignore": [
14-
"**/.*",
15-
"vendor",
16-
"test",
17-
"tests"
18-
],
19-
"dependencies": {
20-
"ember": ">=1.4"
21-
}
3+
"dependencies": { }
224
}

config/ember-try.js

+91
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
/* eslint-env node */
2+
module.exports = {
3+
scenarios: [
4+
{
5+
name: 'ember-lts-2.4',
6+
bower: {
7+
dependencies: {
8+
'ember': 'components/ember#lts-2-4',
9+
},
10+
resolutions: {
11+
'ember': 'lts-2-4'
12+
}
13+
},
14+
npm: {
15+
devDependencies: {
16+
'ember-source': null
17+
}
18+
}
19+
},
20+
{
21+
name: 'ember-lts-2.8',
22+
bower: {
23+
dependencies: {
24+
'ember': 'components/ember#lts-2-8',
25+
},
26+
resolutions: {
27+
'ember': 'lts-2-8'
28+
}
29+
},
30+
npm: {
31+
devDependencies: {
32+
'ember-source': null
33+
}
34+
}
35+
},
36+
{
37+
name: 'ember-release',
38+
bower: {
39+
dependencies: {
40+
'ember': 'components/ember#release',
41+
},
42+
resolutions: {
43+
'ember': 'release'
44+
}
45+
},
46+
npm: {
47+
devDependencies: {
48+
'ember-source': null
49+
}
50+
}
51+
},
52+
{
53+
name: 'ember-beta',
54+
bower: {
55+
dependencies: {
56+
'ember': 'components/ember#beta',
57+
},
58+
resolutions: {
59+
'ember': 'beta'
60+
}
61+
},
62+
npm: {
63+
devDependencies: {
64+
'ember-source': null
65+
}
66+
}
67+
},
68+
{
69+
name: 'ember-canary',
70+
bower: {
71+
dependencies: {
72+
'ember': 'components/ember#canary',
73+
},
74+
resolutions: {
75+
'ember': 'canary'
76+
}
77+
},
78+
npm: {
79+
devDependencies: {
80+
'ember-source': null
81+
}
82+
}
83+
},
84+
{
85+
name: 'ember-default',
86+
npm: {
87+
devDependencies: {}
88+
}
89+
}
90+
]
91+
};

config/environment.js

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/* eslint-env node */
2+
'use strict';
3+
4+
module.exports = function(/* environment, appConfig */) {
5+
return { };
6+
};

ember-cli-build.js

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/* eslint-env node */
2+
const EmberAddon = require('ember-cli/lib/broccoli/ember-addon');
3+
4+
module.exports = function(defaults) {
5+
var app = new EmberAddon(defaults, {
6+
// Add options here
7+
});
8+
9+
/*
10+
This build file specifies the options for the dummy test app of this
11+
addon, located in `/tests/dummy`
12+
This build file does *not* influence how the addon or the app using it
13+
behave. You most likely want to be modifying `./index.js` or app's build file
14+
*/
15+
16+
return app.toTree();
17+
};

index.js

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/* eslint-env node */
2+
'use strict';
3+
4+
const SilentError = require('silent-error');
5+
6+
module.exports = {
7+
name: 'ember-cli-shims',
8+
9+
included(app) {
10+
this._super.included.apply(this, arguments);
11+
12+
let VersionChecker = require('ember-cli-version-checker');
13+
let checker = new VersionChecker(this);
14+
15+
// specifically *not* trying to use `checker.forEmber` because
16+
// we actually want to see if this is from npm for specific versions
17+
let emberSourceDep = checker.for('ember-source', 'npm');
18+
let emberCLIDep = checker.for('ember-cli', 'npm');
19+
20+
let emberSourceIncludesLegacyShims = emberSourceDep.gt('2.11.0-alpha.0') && emberSourceDep.lt('2.11.0');
21+
let emberCLISupportsOverridingShims = emberCLIDep.gt('2.11.0-alpha.0');
22+
23+
if (!emberCLISupportsOverridingShims) {
24+
throw new SilentError('To consume ember-cli-shims from npm you must be using ember-cli@2.11.0-beta.1 or greater. Please update ember-cli to a newer version or remove ember-cli-shims from `package.json`.');
25+
}
26+
27+
let projectBowerDeps = this.project.bowerDependencies();
28+
if (projectBowerDeps['ember-cli-shims']) {
29+
throw new SilentError('Using ember-cli-shims as both a bower dependency and an npm dependency is not supported. Please remove `ember-cli-shims` from `bower.json`.');
30+
}
31+
32+
// ember-source@2.11.0-alpha and 2.11.0-beta series releases included
33+
// their own legacy shims system, so this import is not needed with
34+
// those ember-source versions
35+
if (!emberSourceIncludesLegacyShims && emberCLISupportsOverridingShims) {
36+
let assetPath = 'vendor/ember-cli-shims/app-shims.js';
37+
if (this.import) {
38+
this.import(assetPath);
39+
} else {
40+
app.import(assetPath);
41+
}
42+
}
43+
44+
}
45+
};

package.json

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
{
2+
"name": "ember-cli-shims",
3+
"version": "0.0.0",
4+
"description": "The default blueprint for ember-cli addons.",
5+
"keywords": [
6+
"ember-addon"
7+
],
8+
"license": "MIT",
9+
"author": "",
10+
"directories": {
11+
"doc": "doc",
12+
"test": "tests"
13+
},
14+
"repository": "",
15+
"scripts": {
16+
"build": "ember build",
17+
"start": "ember server",
18+
"test": "ember try:each"
19+
},
20+
"dependencies": {
21+
"ember-cli-babel": "^5.2.1",
22+
"ember-cli-version-checker": "^1.2.0",
23+
"silent-error": "^1.0.1"
24+
},
25+
"devDependencies": {
26+
"broccoli-asset-rev": "^2.4.5",
27+
"ember-ajax": "^2.4.1",
28+
"ember-cli": "github:ember-cli/ember-cli#6cc1b729becc4989204f56cab9e54ff275e17b01",
29+
"ember-cli-dependency-checker": "^1.3.0",
30+
"ember-cli-htmlbars": "^1.1.1",
31+
"ember-cli-htmlbars-inline-precompile": "^0.3.3",
32+
"ember-cli-inject-live-reload": "^1.4.1",
33+
"ember-cli-qunit": "^3.1.0",
34+
"ember-cli-sri": "^2.1.0",
35+
"ember-cli-uglify": "^1.2.0",
36+
"ember-disable-prototype-extensions": "^1.1.0",
37+
"ember-export-application-global": "^1.0.5",
38+
"ember-load-initializers": "^0.6.0",
39+
"ember-resolver": "^2.0.3",
40+
"ember-source": "^2.11.0-beta.2",
41+
"ember-welcome-page": "^2.0.2",
42+
"loader.js": "^4.1.0"
43+
},
44+
"engines": {
45+
"node": ">= 4"
46+
},
47+
"ember-addon": {
48+
"configPath": "tests/dummy/config"
49+
}
50+
}

test-shims.js

-1
This file was deleted.

testem.js

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/* eslint-env node */
2+
module.exports = {
3+
"test_page": "tests/index.html?hidepassed",
4+
"disable_watching": true,
5+
"launch_in_ci": [
6+
"PhantomJS"
7+
],
8+
"launch_in_dev": [
9+
"PhantomJS",
10+
"Chrome"
11+
]
12+
};

tests/dummy/app/app.js

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import Ember from 'ember';
2+
import Resolver from './resolver';
3+
import loadInitializers from 'ember-load-initializers';
4+
import config from './config/environment';
5+
6+
let App;
7+
8+
Ember.MODEL_FACTORY_INJECTIONS = true;
9+
10+
App = Ember.Application.extend({
11+
modulePrefix: config.modulePrefix,
12+
podModulePrefix: config.podModulePrefix,
13+
Resolver
14+
});
15+
16+
loadInitializers(App, config.modulePrefix);
17+
18+
export default App;

tests/dummy/app/components/.gitkeep

Whitespace-only changes.

tests/dummy/app/controllers/.gitkeep

Whitespace-only changes.

tests/dummy/app/helpers/.gitkeep

Whitespace-only changes.

0 commit comments

Comments
 (0)