Skip to content

Commit fb1ef09

Browse files
fix(cli): fix options bug, add dev script (#637)
Gh-563
1 parent be74772 commit fb1ef09

4 files changed

Lines changed: 94 additions & 86 deletions

File tree

packages/cli/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ $ npm install -g @sourceloop/cli
1515
$ sl COMMAND
1616
running command...
1717
$ sl (-v|--version|version)
18-
@sourceloop/cli/1.2.0 darwin-arm64 node-v17.0.1
18+
@sourceloop/cli/1.2.0 darwin-arm64 node-v16.14.0
1919
$ sl --help [COMMAND]
2020
USAGE
2121
$ sl COMMAND

packages/cli/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,8 @@
124124
"kindof": "^2.0.0",
125125
"@types/dotenv": "^8.2.0",
126126
"npm-run-all": "^4.1.5",
127-
"db-migrate": "^0.11.13"
127+
"db-migrate": "^0.11.13",
128+
"nodemon": "^2.0.15"
128129
}
129130
}
130131
}

packages/cli/src/generators/microservice/index.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,8 @@ export default class MicroserviceGenerator extends AppGenerator<MicroserviceOpti
120120
]);
121121
this.options.facade = isFacade;
122122
this.projectInfo.facade = isFacade;
123+
} else {
124+
this.projectInfo.facade = this.options.facade;
123125
}
124126
}
125127
}
@@ -152,6 +154,8 @@ export default class MicroserviceGenerator extends AppGenerator<MicroserviceOpti
152154
} else {
153155
// do nothing
154156
}
157+
} else {
158+
this.projectInfo.serviceDependency = this.options.baseService;
155159
}
156160
}
157161
}
@@ -205,6 +209,7 @@ export default class MicroserviceGenerator extends AppGenerator<MicroserviceOpti
205209
...this.options,
206210
...answers,
207211
};
212+
208213
this.projectInfo.datasourceName = this.options.datasourceName;
209214
this.projectInfo.datasourceClassName = this._capitalizeFirstLetter(
210215
this.options.datasourceName,

packages/cli/src/generators/project/templates/package.json.ejs

Lines changed: 86 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
"loopback-<%= project.projectType -%>",
77
"loopback"
88
],
9-
<% if (project.private) { -%>
9+
<% if (project.private) { -%>
1010
"private": true,
11-
<% } -%>
11+
<% } -%>
1212
"main": "dist/index.js",
1313
"types": "dist/index.d.ts",
1414
"engines": {
@@ -17,148 +17,149 @@
1717
"scripts": {
1818
"build": "lb-tsc",
1919
"build:watch": "lb-tsc --watch",
20-
<% if (project.prettier && project.eslint) { -%>
21-
<% if (packageManager === 'yarn') { -%>
20+
<% if (project.prettier && project.eslint) { -%>
21+
<% if (packageManager === 'yarn') { -%>
2222
"lint": "yarn run eslint && yarn run prettier:check",
2323
"lint:fix": "yarn run eslint:fix && yarn run prettier:fix",
24-
<% } else { -%>
24+
<% } else { -%>
2525
"lint": "npm run eslint && npm run prettier:check",
2626
"lint:fix": "npm run eslint:fix && npm run prettier:fix",
27-
<% } -%>
28-
<% } else if (project.prettier) { -%>
29-
<% if (packageManager === 'yarn') { -%>
27+
<% } -%>
28+
<% } else if (project.prettier) { -%>
29+
<% if (packageManager === 'yarn') { -%>
3030
"lint": "yarn run prettier:check",
3131
"lint:fix": "yarn run prettier:fix",
32-
<% } else { -%>
32+
<% } else { -%>
3333
"lint": "npm run prettier:check",
3434
"lint:fix": "npm run prettier:fix",
35-
<% } -%>
36-
<% } else if (project.eslint) { -%>
37-
<% if (packageManager === 'yarn') { -%>
35+
<% } -%>
36+
<% } else if (project.eslint) { -%>
37+
<% if (packageManager === 'yarn') { -%>
3838
"lint": "yarn run eslint",
3939
"lint:fix": "yarn run eslint:fix",
40-
<% } else { -%>
40+
<% } else { -%>
4141
"lint": "npm run eslint",
4242
"lint:fix": "npm run eslint:fix",
43-
<% } -%>
44-
<% } -%>
45-
<% if (project.prettier) { -%>
43+
<% } -%>
44+
<% } -%>
45+
<% if (project.prettier) { -%>
4646
"prettier:cli": "lb-prettier \"**/*.ts\" \"**/*.js\"",
47-
<% if (packageManager === 'yarn') { -%>
47+
<% if (packageManager === 'yarn') { -%>
4848
"prettier:check": "yarn run prettier:cli -l",
4949
"prettier:fix": "yarn run prettier:cli --write",
50-
<% } else { -%>
50+
<% } else { -%>
5151
"prettier:check": "npm run prettier:cli -- -l",
5252
"prettier:fix": "npm run prettier:cli -- --write",
53-
<% } -%>
54-
<% } -%>
55-
<% if (project.eslint) { -%>
53+
<% } -%>
54+
<% } -%>
55+
<% if (project.eslint) { -%>
5656
"eslint": "lb-eslint --report-unused-disable-directives .",
57-
<% if (packageManager === 'yarn') { -%>
57+
<% if (packageManager === 'yarn') { -%>
5858
"eslint:fix": "yarn run eslint --fix",
59-
<% } else { -%>
59+
<% } else { -%>
6060
"eslint:fix": "npm run eslint -- --fix",
61-
<% } -%>
62-
<% } -%>
63-
<% if (packageManager === 'yarn') { -%>
61+
<% } -%>
62+
<% } -%>
63+
<% if (packageManager === 'yarn') { -%>
6464
"pretest": "yarn run rebuild",
65-
<% } else { -%>
65+
<% } else { -%>
6666
"pretest": "npm run rebuild",
67-
<% } -%>
68-
<% if (project.mocha) { -%>
67+
<% } -%>
68+
<% if (project.mocha) { -%>
6969
"test": "lb-mocha --allow-console-logs \"dist/__tests__\"",
70-
<% } -%>
71-
<% if (project.prettier || project.eslint) { -%>
72-
<% if (packageManager === 'yarn') { -%>
70+
<% } -%>
71+
<% if (project.prettier || project.eslint) { -%>
72+
<% if (packageManager === 'yarn') { -%>
7373
"posttest": "yarn run lint",
74-
<% } else { -%>
74+
<% } else { -%>
7575
"posttest": "npm run lint",
76-
<% } -%>
77-
<% } -%>
78-
<% if (project.mocha && (project.prettier || project.eslint)) { -%>
79-
<% if (packageManager === 'yarn') { -%>
76+
<% } -%>
77+
<% } -%>
78+
<% if (project.mocha && (project.prettier || project.eslint)) { -%>
79+
<% if (packageManager === 'yarn') { -%>
8080
"test:dev": "lb-mocha --allow-console-logs dist/__tests__/**/*.js && yarn run posttest",
81-
<% } else { -%>
81+
<% } else { -%>
8282
"test:dev": "lb-mocha --allow-console-logs dist/__tests__/**/*.js && npm run posttest",
83-
<% } -%>
84-
<% } else if (project.mocha) { -%>
83+
<% } -%>
84+
<% } else if (project.mocha) { -%>
8585
"test:dev": "lb-mocha --allow-console-logs dist/__tests__/**/*.js",
86-
<% } -%>
87-
<% if (project.projectType === 'application' || project.projectType === 'microservice') { -%>
88-
<% if (project.docker) { -%>
86+
<% } -%>
87+
<% if (project.projectType === 'application' || project.projectType === 'microservice') { -%>
88+
<% if (project.docker) { -%>
8989
"docker:build": "docker build -t <%= project.name -%> .",
9090
"docker:run": "docker run -p 3000:3000 -d <%= project.name -%>",
9191
"symlink-resolver": "symlink-resolver",
9292
"resolve-links": "npm run symlink-resolver build ./node_modules/@local",
93-
<% } -%>
94-
<% if (project.repositories && packageManager === 'yarn') { -%>
93+
<% } -%>
94+
<% if (project.repositories && packageManager === 'yarn') { -%>
9595
"premigrate": "yarn run build",
96-
<% } else if (project.repositories) { -%>
96+
<% } else if (project.repositories) { -%>
9797
"premigrate": "npm run build",
98-
<% } -%>
99-
<% if (project.repositories) { -%>
98+
<% } -%>
99+
<% if (project.repositories) { -%>
100100
"migrate": "node ./dist/migrate",
101-
<% } -%>
102-
<% if (packageManager === 'yarn') { -%>
101+
<% } -%>
102+
<% if (packageManager === 'yarn') { -%>
103103
"preopenapi-spec": "yarn run build",
104-
<% } else { -%>
104+
<% } else { -%>
105105
"preopenapi-spec": "npm run build",
106-
<% } -%>
106+
<% } -%>
107107
"openapi-spec": "node ./dist/openapi-spec",
108-
<% if (packageManager === 'yarn') { -%>
108+
<% if (packageManager === 'yarn') { -%>
109109
"prestart": "yarn run rebuild",
110-
<% } else { -%>
110+
<% } else { -%>
111111
"prestart": "npm run rebuild",
112-
<% } -%>
112+
<% } -%>
113113
"start": "node -r source-map-support/register .",
114-
<% } -%>
114+
"dev": "nodemon --watch src -e ts --exec \"npm run start\"",
115+
<% } -%>
115116
"clean": "lb-clean dist *.tsbuildinfo .eslintcache",
116-
<% if (packageManager === 'yarn') { -%>
117+
<% if (packageManager === 'yarn') { -%>
117118
"rebuild": "yarn run clean && yarn run build"
118-
<% } else { -%>
119+
<% } else { -%>
119120
"rebuild": "npm run clean && npm run build"
120-
<% } -%>
121+
<% } -%>
121122
},
122123
"repository": {
123124
"type": "git",
124125
"url": ""
125126
},
126-
<% if (author) { -%>
127+
<% if (author) { -%>
127128
"author": "<%= author.name %><<%= author.email %>>",
128-
<% } else { -%>
129+
<% } else { -%>
129130
"author": "",
130-
<% } -%>
131+
<% } -%>
131132
"license": "",
132133
"files": [
133134
"README.md",
134135
"dist",
135136
"src",
136137
"!*/__tests__"
137138
],
138-
<% if (project.projectType === 'extension') { -%>
139+
<% if (project.projectType === 'extension') { -%>
139140
"peerDependencies": {
140141
"@loopback/core": "<%= project.dependencies['@loopback/core'] -%>"
141142
},
142-
<% } -%>
143+
<% } -%>
143144
"dependencies": {
144-
<% if (project.projectType === 'application' || project.projectType === 'microservice') { -%>
145+
<% if (project.projectType === 'application' || project.projectType === 'microservice') { -%>
145146
"@loopback/boot": "<%= project.dependencies['@loopback/boot'] -%>",
146147
"@loopback/core": "<%= project.dependencies['@loopback/core'] -%>",
147-
<% } -%>
148-
<% if (project.repositories) { -%>
148+
<% } -%>
149+
<% if (project.repositories) { -%>
149150
"@loopback/repository": "<%= project.dependencies['@loopback/repository'] -%>",
150-
<% } -%>
151-
<% if (project.apiconnect) { -%>
151+
<% } -%>
152+
<% if (project.apiconnect) { -%>
152153
"@loopback/apiconnect": "<%= project.dependencies['@loopback/apiconnect'] -%>",
153-
<% } -%>
154+
<% } -%>
154155
"@loopback/rest": "<%= project.dependencies['@loopback/rest'] -%>",
155-
<% if (project.services) { -%>
156+
<% if (project.services) { -%>
156157
"@loopback/rest-explorer": "<%= project.dependencies['@loopback/rest-explorer'] -%>",
157158
"@loopback/service-proxy": "<%= project.dependencies['@loopback/service-proxy'] -%>",
158-
<% } else { -%>
159+
<% } else { -%>
159160
"@loopback/rest-explorer": "<%= project.dependencies['@loopback/rest-explorer'] -%>",
160-
<% } -%>
161-
<% if (project.projectType === 'microservice') { -%>
161+
<% } -%>
162+
<% if (project.projectType === 'microservice') { -%>
162163
"@loopback/openapi-v3": "<%= project.dependencies['@loopback/openapi-v3'] -%>",
163164
"@loopback/context": "<%= project.dependencies['@loopback/context'] -%>",
164165
"@sourceloop/core": "<%= project.dependencies['@sourceloop/core'] -%>",
@@ -174,32 +175,33 @@
174175
"@opentelemetry/plugin-pg-pool": "<%= project.dependencies['@opentelemetry/plugin-pg-pool'] -%>",
175176
"@opentelemetry/tracing": "<%= project.dependencies['@opentelemetry/tracing'] -%>",
176177
"symlink-resolver": "<%= project.dependencies['symlink-resolver'] -%>",
177-
<% if (project.datasourceType === 'postgres') { -%>
178+
<% if (project.datasourceType === 'postgres') { -%>
178179
"loopback-connector-postgresql": "<%= project.dependencies["loopback-connector-postgresql"]%>",
179-
<% } else if (project.datasourceType === 'mysql') { -%>
180+
<% } else if (project.datasourceType === 'mysql') { -%>
180181
"loopback-connector-mysql": "<%= project.dependencies["loopback-connector-mysql"]%>",
181-
<% } -%>
182-
<% } -%>
182+
<% } -%>
183+
<% } -%>
183184
"tslib": "<%= project.dependencies['tslib'] -%>"
184185
},
185186
"devDependencies": {
186187
"@loopback/build": "<%= project.dependencies['@loopback/build'] -%>",
187188
"source-map-support": "<%= project.dependencies['source-map-support'] -%>",
188-
<% if (project.projectType === 'extension') { -%>
189+
<% if (project.projectType === 'extension') { -%>
189190
"@loopback/core": "<%= project.dependencies['@loopback/core'] -%>",
190-
<% } -%>
191-
<% if (project.projectType === 'microservice') { -%>
191+
<% } -%>
192+
<% if (project.projectType === 'microservice') { -%>
193+
"nodemon": "<%= project.dependencies['nodemon'] -%>",
192194
"dotenv": "<%= project.dependencies['dotenv'] -%>",
193195
"dotenv-extended": "<%= project.dependencies['dotenv-extended'] -%>",
194196
"nyc": "<%= project.dependencies['nyc'] -%>",
195197
"@istanbuljs/nyc-config-typescript": "<%= project.dependencies['@istanbuljs/nyc-config-typescript'] -%>",
196-
<% } -%>
198+
<% } -%>
197199
"@loopback/testlab": "<%= project.dependencies['@loopback/testlab'] -%>",
198200
"@types/node": "<%= project.dependencies['@types/node'] -%>",
199-
<% if (project.eslint) { -%>
201+
<% if (project.eslint) { -%>
200202
"@loopback/eslint-config": "<%= project.dependencies['@loopback/eslint-config'] -%>",
201203
"eslint": "<%= project.dependencies['eslint'] -%>",
202-
<% } -%>
204+
<% } -%>
203205
"typescript": "<%= project.dependencies['typescript'] -%>"
204206
}
205207
}

0 commit comments

Comments
 (0)