File tree Expand file tree Collapse file tree 3 files changed +56
-6
lines changed
packages/ember-cli-fastboot
blueprints/ember-cli-fastboot Expand file tree Collapse file tree 3 files changed +56
-6
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+ } ;
Original file line number Diff line number Diff line change 3939 "fs-extra" : " ^7.0.0" ,
4040 "json-stable-stringify" : " ^1.0.1" ,
4141 "md5-hex" : " ^2.0.0" ,
42+ "recast" : " ^0.19.1" ,
4243 "silent-error" : " ^1.1.0"
4344 },
4445 "devDependencies" : {
Original file line number Diff line number Diff line change @@ -11772,7 +11772,7 @@ parse5@5.1.0:
1177211772 resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2"
1177311773 integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==
1177411774
11775- parse5@5.1.1:
11775+ parse5@5.1.1, parse5@^5.1.1 :
1177611776 version "5.1.1"
1177711777 resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178"
1177811778 integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==
@@ -11784,11 +11784,6 @@ parse5@^3.0.3:
1178411784 dependencies:
1178511785 "@types/node" "*"
1178611786
11787- parse5@^5.1.1:
11788- version "5.1.1"
11789- resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178"
11790- integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==
11791-
1179211787parseqs@0.0.5:
1179311788 version "0.0.5"
1179411789 resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
@@ -12467,6 +12462,16 @@ recast@^0.18.1:
1246712462 private "^0.1.8"
1246812463 source-map "~0.6.1"
1246912464
12465+ recast@^0.19.1:
12466+ version "0.19.1"
12467+ resolved "https://registry.yarnpkg.com/recast/-/recast-0.19.1.tgz#555f3612a5a10c9f44b9a923875c51ff775de6c8"
12468+ integrity sha512-8FCjrBxjeEU2O6I+2hyHyBFH1siJbMBLwIRvVr1T3FD2cL754sOaJDsJ/8h3xYltasbJ8jqWRIhMuDGBSiSbjw==
12469+ dependencies:
12470+ ast-types "0.13.3"
12471+ esprima "~4.0.0"
12472+ private "^0.1.8"
12473+ source-map "~0.6.1"
12474+
1247012475rechoir@^0.6.2:
1247112476 version "0.6.2"
1247212477 resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
You can’t perform that action at this time.
0 commit comments