app-to-addon-migrator
An opinionated cli tool to migrate Ember components from app to addons within a Yarn workspace.
Last updated 4 months ago by rajasegar .
MIT · Original npm · Tarball · package.json
$ cnpm install app-to-addon-migrator 
SYNC missed versions from official npm registry.

app-to-addon-migrator

Build and Deploy Coverage Status semantic-release npm version

An opinionated cli tool to migrate Ember components from app to addons within a Yarn workspace.

NOTE: This cli tool works only with the following conventional folder structure for your Ember app.

|-app
|-packages
| |-addons
| |-engines
| | |-dashboards-engine
| | |-tickets-engine

Assumptions made by this tool

  • Your Ember app lives in the root of your project folder.
  • Engines live under packages/engines folder.
  • Addons live under packages/addons folder.
  • You are using Yarn workspaces.
  • You are using POD structure for your components.

Install

npm i -g app-to-addon-migrator

Usage

1. ateam (wizard UI)

ateam

ateam demo

2. atam (classic CLI)

atam [entity] [entity-name] [dest-folder]
atam route default packages/engines/dashboards-engine

After running the above command, the route default from app/routes/default.js will be moved to packages/engines/dashboards-engine/addon/routes/default.js

Dry-run

If you just want to see/verify the movement use the --dry-run or -d option.

atam route default packages/engines/dashboards-engine -d

This will print something like (without actually copying the files):

Moving route.js
---------------
app/routes/helpdesk/default.js
packages/engines/dashboards-engine/addon/routes/default.js


Moving route template.hbs
-------------------------
app/templates/helpdeskdefault.hbs
packages/engines/dashboards-engine/addon/templates/default.hbs

...

Folder namespace

If your source entities are namespaced within a folder you can use the -f option to specify the same before copying. Say for example you want to move a component called widget from app/components/dashboards

atam component widget packages/engines/dashboards-engine -f dashboards

Commands:

  atam adapter [adapter-name]               Copy an adapter from app to addon
  [destination]
  atam component [component-name]           Copy a component from app to addon
  [destination]
  atam constant [constant-name]             Copy a constant from app to addon
  [destination]
  atam helper [helper-name] [destination]   Copy a helper from app to addon
  atam mixin [mixin-name] [destination]     Copy a mixin from app to addon
  atam model [model-name] [destination]     Copy a model from app to addon
  atam route [route-name] [destination]     Copy a route with controller from
                                            app to addon
  atam routex [route-name] [destination]    Copy a route and its dependent
                                            components from app to addon
  atam service [storage-name]               Copy a storage from app to addon
  [destination]
  atam storage [storage-name]               Copy a storage from app to addon
  [destination]
  atam util [util-name] [destination]       Copy a util from app to addon
  atam validator [validator-name]           Copy a validator from app to addon
  [destination]

Options:
  --version      Show version number                                   [boolean]
  --help         Show help                                             [boolean]
  --dry-run, -d  Dry Run: Verify the movement without executing        [boolean]
  --pods, -p     Specify that the source components use PODS structure
                                                       [boolean] [default: true]


References

Current Tags

  • 2.2.2                                ...           latest (4 months ago)

14 Versions

  • 2.2.2                                ...           4 months ago
  • 2.2.1                                ...           4 months ago
  • 2.2.0                                ...           4 months ago
  • 2.1.0                                ...           4 months ago
  • 2.0.1                                ...           4 months ago
  • 2.0.0                                ...           4 months ago
  • 1.0.7                                ...           5 months ago
  • 1.0.6                                ...           5 months ago
  • 1.0.5                                ...           5 months ago
  • 1.0.4                                ...           5 months ago
  • 1.0.3                                ...           5 months ago
  • 1.0.2                                ...           5 months ago
  • 1.0.1                                ...           5 months ago
  • 1.0.0                                ...           5 months ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (9)
Dev Dependencies (12)
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |