ember-property-upgrade

0.0.7 • Public • Published

Ember Property Migration Tool License: MIT Build Status

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-upgrade

Usage

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=true when 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.

Package Sidebar

Install

npm i ember-property-upgrade

Weekly Downloads

0

Version

0.0.7

License

MIT

Unpacked Size

19.5 kB

Total Files

5

Last publish

Collaborators

  • mciastek