Skip to content

Commit e217541

Browse files
committed
upgraded to [email protected]
1 parent d34a8f2 commit e217541

30 files changed

+12847
-5842
lines changed

.eslintrc.js

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,45 @@ module.exports = {
44
ecmaVersion: 2017,
55
sourceType: 'module'
66
},
7-
extends: 'eslint:recommended',
7+
plugins: [
8+
'ember'
9+
],
10+
extends: [
11+
'eslint:recommended',
12+
'plugin:ember/recommended'
13+
],
814
env: {
915
browser: true
1016
},
1117
rules: {
12-
}
18+
},
19+
overrides: [
20+
// node files
21+
{
22+
files: [
23+
'index.js',
24+
'testem.js',
25+
'ember-cli-build.js',
26+
'config/**/*.js',
27+
'tests/dummy/config/**/*.js'
28+
],
29+
excludedFiles: [
30+
'app/**',
31+
'addon/**',
32+
'tests/dummy/app/**'
33+
],
34+
parserOptions: {
35+
sourceType: 'script',
36+
ecmaVersion: 2015
37+
},
38+
env: {
39+
browser: false,
40+
node: true
41+
},
42+
plugins: ['node'],
43+
rules: Object.assign({}, require('eslint-plugin-node').configs.recommended.rules, {
44+
// add your custom rules and overrides for node files here
45+
})
46+
}
47+
]
1348
};

.npmignore

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,15 @@
77
.bowerrc
88
.editorconfig
99
.ember-cli
10-
.gitignore
1110
.eslintrc.js
11+
.gitignore
1212
.watchmanconfig
1313
.travis.yml
1414
bower.json
1515
ember-cli-build.js
1616
testem.js
17+
18+
# ember-try
19+
.node_modules.ember-try/
20+
bower.json.ember-try
21+
package.json.ember-try

.travis.yml

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,34 @@
11
---
22
language: node_js
33
node_js:
4+
# we recommend testing addons with the same minimum supported node version as Ember CLI
5+
# so that your addon works for all apps
46
- "4"
57

68
sudo: false
9+
dist: trusty
10+
11+
addons:
12+
chrome: stable
713

814
cache:
915
directories:
1016
- $HOME/.npm
1117

1218
env:
13-
# we recommend testing LTS's and latest stable release (bonus points to beta/canary)
14-
- EMBER_TRY_SCENARIO=ember-lts-2.4
15-
- EMBER_TRY_SCENARIO=ember-lts-2.8
16-
- EMBER_TRY_SCENARIO=ember-release
17-
- EMBER_TRY_SCENARIO=ember-beta
18-
- EMBER_TRY_SCENARIO=ember-canary
19-
- EMBER_TRY_SCENARIO=ember-default
19+
global:
20+
# See https://git.io/vdao3 for details.
21+
- JOBS=1
22+
matrix:
23+
# we recommend new addons test the current and previous LTS
24+
# as well as latest stable release (bonus points to beta/canary)
25+
- EMBER_TRY_SCENARIO=ember-lts-2.12
26+
- EMBER_TRY_SCENARIO=ember-lts-2.16
27+
- EMBER_TRY_SCENARIO=ember-lts-2.18
28+
- EMBER_TRY_SCENARIO=ember-release
29+
- EMBER_TRY_SCENARIO=ember-beta
30+
- EMBER_TRY_SCENARIO=ember-canary
31+
- EMBER_TRY_SCENARIO=ember-default
2032

2133
matrix:
2234
fast_finish: true
@@ -25,13 +37,11 @@ matrix:
2537

2638
before_install:
2739
- npm config set spin false
28-
- npm install -g phantomjs-prebuilt
29-
- phantomjs --version
30-
31-
install:
32-
- npm install
40+
- npm install -g npm@4
41+
- npm --version
3342

3443
script:
44+
- npm run lint:js
3545
# Usually, it's ok to finish the test scenario without reverting
3646
# to the addon's original dependency state, skipping "cleanup".
37-
- node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO test --skip-cleanup
47+
- node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO --skip-cleanup

README.md

Lines changed: 39 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
# ember-m-css-loader
1+
ember-m-css-loader
2+
==============================================================================
23

