Skip to content

Commit cf5c8b9

Browse files
committed
Merge pull request #23 from josemarluedke/addonfy
Make ember-load-initializers an addon
2 parents 7bb2148 + 2dfb377 commit cf5c8b9

File tree

7 files changed

+79
-67
lines changed

7 files changed

+79
-67
lines changed

.bowerrc

-3
This file was deleted.

addon/index.js

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
"use strict";
2+
3+
const loadInitializers = function(app, prefix) {
4+
var regex = new RegExp('^' + prefix + '\/((?:instance-)?initializers)\/');
5+
var getKeys = (Object.keys || Ember.keys);
6+
7+
getKeys(requirejs._eak_seen).map(function (moduleName) {
8+
return {
9+
moduleName: moduleName,
10+
matches: regex.exec(moduleName)
11+
};
12+
})
13+
.filter(function(dep) {
14+
return dep.matches && dep.matches.length === 2;
15+
})
16+
.forEach(function(dep) {
17+
var moduleName = dep.moduleName;
18+
19+
var module = require(moduleName, null, null, true);
20+
if (!module) { throw new Error(moduleName + ' must export an initializer.'); }
21+
22+
var initializerType = Ember.String.camelize(dep.matches[1].substring(0, dep.matches[1].length - 1));
23+
var initializer = module['default'];
24+
if (!initializer.name) {
25+
var initializerName = moduleName.match(/[^\/]+\/?$/)[0];
26+
initializer.name = initializerName;
27+
}
28+
29+
if (app[initializerType]) {
30+
app[initializerType](initializer);
31+
}
32+
});
33+
}
34+
35+
export default loadInitializers;

bower.json

-22
This file was deleted.

ember-load-initializers.js

-42
This file was deleted.

index.js

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/* jshint node: true */
2+
'use strict';
3+
4+
module.exports = {
5+
name: 'ember-load-initializers',
6+
7+
included: function() {
8+
this._super.included.apply(this, arguments);
9+
10+
this.app.import('vendor/ember-load-initializers/legacy-shims.js');
11+
}
12+
};

package.json

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"name": "ember-load-initializers",
3+
"version": "0.2.0",
4+
"description": "Ember loadInitializers is a tiny package to autoload your initializer files in EAK and ember-cli.",
5+
"main": "index.js",
6+
"scripts": {
7+
"test": "echo \"Error: no test specified\" && exit 1"
8+
},
9+
"repository": {
10+
"type": "git",
11+
"url": "git+https://github.com/ember-cli/ember-load-initializers.git"
12+
},
13+
"author": "Stefan Penner <[email protected]>, Mattia Gheda <[email protected]>, Manuel Wiedenmann <[email protected]>, Alex Navasardyan <[email protected]>",
14+
"license": "MIT",
15+
"keywords": [
16+
"ember-addon"
17+
],
18+
"bugs": {
19+
"url": "https://github.com/ember-cli/ember-load-initializersder/issues"
20+
},
21+
"homepage": "https://github.com/ember-cli/ember-load-initializers#readme"
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/* globals define */
2+
define('ember/load-initializers', ['exports', 'ember-load-initializers', 'ember'], function(exports, loadInitializers, Ember) {
3+
Ember['default'].deprecate(
4+
'Usage of `' + 'ember/load-initializers' + '` module is deprecated, please update to `ember-load-initializers`.',
5+
false,
6+
{ id: 'ember-load-initializers.legacy-shims', until: '3.0.0' }
7+
);
8+
9+
exports['default'] = loadInitializers['default'];
10+
});

0 commit comments

Comments
 (0)