Skip to content

Commit

Permalink
build: update to ember 3.24
Browse files Browse the repository at this point in the history
  • Loading branch information
GreatWizard committed Jun 4, 2021
1 parent 4f947e0 commit bb310c8
Show file tree
Hide file tree
Showing 40 changed files with 1,047 additions and 1,283 deletions.
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
# misc
/coverage/
!.*
.eslintcache

# ember-try
/.node_modules.ember-try/
Expand Down
32 changes: 17 additions & 15 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,50 +7,52 @@ module.exports = {
ecmaVersion: 2018,
sourceType: 'module',
ecmaFeatures: {
legacyDecorators: true
}
legacyDecorators: true,
},
},
plugins: [
'ember'
],
plugins: ['ember'],
extends: [
'eslint:recommended',
'plugin:ember/recommended'
'plugin:ember/recommended',
'plugin:prettier/recommended',
],
env: {
browser: true
browser: true,
},
rules: {
semi: ["error", "never"]
semi: ['error', 'never'],
'ember/no-classic-components': 0,
'ember/no-classic-classes': 0,
},
overrides: [
// node files
{
files: [
'.eslintrc.js',
'.prettierrc.js',
'.template-lintrc.js',
'ember-cli-build.js',
'index.js',
'testem.js',
'blueprints/*/index.js',
'config/**/*.js',
'tests/dummy/config/**/*.js'
'tests/dummy/config/**/*.js',
],
excludedFiles: [
'addon/**',
'addon-test-support/**',
'app/**',
'tests/dummy/app/**'
'tests/dummy/app/**',
],
parserOptions: {
sourceType: 'script'
sourceType: 'script',
},
env: {
browser: false,
node: true
node: true,
},
plugins: ['node'],
extends: ['plugin:node/recommended']
}
]
extends: ['plugin:node/recommended'],
},
],
}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
/.env*
/.pnp*
/.sass-cache
/.eslintcache
/connect.lock
/coverage/
/libpeerconnection.log
Expand Down
1 change: 1 addition & 0 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
/.editorconfig
/.ember-cli
/.env*
/.eslintcache
/.eslintignore
/.eslintrc.js
/.git/
Expand Down
21 changes: 21 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# unconventional js
/blueprints/*/files/
/vendor/

# compiled output
/dist/
/tmp/

# dependencies
/bower_components/
/node_modules/

# misc
/coverage/
!.*
.eslintcache

# ember-try
/.node_modules.ember-try/
/bower.json.ember-try
/package.json.ember-try
6 changes: 6 additions & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
'use strict'

module.exports = {
semi: false,
singleQuote: true,
}
51 changes: 1 addition & 50 deletions .template-lintrc.js
Original file line number Diff line number Diff line change
@@ -1,54 +1,5 @@
'use strict'

module.exports = {
extends: [
'octane',
'stylistic',
],

rules: {
'attribute-indentation': {
'indentation': 2,
'open-invocation-max-len': 100,
},

'inline-link-to': 'error',

'no-bare-strings': 'error',

'no-class-bindings': 'error',

'no-element-event-actions': 'error',

'no-link-to-tagname': 'error',

'no-model-argument-in-route-templates': 'error',

'no-this-in-template-only-components': 'error',

'no-yield-to-default': 'error',

'require-form-method': 'warn',
},

overrides: [
{
files: [
'**/tests/dummy/**/*.hbs',
'**/tests/**/*.{js,ts}',
],
rules: {
'no-bare-strings': 'off',
},
},
{
files: [
'**/tests/dummy/app/templates/**/*.hbs',
],

rules: {
'no-this-in-template-only-components': 'off',
},
},
],
extends: 'octane',
}
4 changes: 0 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ jobs:

# we recommend new addons test the current and previous LTS
# as well as latest stable release (bonus points to beta/canary)
- env: EMBER_TRY_SCENARIO=ember-lts-3.12
- env: EMBER_TRY_SCENARIO=ember-lts-3.16
- env: EMBER_TRY_SCENARIO=ember-lts-3.20
- env: EMBER_TRY_SCENARIO=ember-release
Expand All @@ -59,8 +58,5 @@ before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash
- export PATH=$HOME/.yarn/bin:$PATH

install:
- yarn install --non-interactive

script:
- node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ Hot plug your features: `ember-feature-controls` provides an administration pane

## Compatibility

* Ember.js v3.4 or above
* Ember.js v3.16 or above
* Ember CLI v2.13 or above
* Node.js v8 or above
* Node.js v10 or above

## Installation

Expand Down
File renamed without changes.
40 changes: 21 additions & 19 deletions addon/components/feature-controls.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
import Component from "@ember/component"
import layout from "../templates/components/feature-controls"
import { inject as service } from "@ember/service"
import { action, set } from "@ember/object"
import { assign } from "@ember/polyfills"
import config from "ember-get-config"
import windowUtil from "ember-feature-controls/utils/window"
import Component from '@ember/component'
import { inject as service } from '@ember/service'
import { action, set } from '@ember/object'
import { assign } from '@ember/polyfills'
import config from 'ember-get-config'
import windowUtil from 'ember-feature-controls/utils/window'

const { featureFlags, featureControls } = config

