Skip to content

Commit

Permalink
Merge pull request #2804 from mainmatter/migrate-eslint-config
Browse files Browse the repository at this point in the history
chore(lint): Migrate eslint config
  • Loading branch information
BobrImperator authored Jul 8, 2024
2 parents d744766 + 85a53ee commit 189b35d
Show file tree
Hide file tree
Showing 136 changed files with 3,300 additions and 1,632 deletions.
92 changes: 0 additions & 92 deletions .eslintrc.js

This file was deleted.

7 changes: 7 additions & 0 deletions babel.config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"plugins": [
"@embroider/addon-dev/template-colocation-plugin",
["@babel/plugin-proposal-decorators", { "legacy": true }],
"@babel/plugin-proposal-class-properties"
]
}
141 changes: 141 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
import ember from 'eslint-plugin-ember';
import prettier from 'eslint-plugin-prettier/recommended';
import globals from 'globals';
import babelParser from '@babel/eslint-parser';
import qunit from 'eslint-plugin-qunit';
import simplabsEmber from 'eslint-config-simplabs';
import n from 'eslint-plugin-n';
import js from '@eslint/js';

export default [
js.configs.recommended,
prettier,
{
ignores: [
'node-tests/fixtures/',
'blueprints/*/files/',
'vendor/',
'dist/',
'tmp/',
'bower_components/',
'node_modules/',
'coverage/',
'!**/.*',
'.node_modules.ember-try/',
'bower.json.ember-try',
'package.json.ember-try',
],
},
{
files: [
'**/app/**/*.js',
'**/src/**/*.js',
'**/lib/**/*.js'
],
plugins: {
ember,
simplabsEmber,
},

languageOptions: {
globals: {
...globals.browser,
},

parser: babelParser,
ecmaVersion: 2020,
sourceType: 'module',

parserOptions: {
legacyDecorators: true,
},
},

rules: {
'ember/local-modules': 'off',
'ember/no-get': 'off',
'ember/avoid-leaking-state-in-components': 'off',

// Legacy Ember features
'ember/no-actions-hash': 'off',
'ember/no-classic-classes': 'off',
'ember/no-classic-components': 'off',
'ember/no-private-routing-service': 'off',
'ember/require-tagless-components': 'off',

// TODO: REMOVE
'no-implicit-coercion': 'off',
'no-multi-spaces': 'off',
'no-multi-str': 'off',
'no-trailing-spaces': 'off',
'no-unused-vars': 'off',
'no-var': 'off',
'prefer-template': 'off',
'no-prototype-builtins': 'off',
quotes: 'off',
semi: 'off',
},
},
{
files: [
'**/.babelrc.js',
'**/.eslintrc.js',
'**/.eslintrc.js',
'**/.template-lintrc.js',
'**/eslint.config.mjs',
'**/prettier.config.mjs',
'**/addon-main.*js',
'**/fastboot-server.js',
'**/server/**/*.js',
'**/server/*.js',
'**/blueprints/*/index.js',
'**/config/**/*.js',
'**/config/*.js',
'**/lib/my-engine/index.js',
'**/testem.js',
'**/ember-cli-build.js',
],

ignores: ['src/**'],

plugins: {
n,
},

languageOptions: {
globals: {
...globals.node,
},

ecmaVersion: 6,
sourceType: 'script',
},
rules: {
'node/no-extraneous-require': 'off',
'node/no-unpublished-require': 'off',
},
},
{
files: [
'**/eslint.config.mjs',
'**/prettier.config.mjs',
],
languageOptions: {
sourceType: 'module'
}
},
{
plugins: {
qunit,
},
languageOptions: {
globals: {
...globals.browser
}
},
files: ['**/tests/**/*.js'],
rules: {
'qunit/require-expect': ['error', 'except-simple'],
},
},
];
14 changes: 12 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,20 @@
"release": "release-it"
},
"devDependencies": {
"@babel/plugin-proposal-decorators": "7.24.1",
"@babel/preset-env": "^7.24.7",
"@eslint/eslintrc": "^3.1.0",
"@eslint/js": "^9.6.0",
"@mermaid-js/mermaid-cli": "10.9.0",
"@release-it-plugins/lerna-changelog": "7.0.0",
"eslint-config-simplabs": "0.4.0",
"eslint-plugin-ember": "11.12.0",
"eslint-plugin-n": "17.7.0",
"eslint-plugin-prettier": "5.1.3",
"eslint-plugin-qunit": "8.1.1",
"globals": "^15.8.0",
"lerna-changelog": "2.2.0",
"release-it": "17.3.0",
"@release-it-plugins/lerna-changelog": "7.0.0"
"release-it": "17.3.0"
},
"version": "6.0.0",
"volta": {
Expand Down
8 changes: 0 additions & 8 deletions packages/classic-test-app/.eslintrc.js

This file was deleted.

2 changes: 1 addition & 1 deletion packages/classic-test-app/app/adapters/application.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export default JSONAPIAdapter.extend({
host: config.apiHost,
session: service(),

headers: computed('session.{data.authenticated.access_token,isAuthenticated}', function() {
headers: computed('session.{data.authenticated.access_token,isAuthenticated}', function () {
let headers = {};
if (this.get('session.isAuthenticated')) {
headers['Authorization'] = `Bearer ${this.get('session.data.authenticated.access_token')}`;
Expand Down
12 changes: 5 additions & 7 deletions packages/classic-test-app/app/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,12 @@ const App = Application.extend({
'my-engine': {
dependencies: {
externalRoutes: {
login: 'login'
login: 'login',
},
services: [
'session'
]
}
}
})
services: ['session'],
},
},
}),
});

loadInitializers(App, config.modulePrefix);
Expand Down
2 changes: 1 addition & 1 deletion packages/classic-test-app/app/authenticators/oauth2.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ import config from '../config/environment';

export default OAuth2PasswordGrant.extend({
serverTokenEndpoint: `${config.apiHost}/token`,
serverTokenRevocationEndpoint: `${config.apiHost}/revoke`
serverTokenRevocationEndpoint: `${config.apiHost}/revoke`,
});
8 changes: 4 additions & 4 deletions packages/classic-test-app/app/authenticators/torii.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@ export default Torii.extend({
torii: service(),

authenticate() {
return this._super(...arguments).then((data) => {
return this._super(...arguments).then(data => {
return fetch('/token', {
method: 'POST',
body: JSON.stringify({
grant_type: 'facebook_auth_code',
auth_code: data.authorizationCode,
}),
headers: { 'Content-Type': 'application/json' },
}).then((response) => {
}).then(response => {
return {
access_token: response.access_token,
provider: data.provider
provider: data.provider,
};
});
});
}
},
});
13 changes: 7 additions & 6 deletions packages/classic-test-app/app/components/login-form.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,12 @@ export default Component.extend({
let redirectURI = `${window.location.origin}/callback`;
let responseType = `token`;
let scope = `email`;
window.location.replace(`https://accounts.google.com/o/oauth2/v2/auth?`
+ `client_id=${clientId}`
+ `&redirect_uri=${redirectURI}`
+ `&response_type=${responseType}`
+ `&scope=${scope}`
window.location.replace(
`https://accounts.google.com/o/oauth2/v2/auth?` +
`client_id=${clientId}` +
`&redirect_uri=${redirectURI}` +
`&response_type=${responseType}` +
`&scope=${scope}`
);
},

Expand All @@ -48,5 +49,5 @@ export default Component.extend({
updateRememberMe(e) {
this.set('rememberMe', e.target.checked);
},
}
},
});
6 changes: 3 additions & 3 deletions packages/classic-test-app/app/components/main-navigation.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ import { inject as service } from '@ember/service';
import Component from '@ember/component';

export default Component.extend({
session: service('session'),
session: service('session'),
sessionAccount: service('session-account'),

actions: {
logout() {
this.get('session').invalidate();
}
}
},
},
});
4 changes: 2 additions & 2 deletions packages/classic-test-app/app/controllers/application.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ export default Controller.extend({
actions: {
transitionToLoginRoute() {
this.transitionToRoute('login');
}
}
},
},
});
2 changes: 1 addition & 1 deletion packages/classic-test-app/app/controllers/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ import Controller from '@ember/controller';
import { inject as service } from '@ember/service';

export default Controller.extend({
session: service()
session: service(),
});
2 changes: 1 addition & 1 deletion packages/classic-test-app/app/models/account.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ import Model, { attr } from '@ember-data/model';

export default Model.extend({
login: attr('string'),
name: attr('string')
name: attr('string'),
});
Loading

0 comments on commit 189b35d

Please sign in to comment.