ember-property-upgrade
v0.0.7
Published
Tool for migration from deprecated "property()" to new syntax
Maintainers
Readme
Ember Property Migration Tool

Simple tool for migrating computed properties (used with .property()) from syntax deprecated in Ember 3.9.
Installation
# With NPM
npm install ember-property-upgrade --save
# With Yarn
yarn add ember-property-upgradeUsage
After installation a CLI is available in your project.
./node_modules/.bin/ember-property-upgrade [filesGlob] [options] --help[filesGlob]- glob expression, which points to files, e.g.'src/**/*.js'[options]- defined in Options section
Alternatively you can install module globally and access it via alias ember-property-upgrade.
How it works
This tool helps with smooth migration to new computed property syntax. Simply run the CLI and you are done!
By default ember-property-upgrade doesn't format transformed code. To run auto-format the code use
--format=truewhen running CLI (see Options for more details).
Before
const Person = EmberObject.extend({
fullName: computed(function() {
return `${this.firstName} ${this.lastName}`;
}).property('firstName', 'lastName'),
isYoung: Ember.computed(function() {
return this.age < 50;
}).property('age'),
hasFriends: function() {
return this.friends.length > 0;
}.property('friends'),
});After
const Person = EmberObject.extend({
fullName: computed('firstName', 'lastName', function() {
return `${this.firstName} ${this.lastName}`;
}),
isYoung: Ember.computed('age', function() {
return this.age < 50;
}),
hasFriends: Ember.computed('friends', function() {
return this.friends.length > 0;
}),
});Options
| Option | Type | Description | Default |
|---------------------------|-------------|---------------|---------|
| --format | Boolean | Enable auto formatting after code parsing | false |
| --prettier-config-file | String | Path to Prettier config file (accepts JS and JSON files) | |
| --prettier-config | String | Prettier config as JSON string | |
| --framework-pkg | String | Name of Ember's import alias | 'Ember' |
| --computed-fn-name | String | Name of computed property function name | 'computed' |
Usage without CLI
Migration tool can be used directly in Node.js environment.
const { transform } = require('ember-property-upgrade');
// or using ES modules
import { transform } from 'ember-property-upgrade';Usage
// Transforming the code
// input {String} - code input
// options {TransformOptions} - options for parser
const parsedCode = transform(input, options);License
Created by Mirosław Ciastek. Released under the MIT License.
