File tree Expand file tree Collapse file tree 1 file changed +44
-0
lines changed
packages/ember-cli-fastboot/blueprints/ember-cli-fastboot Expand file tree Collapse file tree 1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change 1+ /* eslint-env node */
2+ const recast = require ( 'recast' ) ;
3+ const { readFileSync, writeFileSync } = require ( 'fs' ) ;
4+
5+ module . exports = {
6+ description : '' ,
7+ normalizeEntityName ( ) {
8+ // no-op
9+ } ,
10+
11+ afterInstall ( ) {
12+ let targetsFile = './config/targets.js'
13+
14+ if ( this . project . isEmberCLIAddon ( ) ) {
15+ targetsFile = './tests/dummy/config/targets.js' ;
16+ }
17+
18+ const targetsAst = recast . parse ( readFileSync ( targetsFile ) ) ;
19+
20+ recast . visit ( targetsAst , {
21+ visitAssignmentExpression ( path ) {
22+ let node = path . node ;
23+
24+ if ( node . left . object . name === 'module' && node . left . property . name === 'exports' ) {
25+ let nodeProperty = node . right . properties . find ( property => property . key . name === 'node' ) ;
26+
27+ if ( ! nodeProperty ) {
28+ let builders = recast . types . builders ;
29+ nodeProperty = builders . property (
30+ 'init' ,
31+ builders . identifier ( 'node' ) ,
32+ builders . literal ( 'current' )
33+ ) ;
34+ node . right . properties . push ( nodeProperty ) ;
35+ }
36+ }
37+
38+ this . traverse ( path ) ;
39+ }
40+ } ) ;
41+
42+ writeFileSync ( targetsFile , recast . print ( targetsAst , { tabWidth : 2 , quote : 'single' } ) . code ) ;
43+ }
44+ } ;
You can’t perform that action at this time.
0 commit comments