Skip to content

Commit 6995b00

Browse files
committed
breaking: upgrades to Ember 4/drops Ember 3
1 parent 8b5b632 commit 6995b00

38 files changed

+5889
-4274
lines changed

.editorconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
root = true
66

7-
87
[*]
98
end_of_line = lf
109
charset = utf-8

.ember-cli

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,11 @@
55

66
Setting `disableAnalytics` to true will prevent any data from being sent.
77
*/
8-
"disableAnalytics": false
8+
"disableAnalytics": false,
9+
10+
/**
11+
Setting `isTypeScriptProject` to true will force the blueprint generators to generate TypeScript
12+
rather than JavaScript by default, when a TypeScript version of a given blueprint is available.
13+
*/
14+
"isTypeScriptProject": false
915
}

.eslintignore

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,13 @@
1313
# misc
1414
/coverage/
1515
!.*
16+
.*/
17+
.eslintcache
1618

1719
# ember-try
1820
/.node_modules.ember-try/
1921
/bower.json.ember-try
22+
/npm-shrinkwrap.json.ember-try
2023
/package.json.ember-try
21-
22-
test/fixtures
24+
/package-lock.json.ember-try
25+
/yarn.lock.ember-try

.eslintrc.js

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,26 @@
1+
'use strict';
2+
13
module.exports = {
24
root: true,
3-
parser: 'babel-eslint',
5+
parser: '@babel/eslint-parser',
46
parserOptions: {
5-
ecmaVersion: 2018,
6-
sourceType: 'module'
7+
ecmaVersion: 'latest',
8+
sourceType: 'module',
9+
requireConfigFile: false,
10+
babelOptions: {
11+
plugins: [
12+
['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true }],
13+
],
14+
},
715
},
816
plugins: ['ember'],
9-
extends: ['eslint:recommended', 'plugin:ember/recommended'],
17+
extends: [
18+
'eslint:recommended',
19+
'plugin:ember/recommended',
20+
'plugin:prettier/recommended',
21+
],
1022
env: {
11-
browser: true
12-
},
13-
globals: {
14-
fetch: 'off',
15-
Headers: 'off',
16-
Request: 'off',
17-
Response: 'off',
18-
AbortController: 'off'
23+
browser: true,
1924
},
2025
rules: {
2126
'ember/no-new-mixins': 'off',
@@ -36,39 +41,34 @@ module.exports = {
3641
// node files
3742
{
3843
files: [
39-
'.eslintrc.js',
40-
'.template-lintrc.js',
41-
'ember-cli-build.js',
42-
'index.js',
43-
'testem.js',
44-
'blueprints/*/index.js',
45-
'config/**/*.js',
46-
'test/**/*.js',
47-
'tests/dummy/config/**/*.js'
44+
'./.eslintrc.js',
45+
'./.prettierrc.js',
46+
'./.stylelintrc.js',
47+
'./.template-lintrc.js',
48+
'./ember-cli-build.js',
49+
'./index.js',
50+
'./testem.js',
51+
'./blueprints/*/index.js',
52+
'./config/**/*.js',
53+
'./tests/dummy/config/**/*.js',
4854
],
49-
excludedFiles: ['app/**', 'addon-test-support/**', 'addon/**', 'tests/dummy/app/**'],
5055
parserOptions: {
51-
sourceType: 'script'
56+
sourceType: 'script',
5257
},
5358
env: {
5459
browser: false,
55-
node: true
56-
},
57-
plugins: ['node'],
58-
rules: Object.assign({}, require('eslint-plugin-node').configs.recommended.rules, {
59-
// add your custom rules and overrides for node files here
60-
})
61-
},
62-
// node tests
63-
{
64-
files: ['test/**/*.js'],
65-
env: {
66-
mocha: true
60+
node: true,
6761
},
62+
extends: ['plugin:n/recommended'],
6863
rules: {
6964
'node/no-unpublished-require': 'off',
7065
'node/no-extraneous-require': 'off'
7166
}
72-
}
73-
]
67+
},
68+
{
69+
// test files
70+
files: ['tests/**/*-test.{js,ts}'],
71+
extends: ['plugin:qunit/recommended'],
72+
},
73+
],
7474
};

.github/workflows/ci.yml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- master
8+
pull_request: {}
9+
10+
concurrency:
11+
group: ci-${{ github.head_ref || github.ref }}
12+
cancel-in-progress: true
13+
14+
jobs:
15+
test:
16+
name: "Tests"
17+
runs-on: ubuntu-latest
18+
timeout-minutes: 10
19+
20+
steps:
21+
- uses: actions/checkout@v3
22+
- name: Install Node
23+
uses: actions/setup-node@v3
24+
with:
25+
node-version: 14.x
26+
cache: yarn
27+
- name: Install Dependencies
28+
run: yarn install --frozen-lockfile
29+
- name: Lint
30+
run: yarn lint
31+
- name: Run Tests
32+
run: yarn test:ember
33+
34+
floating:
35+
name: "Floating Dependencies"
36+
runs-on: ubuntu-latest
37+
timeout-minutes: 10
38+
39+
steps:
40+
- uses: actions/checkout@v3
41+
- uses: actions/setup-node@v3
42+
with:
43+
node-version: 14.x
44+
cache: yarn
45+
- name: Install Dependencies
46+
run: yarn install --no-lockfile
47+
- name: Run Tests
48+
run: yarn test:ember
49+
50+
try-scenarios:
51+
name: ${{ matrix.try-scenario }}
52+
runs-on: ubuntu-latest
53+
needs: "test"
54+
timeout-minutes: 10
55+
56+
strategy:
57+
fail-fast: false
58+
matrix:
59+
try-scenario:
60+
- ember-lts-4.4
61+
- ember-lts-4.8
62+
- ember-release
63+
- ember-beta
64+
- ember-canary
65+
- embroider-safe
66+
- embroider-optimized
67+
68+
steps:
69+
- uses: actions/checkout@v3
70+
- name: Install Node
71+
uses: actions/setup-node@v3
72+
with:
73+
node-version: 14.x
74+
cache: yarn
75+
- name: Install Dependencies
76+
run: yarn install --frozen-lockfile
77+
- name: Run Tests
78+
run: ./node_modules/.bin/ember try:one ${{ matrix.try-scenario }}