34
This [Ember.js](https://emberjs.com/) addon helps load the css file(s) on demand, i.e. lazy loading, inside the `<link>` tag in the `document` `<head>` using the service `m-css-loader` .
45

6+
### Compatibility
7+
Ember@^3.0.0
8+
59
### Lazy Loading of CSS
610

711
[CSS are render blocking resources.](https://developers.google.com/web/fundamentals/performance/critical-rendering-path/render-blocking-css) The ambitious SPAs need more than one CSS resources (external libraries) and some of these CSS resources can be more functionality centric and may not be required to get loaded on the Home screen or may be required only for few of screens.
@@ -44,25 +48,48 @@ The service `m-css-loader` caches the `href`s loaded to avoid injecting the same
4448

4549
The service inserts a `<link>` tag which as good as having it hardcoded at the time of html load. So no [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS) issue.
4650

47-
## Installation
51+
Installation
52+
------------------------------------------------------------------------------
53+
54+
```
55+
ember install ember-m-css-loader
56+
```
57+
58+
59+
Usage
60+
------------------------------------------------------------------------------
61+
62+
[Longer description of how to use the addon in apps.]
63+
4864

49-
* `git clone <repository-url>` this repository
65+
Contributing
66+
------------------------------------------------------------------------------
67+
68+
### Installation
69+
70+
* `git clone <repository-url>`
5071
* `cd ember-m-css-loader`
5172
* `npm install`
5273

53-
## Running
74+
### Linting
5475

55-
* `ember serve`
56-
* Visit your app at [http://localhost:4200](http://localhost:4200), which loads the [bootstrap](https://getbootstrap.com) CSS lazily.
76+
* `npm run lint:js`
77+
* `npm run lint:js -- --fix`
5778

58-
## Running Tests
79+
### Running tests
5980

60-
* `npm test` (Runs `ember try:each` to test your addon against multiple Ember versions)
61-
* `ember test`
62-
* `ember test --server`
81+
* `ember test` Runs the test suite on the current Ember version
82+
* `ember test --server` – Runs the test suite in "watch mode"
83+
* `npm test` – Runs `ember try:each` to test your addon against multiple Ember versions
6384

64-
## Building
85+
### Running the dummy application
6586

66-
* `ember build`
87+
* `ember serve`
88+
* Visit the dummy application at [http://localhost:4200](http://localhost:4200).
6789

6890
For more information on using ember-cli, visit [https://ember-cli.com/](https://ember-cli.com/).
91+
92+
License
93+
------------------------------------------------------------------------------
94+
95+
This project is licensed under the [MIT License](LICENSE.md).

addon/services/m-css-loader.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
import Ember from 'ember';
1+
import { A } from '@ember/array';
2+
import { Promise } from 'rsvp';
3+
import Service from '@ember/service';
4+
import { isEmpty, isBlank } from '@ember/utils';
25

36
// @public
4-
export default Ember.Service.extend({
7+
export default Service.extend({
58

69
// @private
7-
_cache: Ember.A(),
10+
_cache: A(),
811

912
// @private
1013
_isCached(href) {
@@ -29,7 +32,7 @@ export default Ember.Service.extend({
2932

3033
// @private
3134
_loadCss(attr) {
32-
return new Ember.RSVP.Promise((resolve, reject) => {
35+
return new Promise((resolve, reject) => {
3336
const link = document.createElement("link");
3437

3538
document.body.appendChild(link);
@@ -52,12 +55,12 @@ export default Ember.Service.extend({
5255

5356
// @private
5457
_isValidAttr(attr) {
55-
return !Ember.isEmpty(attr) && !Ember.isEmpty(attr.href) && !Ember.isBlank(attr.href);
58+
return !isEmpty(attr) && !isEmpty(attr.href) && !isBlank(attr.href);
5659
},
5760

5861
// @public
5962
load(attr) {
60-
return new Ember.RSVP.Promise((resolve, reject) => {
63+
return new Promise((resolve, reject) => {
6164
if (!this._isValidAttr(attr)) {
6265
resolve();
6366
return;

config/ember-try.js

Lines changed: 63 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,91 +1,70 @@
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'
1+
'use strict';
2+
3+
const getChannelURL = require('ember-source-channel-url');
4+
5+
module.exports = function() {
6+
return Promise.all([
7+
getChannelURL('release'),
8+
getChannelURL('beta'),
9+
getChannelURL('canary'),
10+
]).then((urls) => {
11+
return {
12+
scenarios: [
13+
{
14+
name: 'ember-lts-2.12',
15+
npm: {
16+
devDependencies: {
17+
'ember-source': '~2.12.0'
18+
}
19+
}
920
},
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'
21+
{
22+
name: 'ember-lts-2.16',
23+
npm: {
24+
devDependencies: {
25+
'ember-source': '~2.16.0'
26+
}
27+
}
2528
},
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'
29+
{
30+
name: 'ember-lts-2.18',
31+
npm: {
32+
devDependencies: {
33+
'ember-source': '~2.18.0'
34+
}
35+
}
4136
},
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'
37+
{
38+
name: 'ember-release',
39+
npm: {
40+
devDependencies: {
41+
'ember-source': urls[0]
42+
}
43+
}
5744
},
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'
45+
{
46+
name: 'ember-beta',
47+
npm: {
48+
devDependencies: {
49+
'ember-source': urls[1]
50+
}
51+
}
7352
},
74-
resolutions: {
75-
'ember': 'canary'
76-
}
77-
},
78-
npm: {
79-
devDependencies: {
80-
'ember-source': null
53+
{
54+
name: 'ember-canary',
55+
npm: {
56+
devDependencies: {
57+
'ember-source': urls[2]
58+
}
59+
}
60+
},
61+
{
62+
name: 'ember-default',
63+
npm: {
64+
devDependencies: {}
65+
}
8166
}
82-
}
83-
},
84-
{
85-
name: 'ember-default',
86-
npm: {
87-
devDependencies: {}
88-
}
89-
}
90-
]
67+
]
68+
};
69+
});
9170
};

config/environment.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
/* eslint-env node */
21
'use strict';
32

43
module.exports = function(/* environment, appConfig */) {

0 commit comments

Comments
 (0)