Skip to content

Commit 9a4eb91

Browse files
committed
Merge branch 'master' of github.com:graphcool/serverless-plugin-typescript
2 parents 825594d + 2a0d8e5 commit 9a4eb91

File tree

9 files changed

+271
-9
lines changed

9 files changed

+271
-9
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
node_modules
22
.DS_Store
33
.idea
4+
.serverless
45
dist

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# serverless-plugin-typescript
22

3-
[![serverless](http://public.serverless.com/badges/v3.svg)](http://www.serverless.com) [![npm version](https://badge.fury.io/js/serverless-plugin-typescript.svg)](https://badge.fury.io/js/serverless-plugin-typescript)
3+
[![serverless](http://public.serverless.com/badges/v3.svg)](http://www.serverless.com) [![npm version](https://badge.fury.io/js/serverless-plugin-typescript.svg)](https://badge.fury.io/js/serverless-plugin-typescript) [![CircleCI](https://circleci.com/gh/graphcool/serverless-plugin-typescript.svg?style=svg)](https://circleci.com/gh/graphcool/serverless-plugin-typescript)
44

55
Serverless plugin for zero-config Typescript support
66

circle.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
machine:
2+
node:
3+
version: 6.10
4+
5+
dependencies:
6+
override:
7+
- yarn
8+
cache_directories:
9+
- ~/.cache/yarn

example/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"dependencies": {
3-
"@types/lodash": "^4.14.62",
4-
"lodash": "^4.17.4"
3+
"@types/lodash": "^4.14.63",
4+
"lodash": "^4.17.4",
5+
"serverless-plugin-typescript": "^0.1.2"
56
}
67
}

example/yarn.lock

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,45 @@
22
# yarn lockfile v1
33

44

5-
"@types/lodash@^4.14.62":
6-
version "4.14.62"
7-
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.62.tgz#8674f9861582148a60b7a89cb260f11378d11683"
5+
"@types/lodash@^4.14.63":
6+
version "4.14.63"
7+
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.63.tgz#5ac475f55bfdc62bc88c4239dbc482f2f3bead93"
8+
9+
fs-extra@^2.0.0:
10+
version "2.1.2"
11+
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35"
12+
dependencies:
13+
graceful-fs "^4.1.2"
14+
jsonfile "^2.1.0"
15+
16+
fs-p@^2.0.0:
17+
version "2.0.0"
18+
resolved "https://registry.yarnpkg.com/fs-p/-/fs-p-2.0.0.tgz#66784a012473c700b68fb76ac2120eccc6b0602b"
19+
dependencies:
20+
fs-extra "^2.0.0"
21+
22+
graceful-fs@^4.1.2, graceful-fs@^4.1.6:
23+
version "4.1.11"
24+
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
25+
26+
jsonfile@^2.1.0:
27+
version "2.4.0"
28+
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
29+
optionalDependencies:
30+
graceful-fs "^4.1.6"
831

932
lodash@^4.17.4:
1033
version "4.17.4"
1134
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
35+
36+
serverless-plugin-typescript@^0.1.2:
37+
version "0.1.2"
38+
resolved "https://registry.yarnpkg.com/serverless-plugin-typescript/-/serverless-plugin-typescript-0.1.2.tgz#ca0deeb9f755178df7784454b5b0164dad6b7de6"
39+
dependencies:
40+
fs-p "^2.0.0"
41+
lodash "^4.17.4"
42+
typescript "^2.2.2"
43+
44+
typescript@^2.2.2:
45+
version "2.3.0"
46+
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.3.0.tgz#2e63e09284392bc8158a2444c33e2093795c0418"

package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,14 @@
88
],
99
"scripts": {
1010
"prepublish": "npm run build",
11-
"build": "rm -rf dist && tsc"
11+
"build": "rm -rf dist && tsc",
12+
"test": "npm run lint",
13+
"lint": "tslint -c tslint.json 'src/**/*.ts'"
1214
},
1315
"devDependencies": {
1416
"@types/fs-extra": "^2.0.0",
15-
"@types/lodash": "^4.14.62"
17+
"@types/lodash": "^4.14.62",
18+
"tslint": "^5.1.0"
1619
},
1720
"dependencies": {
1821
"fs-p": "^2.0.0",

src/typescript.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ export function extractFileNames(functions: { [key: string]: ServerlessFunction
99
.map(fn => fn.handler)
1010
.map(h => {
1111
const fnName = _.last(h.split('.'))
12-
return h.replace(fnName, 'ts')
12+
const fnNameLastAppearanceIndex = h.lastIndexOf(fnName)
13+
// replace only last instance to allow the same name for file and handler
14+
return h.substring(0, fnNameLastAppearanceIndex) + 'ts'
1315
})
1416
}
1517

tslint.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"defaultSeverity": "error",
3+
"extends": [
4+
"tslint:recommended"
5+
],
6+
"jsRules": {},
7+
"rules": {
8+
"semicolon": [true, "never"],
9+
"quotemark": [true, "single"],
10+
"ordered-imports": false,
11+
"member-access": false,
12+
"arrow-parens": false,
13+
"max-line-length": false,
14+
"no-console": false,
15+
"object-literal-sort-keys": false,
16+
"member-ordering": false,
17+
"eofline": false,
18+
"trailing-comma": false,
19+
"ban-types": false,
20+
"interface-name": false,
21+
"forin": false,
22+
"no-empty-interface": false
23+
},
24+
"rulesDirectory": []
25+
}

yarn.lock

Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,69 @@
1616
version "7.0.12"
1717
resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.12.tgz#ae5f67a19c15f752148004db07cbbb372e69efc9"
1818

19+
ansi-regex@^2.0.0:
20+
version "2.1.1"
21+
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
22+
23+
ansi-styles@^2.2.1:
24+
version "2.2.1"
25+
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
26+
27+
babel-code-frame@^6.22.0:
28+
version "6.22.0"
29+
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
30+
dependencies:
31+
chalk "^1.1.0"
32+
esutils "^2.0.2"
33+
js-tokens "^3.0.0"
34+
35+
balanced-match@^0.4.1:
36+
version "0.4.2"
37+
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
38+
39+
brace-expansion@^1.0.0:
40+
version "1.1.7"
41+
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59"
42+
dependencies:
43+
balanced-match "^0.4.1"
44+
concat-map "0.0.1"
45+
46+
chalk@^1.1.0:
47+
version "1.1.3"
48+
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
49+
dependencies:
50+
ansi-styles "^2.2.1"
51+
escape-string-regexp "^1.0.2"
52+
has-ansi "^2.0.0"
53+
strip-ansi "^3.0.0"
54+
supports-color "^2.0.0"
55+
56+
colors@^1.1.2:
57+
version "1.1.2"
58+
resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
59+
60+
concat-map@0.0.1:
61+
version "0.0.1"
62+
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
63+
64+
diff@^3.2.0:
65+
version "3.2.0"
66+
resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9"
67+
68+
escape-string-regexp@^1.0.2:
69+
version "1.0.5"
70+
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
71+
72+
esutils@^2.0.2:
73+
version "2.0.2"
74+
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
75+
76+
findup-sync@~0.3.0:
77+
version "0.3.0"
78+
resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.3.0.tgz#37930aa5d816b777c03445e1966cc6790a4c0b16"
79+
dependencies:
80+
glob "~5.0.0"
81+
1982
fs-extra@^2.0.0:
2083
version "2.1.2"
2184
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35"
@@ -29,10 +92,56 @@ fs-p@^2.0.0:
2992
dependencies:
3093
fs-extra "^2.0.0"
3194

95+
fs.realpath@^1.0.0:
96+
version "1.0.0"
97+
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
98+
99+
glob@^7.1.1:
100+
version "7.1.1"
101+
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
102+
dependencies:
103+
fs.realpath "^1.0.0"
104+
inflight "^1.0.4"
105+
inherits "2"
106+
minimatch "^3.0.2"
107+
once "^1.3.0"
108+
path-is-absolute "^1.0.0"
109+
110+
glob@~5.0.0:
111+
version "5.0.15"
112+
resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
113+
dependencies:
114+
inflight "^1.0.4"
115+
inherits "2"
116+
minimatch "2 || 3"
117+
once "^1.3.0"
118+
path-is-absolute "^1.0.0"
119+
32120
graceful-fs@^4.1.2, graceful-fs@^4.1.6:
33121
version "4.1.11"
34122
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
35123

124+
has-ansi@^2.0.0:
125+
version "2.0.0"
126+
resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
127+
dependencies:
128+
ansi-regex "^2.0.0"
129+
130+
inflight@^1.0.4:
131+
version "1.0.6"
132+
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
133+
dependencies:
134+
once "^1.3.0"
135+
wrappy "1"
136+
137+
inherits@2:
138+
version "2.0.3"
139+
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
140+
141+
js-tokens@^3.0.0:
142+
version "3.0.1"
143+
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
144+
36145
jsonfile@^2.1.0:
37146
version "2.4.0"
38147
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
@@ -43,6 +152,83 @@ lodash@^4.17.4:
43152
version "4.17.4"
44153
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
45154

155+
"minimatch@2 || 3", minimatch@^3.0.2:
156+
version "3.0.3"
157+
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
158+
dependencies:
159+
brace-expansion "^1.0.0"
160+
161+
minimist@~0.0.1:
162+
version "0.0.10"
163+
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
164+
165+
once@^1.3.0:
166+
version "1.4.0"
167+
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
168+
dependencies:
169+
wrappy "1"
170+
171+
optimist@~0.6.0:
172+
version "0.6.1"
173+
resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
174+
dependencies:
175+
minimist "~0.0.1"
176+
wordwrap "~0.0.2"
177+
178+
path-is-absolute@^1.0.0:
179+
version "1.0.1"
180+
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
181+
182+
path-parse@^1.0.5:
183+
version "1.0.5"
184+
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
185+
186+
resolve@^1.3.2:
187+
version "1.3.3"
188+
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5"
189+
dependencies:
190+
path-parse "^1.0.5"
191+
192+
semver@^5.3.0:
193+
version "5.3.0"
194+
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
195+
196+
strip-ansi@^3.0.0:
197+
version "3.0.1"
198+
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
199+
dependencies:
200+
ansi-regex "^2.0.0"
201+
202+
supports-color@^2.0.0:
203+
version "2.0.0"
204+
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
205+
206+
tslint@^5.1.0:
207+
version "5.1.0"
208+
resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.1.0.tgz#51a47baeeb58956fcd617bd2cf00e2ef0eea2ed9"
209+
dependencies:
210+
babel-code-frame "^6.22.0"
211+
colors "^1.1.2"
212+
diff "^3.2.0"
213+
findup-sync "~0.3.0"
214+
glob "^7.1.1"
215+
optimist "~0.6.0"
216+
resolve "^1.3.2"
217+
semver "^5.3.0"
218+
tsutils "^1.4.0"
219+
220+
tsutils@^1.4.0:
221+
version "1.7.0"
222+
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-1.7.0.tgz#2e63ccc2d6912bb095f7e363ff4100721dc86f50"
223+
46224
typescript@^2.2.2:
47225
version "2.3.0"
48226
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.3.0.tgz#2e63e09284392bc8158a2444c33e2093795c0418"
227+
228+
wordwrap@~0.0.2:
229+
version "0.0.3"
230+
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
231+
232+
wrappy@1:
233+
version "1.0.2"
234+
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"

0 commit comments

Comments
 (0)