Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
H
heroku-buildpack-nodejs
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Python-Dev
heroku-buildpack-nodejs
Commits
c75b1413
Commit
c75b1413
authored
Oct 10, 2013
by
zeke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
improve build output; all tests passing again
parent
1200fbb9
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
40 additions
and
14 deletions
+40
-14
common.sh
bin/common.sh
+1
-1
compile
bin/compile
+10
-8
test
bin/test
+13
-5
README.md
test/invalid-dependency/README.md
+1
-0
package.json
test/invalid-dependency/package.json
+15
-0
No files found.
bin/common.sh
View file @
c75b1413
...
@@ -10,7 +10,7 @@ status() {
...
@@ -10,7 +10,7 @@ status() {
protip
()
{
protip
()
{
echo
echo
echo
"PRO TIP:
$*
"
| indent
echo
"PRO TIP:
$*
"
| indent
echo
"See https://devcenter.heroku.com/articles/nodejs-support"
echo
"See https://devcenter.heroku.com/articles/nodejs-support"
| indent
echo
echo
}
}
...
...
bin/compile
View file @
c75b1413
...
@@ -20,28 +20,30 @@ trap cat_npm_debug_log ERR
...
@@ -20,28 +20,30 @@ trap cat_npm_debug_log ERR
# Look in package.json's engines.node field for a semver range
# Look in package.json's engines.node field for a semver range
semver_range
=
$(
cat
$build_dir
/package.json |
$bp_dir
/vendor/jq
-r
.engines.node
)
semver_range
=
$(
cat
$build_dir
/package.json |
$bp_dir
/vendor/jq
-r
.engines.node
)
# Resolve node version using semver.io
semver_url
=
http://semver.io/node/
$semver_range
node_version
=
$(
curl
--silent
$semver_url
)
# Recommend using semver ranges in a safe manner
# Recommend using semver ranges in a safe manner
if
[
"
$semver_range
"
==
"null"
]
;
then
if
[
"
$semver_range
"
==
"null"
]
;
then
protip
"Specify a node version in package.json"
protip
"Specify a node version in package.json"
semver_range
=
""
semver_range
=
""
elif
[
"
$semver_range
"
==
"*"
]
;
then
elif
[
"
$semver_range
"
==
"*"
]
;
then
protip
"
Don't use semver ranges like *
"
protip
"
Avoid using semver ranges like '*' in engines.node
"
elif
[
${
semver_range
:0:1
}
==
">"
]
;
then
elif
[
${
semver_range
:0:1
}
==
">"
]
;
then
protip
"
Don't use semver ranges starting with >
"
protip
"
Avoid using semver ranges starting with '>' in engines.node
"
fi
fi
# Resolve node version using semver.io
# Output info about requested range and resolved node version
semver_url
=
http://semver.io/node/
$semver_range
node_version
=
$(
curl
--silent
$semver_url
)
if
[
"
$semver_range
"
==
""
]
;
then
if
[
"
$semver_range
"
==
""
]
;
then
status
"Defaulting to latest stable node:
$node_version
"
status
"Defaulting to latest stable node:
$node_version
"
else
else
status
"Resolved node version for
$semver_range
is
$node_version
"
status
"Requested node range:
$semver_range
"
status
"Resolved node version:
$node_version
"
fi
fi
# Download node from Heroku's S3 mirror of nodejs.org/dist
# Download node from Heroku's S3 mirror of nodejs.org/dist
status
"Downloading and installing node
v
$node_version
"
status
"Downloading and installing node"
node_url
=
"http://s3pository.heroku.com/node/v
$node_version
/node-v
$node_version
-linux-x64.tar.gz"
node_url
=
"http://s3pository.heroku.com/node/v
$node_version
/node-v
$node_version
-linux-x64.tar.gz"
curl
$node_url
-s
-o
- |
tar
xzf -
-C
$build_dir
curl
$node_url
-s
-o
- |
tar
xzf -
-C
$build_dir
...
...
bin/test
View file @
c75b1413
...
@@ -21,15 +21,17 @@ testNoVersion() {
...
@@ -21,15 +21,17 @@ testNoVersion() {
testDangerousRangeStar
()
{
testDangerousRangeStar
()
{
compile
"dangerous-range-star"
compile
"dangerous-range-star"
assertCaptured
"PRO TIP: Don't use semver ranges like *"
assertCaptured
"PRO TIP: Avoid using semver ranges like '*'"
assertCaptured
"Requested node range: *"
assertCaptured
"Resolved node version: 0.10"
assertCapturedSuccess
assertCapturedSuccess
}
}
testDangerousRangeGreaterThan
()
{
testDangerousRangeGreaterThan
()
{
compile
"dangerous-range-greater-than"
compile
"dangerous-range-greater-than"
assertCaptured
"PRO TIP: Don't use semver ranges starting with >"
assertCaptured
"PRO TIP: Avoid using semver ranges starting with '>'"
assertCaptured
"Resolved node version for >"
assertCaptured
"Requested node range: >"
assertCaptured
"Resolved node version: 0.10."
assertCapturedSuccess
assertCapturedSuccess
}
}
...
@@ -42,7 +44,8 @@ testStableVersion() {
...
@@ -42,7 +44,8 @@ testStableVersion() {
testUnstableVersion
()
{
testUnstableVersion
()
{
compile
"unstable-version"
compile
"unstable-version"
assertCaptured
"Resolved node version for >0.11.0 is 0.11"
assertCaptured
"Requested node range: >0.11.0"
assertCaptured
"Resolved node version: 0.11."
assertCapturedSuccess
assertCapturedSuccess
}
}
...
@@ -51,6 +54,11 @@ testUnstableVersion() {
...
@@ -51,6 +54,11 @@ testUnstableVersion() {
# assertCapturedError 1 "not found among available versions"
# assertCapturedError 1 "not found among available versions"
# }
# }
# testInvalidVersion() {
# compile "invalid-dependency"
# assertCapturedError 1 "not in the npm registry"
# }
testProfileCreated
()
{
testProfileCreated
()
{
compile
"stable-node"
compile
"stable-node"
assertCaptured
"Building runtime environment"
assertCaptured
"Building runtime environment"
...
...
test/invalid-dependency/README.md
0 → 100644
View file @
c75b1413
A fake README, to keep npm from polluting stderr.
\ No newline at end of file
test/invalid-dependency/package.json
0 → 100644
View file @
c75b1413
{
"name"
:
"node-buildpack-test-app"
,
"version"
:
"0.0.1"
,
"description"
:
"node buildpack integration test app"
,
"repository"
:
{
"type"
:
"git"
,
"url"
:
"http://github.com/example/example.git"
},
"engines"
:
{
"node"
:
"~0.10.20"
},
"dependencies"
:
{
"some-crazy-dep-that-doesnt-exist"
:
"*"
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment