Skip to content

Commit 5626f99

Browse files
committed
feat: support pnpm
Signed-off-by: Qi Zhang <smallqi1@163.com>
1 parent 8f88a68 commit 5626f99

2 files changed

Lines changed: 187 additions & 0 deletions

File tree

buildpack.toml

Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ api = "0.7"
44
homepage = "https://github.com/paketo-buildpacks/nodejs"
55
id = "paketo-buildpacks/nodejs"
66
name = "Paketo Buildpack for Node.js"
7+
version = "10.0.3"
78

89
[[buildpack.licenses]]
910
type = "Apache-2.0"
@@ -12,6 +13,51 @@ api = "0.7"
1213
[metadata]
1314
include-files = ["buildpack.toml"]
1415

16+
# yarn + nginx for frontend/SPA builds (must be before yarn to take priority when nginx detects)
17+
[[order]]
18+
19+
[[order.group]]
20+
id = "paketo-buildpacks/ca-certificates"
21+
optional = true
22+
version = "3.11.0"
23+
24+
[[order.group]]
25+
id = "paketo-buildpacks/node-engine"
26+
version = "8.0.2"
27+
28+
[[order.group]]
29+
id = "paketo-buildpacks/yarn"
30+
version = "2.2.18"
31+
32+
[[order.group]]
33+
id = "paketo-buildpacks/yarn-install"
34+
version = "2.7.0"
35+
36+
[[order.group]]
37+
id = "paketo-buildpacks/node-run-script"
38+
optional = true
39+
version = "2.3.20"
40+
41+
[[order.group]]
42+
id = "paketo-buildpacks/nginx"
43+
version = "1.0.12"
44+
45+
[[order.group]]
46+
id = "paketo-buildpacks/procfile"
47+
optional = true
48+
version = "5.12.0"
49+
50+
[[order.group]]
51+
id = "paketo-buildpacks/environment-variables"
52+
optional = true
53+
version = "4.10.0"
54+
55+
[[order.group]]
56+
id = "paketo-buildpacks/image-labels"
57+
optional = true
58+
version = "4.11.0"
59+
60+
# yarn for Node.js backend apps
1561
[[order]]
1662

1763
[[order.group]]
@@ -71,6 +117,137 @@ api = "0.7"
71117
optional = true
72118
version = "4.11.0"
73119

120+
# pnpm + nginx for frontend/SPA builds (must be before pnpm to take priority when nginx detects)
121+
[[order]]
122+
123+
[[order.group]]
124+
id = "paketo-buildpacks/ca-certificates"
125+
optional = true
126+
version = "3.11.0"
127+
128+
[[order.group]]
129+
id = "paketo-buildpacks/node-engine"
130+
version = "8.0.2"
131+
132+
[[order.group]]
133+
id = "goodrain/pnpm-install"
134+
version = "2.3.3"
135+
136+
[[order.group]]
137+
id = "paketo-buildpacks/node-run-script"
138+
optional = true
139+
version = "2.3.20"
140+
141+
[[order.group]]
142+
id = "paketo-buildpacks/nginx"
143+
version = "1.0.12"
144+
145+
[[order.group]]
146+
id = "paketo-buildpacks/procfile"
147+
optional = true
148+
version = "5.12.0"
149+
150+
[[order.group]]
151+
id = "paketo-buildpacks/environment-variables"
152+
optional = true
153+
version = "4.10.0"
154+
155+
[[order.group]]
156+
id = "paketo-buildpacks/image-labels"
157+
optional = true
158+
version = "4.11.0"
159+
160+
# pnpm for Node.js backend apps
161+
[[order]]
162+
163+
[[order.group]]
164+
id = "paketo-buildpacks/ca-certificates"
165+
optional = true
166+
version = "3.11.0"
167+
168+
[[order.group]]
169+
id = "paketo-buildpacks/watchexec"
170+
optional = true
171+
version = "3.6.1"
172+
173+
[[order.group]]
174+
id = "paketo-buildpacks/cpython"
175+
optional = true
176+
version = "1.18.11"
177+
178+
[[order.group]]
179+
id = "paketo-buildpacks/node-engine"
180+
version = "8.0.2"
181+
182+
[[order.group]]
183+
id = "goodrain/pnpm-install"
184+
version = "2.3.3"
185+
186+
[[order.group]]
187+
id = "paketo-buildpacks/node-run-script"
188+
optional = true
189+
version = "2.3.20"
190+
191+
[[order.group]]
192+
id = "goodrain/pnpm-start"
193+
version = "2.4.3"
194+
195+
[[order.group]]
196+
id = "paketo-buildpacks/procfile"
197+
optional = true
198+
version = "5.12.0"
199+
200+
[[order.group]]
201+
id = "paketo-buildpacks/environment-variables"
202+
optional = true
203+
version = "4.10.0"
204+
205+
[[order.group]]
206+
id = "paketo-buildpacks/image-labels"
207+
optional = true
208+
version = "4.11.0"
209+
210+
# npm + nginx for frontend/SPA builds (must be before npm to take priority when nginx detects)
211+
[[order]]
212+
213+
[[order.group]]
214+
id = "paketo-buildpacks/ca-certificates"
215+
optional = true
216+
version = "3.11.0"
217+
218+
[[order.group]]
219+
id = "paketo-buildpacks/node-engine"
220+
version = "8.0.2"
221+
222+
[[order.group]]
223+
id = "paketo-buildpacks/npm-install"
224+
version = "2.3.3"
225+
226+
[[order.group]]
227+
id = "paketo-buildpacks/node-run-script"
228+
optional = true
229+
version = "2.3.20"
230+
231+
[[order.group]]
232+
id = "paketo-buildpacks/nginx"
233+
version = "1.0.12"
234+
235+
[[order.group]]
236+
id = "paketo-buildpacks/procfile"
237+
optional = true
238+
version = "5.12.0"
239+
240+
[[order.group]]
241+
id = "paketo-buildpacks/environment-variables"
242+
optional = true
243+
version = "4.10.0"
244+
245+
[[order.group]]
246+
id = "paketo-buildpacks/image-labels"
247+
optional = true
248+
version = "4.11.0"
249+
250+
# npm for Node.js backend apps
74251
[[order]]
75252

76253
[[order.group]]
@@ -126,6 +303,7 @@ api = "0.7"
126303
optional = true
127304
version = "4.11.0"
128305

306+
# Simple Node.js apps with just node-start
129307
[[order]]
130308

131309
[[order.group]]

package.toml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@
2626
[[dependencies]]
2727
uri = "docker://docker.io/paketobuildpacks/yarn-start:2.5.3"
2828

29+
[[dependencies]]
30+
uri = "docker://docker.io/rainbond/pnpm-install:2.3.3"
31+
32+
[[dependencies]]
33+
uri = "docker://docker.io/rainbond/pnpm-start:2.4.3"
34+
2935
[[dependencies]]
3036
uri = "docker://docker.io/paketobuildpacks/procfile:5.12.0"
3137

@@ -44,6 +50,9 @@
4450
[[dependencies]]
4551
uri = "docker://docker.io/paketobuildpacks/watchexec:3.6.1"
4652

53+
[[dependencies]]
54+
uri = "docker://docker.io/paketobuildpacks/nginx:1.0.12"
55+
4756
[[targets]]
4857
arch = "amd64"
4958
os = "linux"

0 commit comments

Comments
 (0)