Skip to content

Commit 1688da4

Browse files
authored
Merge pull request #6 from WittBulter/build
fix: upgrade build script
2 parents 790cfef + 2dfeeba commit 1688da4

File tree

5 files changed

+74
-24
lines changed

5 files changed

+74
-24
lines changed

app/controllers/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './sessions.controller'

configs/customs.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { RoutingControllersOptions } from 'routing-controllers'
2-
import * as path from 'path'
32
import * as interceptors from './interceptors'
3+
import * as controllers from '../app/controllers'
44
const objectToArray = (dict: object): Array<any> =>
55
Object.keys(dict).map(name => dict[name])
66

77

88
export const routingConfigs: RoutingControllersOptions = {
9-
controllers: [path.join(__dirname, '../app/controllers/**/*.ts')],
9+
controllers: objectToArray(controllers),
1010

1111
// global interceptors
1212
interceptors: objectToArray(interceptors),

configs/middlewares.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import * as Koa from 'koa'
2-
import * as kcors from 'kcors'
2+
import * as kcors from '@koa/cors'
33
import * as logger from 'koa-logger'
44
import * as bodyParser from 'koa-bodyparser'
55
import { Environment } from './environments'
66

77

88
export const useMiddlewares = <T extends Koa>(app: T): T => {
9+
// cors options: https://github.com/koajs/cors#corsoptions
910
app.use(kcors())
1011

1112
Environment.identity !== 'test' && app.use(logger())

package.json

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
{
22
"name": "koa2-typescript-guide",
3-
"version": "0.2.0",
3+
"version": "0.2.1",
44
"description": "the best practice of building Koa2 with TypeScript",
55
"main": "app.ts",
66
"scripts": {
77
"test": "mocha",
88
"lint": "tslint -c tslint.yml -p tsconfig.json",
99
"start": "export NODE_ENV=development; nodemon --config nodemon.json",
10-
"build": "npm run lint && tsc",
10+
"build": "yarn run clean && ncc build app.ts",
1111
"mongo": "docker-compose -f compose.yml up -d",
1212
"clean": "rm -rf dist"
1313
},
@@ -25,21 +25,21 @@
2525
"@haifeng-fe/tslint-config": "^1.0.0",
2626
"@types/chai": "^4.1.2",
2727
"@types/chai-http": "^3.0.4",
28-
"@types/kcors": "^2.2.2",
2928
"@types/koa": "^2.0.48",
3029
"@types/koa-bodyparser": "^4.2.0",
3130
"@types/mocha": "^2.2.48",
3231
"@types/node": "^11.10.5",
3332
"chai": "^4.1.2",
3433
"chai-http": "^3.0.0",
3534
"mocha": "^5.0.0",
35+
"ncc": "^0.3.6",
3636
"nodemon": "^1.18.10",
3737
"pre-commit": "^1.2.2",
3838
"ts-node": "^8.0.2",
39-
"typescript": "^3.3.3333"
39+
"typescript": "^3.3.4000"
4040
},
4141
"dependencies": {
42-
"kcors": "^2.2.1",
42+
"@koa/cors": "^3.0.0",
4343
"koa": "^2.7.0",
4444
"koa-bodyparser": "^4.2.0",
4545
"koa-logger": "^3.1.0",

yarn.lock

+64-16
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@
77
resolved "https://registry.yarnpkg.com/@haifeng-fe/tslint-config/-/tslint-config-1.0.0.tgz#074900b4abcfa25d092d019b811fa4350a7c24e7"
88
integrity sha512-j36k3+dP5vc7jGkdZhJ75gnv4w9/q1EW00obf5tOOzPir1zNyinFo1r9RCQMT8NFvZT+rdzpBVsvIF2lqFj2tg==
99

10+
"@koa/cors@^3.0.0":
11+
version "3.0.0"
12+
resolved "https://registry.yarnpkg.com/@koa/cors/-/cors-3.0.0.tgz#df021b4df2dadf1e2b04d7c8ddf93ba2d42519cb"
13+
integrity sha512-hDp+cXj6vTYSwHRJfiSpnf5dTMv3FmqNKh1or9BPJk4SHOviHnK9GoL9dT0ypt/E+hlkRkZ9edHylcosW3Ghrw==
14+
dependencies:
15+
vary "^1.1.2"
16+
1017
"@types/accepts@*":
1118
version "1.3.5"
1219
resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575"
@@ -80,13 +87,6 @@
8087
resolved "https://registry.yarnpkg.com/@types/http-assert/-/http-assert-1.4.0.tgz#41d173466e396e99a14d75f7160cc997f2f9ed8b"
8188
integrity sha512-TZDqvFW4nQwL9DVSNJIJu4lPLttKgzRF58COa7Vs42Ki/MrhIqUbeIw0MWn4kGLiZLXB7oCBibm7nkSjPkzfKQ==
8289

83-
"@types/kcors@^2.2.2":
84-
version "2.2.3"
85-
resolved "https://registry.yarnpkg.com/@types/kcors/-/kcors-2.2.3.tgz#e6532132492173a8681dd85774f380834b96f571"
86-
integrity sha512-ICwth6ZODezC22Yvkk5fMIESkAHhbjoqNn+yIBPJPKfG2sP9+fPmMWGBUrI3h1wjTBmbrQ1fBE6qoUMmG7yo9w==
87-
dependencies:
88-
"@types/koa" "*"
89-
9090
"@types/keygrip@*":
9191
version "1.0.1"
9292
resolved "https://registry.yarnpkg.com/@types/keygrip/-/keygrip-1.0.1.tgz#ff540462d2fb4d0a88441ceaf27d287b01c3d878"
@@ -602,6 +602,11 @@ [email protected]:
602602
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
603603
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
604604

605+
606+
version "1.2.3"
607+
resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.3.tgz#1b152a9c4f6c9f74bc4bb96233ad0b7983b79744"
608+
integrity sha512-qTfM2pNFeMZcLvf/RbrVAzDEVttZjFhaApfx9dplNjvHSX88Ui66zBRb/4YGob/xUWxDceirgoC1lT676asfCQ==
609+
605610
combined-stream@^1.0.5:
606611
version "1.0.7"
607612
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828"
@@ -733,6 +738,11 @@ crypto-random-string@^1.0.0:
733738
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
734739
integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=
735740

741+
742+
version "3.0.3"
743+
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
744+
integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
745+
736746
[email protected], debug@~3.1.0:
737747
version "3.1.0"
738748
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
@@ -1535,11 +1545,6 @@ js-yaml@^3.11.0:
15351545
argparse "^1.0.7"
15361546
esprima "^4.0.0"
15371547

1538-
kcors@^2.2.1:
1539-
version "2.2.2"
1540-
resolved "https://registry.yarnpkg.com/kcors/-/kcors-2.2.2.tgz#b6250e7a4f0a33c8f477b7fd0dfa11a3f3ca518d"
1541-
integrity sha512-rIqbKa2S0gT0wC/790jsQM6hNpABHBNWQ7+XYS1xJV6zOGxlanW+RtCmlDn6wPZsGpRk371yy8abfBgl2OTavg==
1542-
15431548
keygrip@~1.0.3:
15441549
version "1.0.3"
15451550
resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.0.3.tgz#399d709f0aed2bab0a059e0cdd3a5023a053e1dc"
@@ -1952,6 +1957,16 @@ nanomatch@^1.2.9:
19521957
snapdragon "^0.8.1"
19531958
to-regex "^3.0.1"
19541959

1960+
ncc@^0.3.6:
1961+
version "0.3.6"
1962+
resolved "https://registry.yarnpkg.com/ncc/-/ncc-0.3.6.tgz#11b47af973d7f2374af46bc0d8533366acc908eb"
1963+
integrity sha1-EbR6+XPX8jdK9GvA2FMzZqzJCOs=
1964+
dependencies:
1965+
mkdirp "^0.5.1"
1966+
rimraf "^2.6.1"
1967+
tracer "^0.8.7"
1968+
ws "^2.3.1"
1969+
19551970
needle@^2.2.1:
19561971
version "2.2.4"
19571972
resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e"
@@ -2494,6 +2509,11 @@ [email protected], safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, s
24942509
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
24952510
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
24962511

2512+
safe-buffer@~5.0.1:
2513+
version "5.0.1"
2514+
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
2515+
integrity sha1-0mPKVGls2KMGtcplUekt5XkY++c=
2516+
24972517
safe-regex@^1.1.0:
24982518
version "1.1.0"
24992519
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
@@ -2823,6 +2843,11 @@ timed-out@^4.0.0:
28232843
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
28242844
integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=
28252845

2846+
2847+
version "0.1.1"
2848+
resolved "https://registry.yarnpkg.com/tinytim/-/tinytim-0.1.1.tgz#c968a1e5559ad9553224ef7627bab34e3caef8a8"
2849+
integrity sha1-yWih5VWa2VUyJO92J7qzTjyu+Kg=
2850+
28262851
to-object-path@^0.3.0:
28272852
version "0.3.0"
28282853
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
@@ -2860,6 +2885,16 @@ touch@^3.1.0:
28602885
dependencies:
28612886
nopt "~1.0.10"
28622887

2888+
tracer@^0.8.7:
2889+
version "0.8.15"
2890+
resolved "https://registry.yarnpkg.com/tracer/-/tracer-0.8.15.tgz#c4bb5b8c788ed3d7106c081288e22fd5a5abc474"
2891+
integrity sha512-ZQzlhd6zZFIpAhACiZkxLjl65XqVwi8t8UEBVGRIHAQN6nj55ftJWiFell+WSqWCP/vEycrIbUSuiyMwul+TFw==
2892+
dependencies:
2893+
colors "1.2.3"
2894+
dateformat "3.0.3"
2895+
mkdirp "^0.5.1"
2896+
tinytim "0.1.1"
2897+
28632898
ts-node@^8.0.2:
28642899
version "8.0.2"
28652900
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.0.2.tgz#9ecdf8d782a0ca4c80d1d641cbb236af4ac1b756"
@@ -2919,10 +2954,15 @@ typeorm@^0.2.13:
29192954
yargonaut "^1.1.2"
29202955
yargs "^12.0.5"
29212956

2922-
typescript@^3.3.3333:
2923-
version "3.3.3333"
2924-
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.3333.tgz#171b2c5af66c59e9431199117a3bcadc66fdcfd6"
2925-
integrity sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==
2957+
typescript@^3.3.4000:
2958+
version "3.3.4000"
2959+
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.4000.tgz#76b0f89cfdbf97827e1112d64f283f1151d6adf0"
2960+
integrity sha512-jjOcCZvpkl2+z7JFn0yBOoLQyLoIkNZAs/fYJkUG6VKy6zLPHJGfQJYFHzibB6GJaF/8QrcECtlQ5cpvRHSMEA==
2961+
2962+
ultron@~1.1.0:
2963+
version "1.1.1"
2964+
resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
2965+
integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==
29262966

29272967
undefsafe@^2.0.2:
29282968
version "2.0.2"
@@ -3079,6 +3119,14 @@ write-file-atomic@^2.0.0:
30793119
imurmurhash "^0.1.4"
30803120
signal-exit "^3.0.2"
30813121

3122+
ws@^2.3.1:
3123+
version "2.3.1"
3124+
resolved "https://registry.yarnpkg.com/ws/-/ws-2.3.1.tgz#6b94b3e447cb6a363f785eaf94af6359e8e81c80"
3125+
integrity sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=
3126+
dependencies:
3127+
safe-buffer "~5.0.1"
3128+
ultron "~1.1.0"
3129+
30823130
xdg-basedir@^3.0.0:
30833131
version "3.0.0"
30843132
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4"

0 commit comments

Comments
 (0)