export default Component.extend({
layout,
tagName: '',
features: service(),
featureControlStorage: service(),
Expand All @@ -28,18 +26,18 @@ export default Component.extend({
},

// Refresh the state of the feature flags list component
refresh: action(function() {
refresh: action(function () {
// Take the existing flags from the config and put them in a list of default values
let featureFlags = this.featureFlags
let defaults = {}
for (let key in featureFlags) {
defaults[this._normalizeFlag(key)] = featureFlags[key]
}
// Model is a local copy of the list of flags register for features service, used to compute properties on the full list
let model = (this.features.flags || []).map(key => {
let model = (this.features.flags || []).map((key) => {
let meta =
((featureControls && this.featureControls.metadata) || []).find(
obj => {
(obj) => {
return this._normalizeFlag(obj.key) === key
}
) || {}
Expand All @@ -54,17 +52,21 @@ export default Component.extend({
isEnabled: isFlagLS
? this.get(`featureControlStorage.featuresLS.${key}`)
: this.features.isEnabled(key),
default: defaults[key] || false
default: defaults[key] || false,
}
return assign({}, meta, featureFlag)
})
set(this, "model", model.filter(item => item !== undefined))
set(
this,
'model',
model.filter((item) => item !== undefined)
)
}),

reset: action(function() {
reset: action(function () {
// Reset the flags from the features service to the default value in the config
let featureFlags = this.featureFlags
Object.keys(featureFlags).forEach(key => {
Object.keys(featureFlags).forEach((key) => {
this.updateFeature(this._normalizeFlag(key), featureFlags[key])
})
// If we use local storage then we want to clear the stored data
Expand All @@ -81,19 +83,19 @@ export default Component.extend({
}
// Update the local model accordingly
let model = this.model
let modelFlag = model.find(obj => {
let modelFlag = model.find((obj) => {
return obj.key === key
})
if (modelFlag) {
set(modelFlag, "isEnabled", isEnabled)
set(this, "model", model)
set(modelFlag, 'isEnabled', isEnabled)
set(this, 'model', model)
if (modelFlag.reload) {
windowUtil.reload()
}
}
},

doToggleFeature: action(function(key, checkboxState) {
doToggleFeature: action(function (key, checkboxState) {
this.updateFeature(key, !checkboxState)
if (this.featureControls.useLocalStorage) {
this.set(`featureControlStorage.featuresLS.${key}`, !checkboxState)
Expand Down
16 changes: 8 additions & 8 deletions addon/instance-initializers/load-feature-controls.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
import config from "ember-get-config"
import config from 'ember-get-config'

const { featureControls } = config

export function initialize(appInstance) {
const features = appInstance.lookup("service:features")
const features = appInstance.lookup('service:features')
if (featureControls && featureControls.useLocalStorage) {

const controlStorageService = appInstance.lookup("service:feature-control-storage")
const controlStorageService = appInstance.lookup(
'service:feature-control-storage'
)
// result of controlStorageService.get('featuresLS') is an ObjectProxy we need to use "content"
let { content: featureControls } = controlStorageService.get('featuresLS')
if (featureControls) {
Object.keys(featureControls).forEach(flag => {
if (features.get("flags").includes(flag)) {
Object.keys(featureControls).forEach((flag) => {
if (features.get('flags').includes(flag)) {
featureControls[flag] ? features.enable(flag) : features.disable(flag)
}
})

}
}
}

export default {
initialize
initialize,
}
4 changes: 2 additions & 2 deletions addon/route-setup.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export default function(router, options = { path: "features" }) {
router.route("features-list", options)
export default function (router, options = { path: 'features' }) {
router.route('features-list', options)
}
2 changes: 1 addition & 1 deletion addon/routes/features-list.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import Route from "@ember/routing/route"
import Route from '@ember/routing/route'

export default Route.extend({})
4 changes: 2 additions & 2 deletions addon/services/feature-control-storage.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Service from '@ember/service'
import { storageFor } from "ember-local-storage"
import { storageFor } from 'ember-local-storage'

export default class FeatureControlStorageService extends Service {
@storageFor("feature-controls") featuresLS
@storageFor('feature-controls') featuresLS
}
2 changes: 1 addition & 1 deletion addon/utils/window.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
export default {
reload() {
window.location.reload()
}
},
}
2 changes: 1 addition & 1 deletion app/components/feature-controls.js
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export { default } from "ember-feature-controls/components/feature-controls"
export { default } from 'ember-feature-controls/components/feature-controls'
4 changes: 2 additions & 2 deletions app/instance-initializers/load-feature-controls.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export {
default,
initialize
} from "ember-feature-controls/instance-initializers/load-feature-controls"
initialize,
} from 'ember-feature-controls/instance-initializers/load-feature-controls'
2 changes: 1 addition & 1 deletion app/routes/features-list.js
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export { default } from "ember-feature-controls/routes/features-list"
export { default } from 'ember-feature-controls/routes/features-list'
2 changes: 1 addition & 1 deletion app/storages/feature-controls.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import StorageObject from "ember-local-storage/local/object"
import StorageObject from 'ember-local-storage/local/object'

const Storage = StorageObject.extend()

Expand Down
2 changes: 1 addition & 1 deletion app/templates/features-list.js
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export { default } from "ember-feature-controls/templates/features-list"
export { default } from 'ember-feature-controls/templates/features-list'
Loading

0 comments on commit bb310c8

Please sign in to comment.