.gitignore

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
# misc
1212
/.sass-cache
13+
/.eslintcache
1314
/connect.lock
1415
/coverage/*
1516
/libpeerconnection.log
@@ -19,6 +20,12 @@ yarn-error.log
1920
testem.log
2021

2122
# ember-try
22-
.node_modules.ember-try/
23-
bower.json.ember-try
24-
package.json.ember-try
23+
/.node_modules.ember-try/
24+
/bower.json.ember-try
25+
/npm-shrinkwrap.json.ember-try
26+
/package.json.ember-try
27+
/package-lock.json.ember-try
28+
/yarn.lock.ember-try
29+
30+
# broccoli-debug
31+
/DEBUG/

.npmignore

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,30 @@
1414
/.eslintignore
1515
/.eslintrc.js
1616
/.git/
17+
/.github/
1718
/.gitignore
19+
/.prettierignore
20+
/.prettierrc.js
21+
/.stylelintignore
22+
/.stylelintrc.js
1823
/.template-lintrc.js
1924
/.travis.yml
2025
/.watchmanconfig
2126
/bower.json
22-
/config/ember-try.js
2327
/CONTRIBUTING.md
2428
/ember-cli-build.js
2529
/npm-debug.log*
2630
/testem.js
2731
/tests/
32+
/yarn-error.log
2833
/yarn.lock
2934
/yarn-error.log
3035
.gitkeep
3136

3237
# ember-try
3338
/.node_modules.ember-try/
3439
/bower.json.ember-try
40+
/npm-shrinkwrap.json.ember-try
3541
/package.json.ember-try
42+
/package-lock.json.ember-try
43+
/yarn.lock.ember-try

.prettierignore

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# unconventional js
2+
/blueprints/*/files/
3+
/vendor/
4+
5+
# compiled output
6+
/dist/
7+
/tmp/
8+
9+
# dependencies
10+
/bower_components/
11+
/node_modules/
12+
13+
# misc
14+
/coverage/
15+
!.*
16+
.eslintcache
17+
.lint-todo/
18+
19+
# ember-try
20+
/.node_modules.ember-try/
21+
/bower.json.ember-try
22+
/npm-shrinkwrap.json.ember-try
23+
/package.json.ember-try
24+
/package-lock.json.ember-try
25+
/yarn.lock.ember-try

.prettierrc.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
'use strict';
2+
3+
module.exports = {
4+
overrides: [
5+
{
6+
files: '*.{js,ts}',
7+
options: {
8+
singleQuote: true,
9+
},
10+
},
11+
],
12+
};

.stylelintignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# unconventional files
2+
/blueprints/*/files/
3+
4+
# compiled output
5+
/dist/
6+
7+
# addons
8+
/.node_modules.ember-try/

.stylelintrc.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
'use strict';
2+
3+
module.exports = {
4+
extends: ['stylelint-config-standard', 'stylelint-prettier/recommended'],
5+
};

.template-lintrc.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
'use strict';
2+
3+
module.exports = {
4+
extends: 'recommended',
5+
};

CONTRIBUTING.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# How To Contribute
2+
3+
## Installation
4+
5+
* `git clone <repository-url>`
6+
* `cd ember-fetch`
7+
* `yarn install`
8+
9+
## Linting
10+
11+
* `yarn lint`
12+
* `yarn lint:fix`
13+
14+
## Running tests
15+
16+
* `ember test` – Runs the test suite on the current Ember version
17+
* `ember test --server` – Runs the test suite in "watch mode"
18+
* `ember try:each` – Runs the test suite against multiple Ember versions
19+
20+
## Running the dummy application
21+
22+
* `ember serve`
23+
* Visit the dummy application at [http://localhost:4200](http://localhost:4200).
24+
25+
For more information on using ember-cli, visit [https://cli.emberjs.com/release/](https://cli.emberjs.com/release/).

README.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ HTML5 [fetch](https://fetch.spec.whatwg.org) polyfill from [github](https://gith
1515

1616
* `ember install ember-fetch`
1717

18+
## Compatibility
19+
20+
* Ember.js v4.4 or above
21+
* Ember CLI v4.4 or above
22+
* Node.js v14 or above
23+
1824
ember-fetch requries ember-cli 2.13 or above.
1925

2026
## Usage
@@ -40,6 +46,8 @@ import fetch, { Headers, Request, Response, AbortController } from 'fetch';
4046
### Use with TypeScript
4147
To use `ember-fetch` with TypeScript or enable editor's type support, You can add `"fetch": ["node_modules/ember-fetch"]` to your `tsconfig.json`.
4248

49+
## Usage
50+
4351
```json
4452
{
4553
"compilerOptions": {
@@ -157,7 +165,7 @@ export default Route.extend({
157165

158166
## Browser Support
159167

160-
* evergreen / IE10+ / Safari 6.1+ https://github.com/github/fetch#browser-support
168+
* evergreen / Edge / Safari 6.1+ https://github.com/github/fetch#browser-support
161169

162170
## Q & A
163171
### Does it work with pretender?

config/environment.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)