Skip to content

Commit 8beca12

Browse files
authored
Merge pull request #42 from nodenv/npm
Metadata cleanup for npm release
2 parents f9bacf6 + 1976277 commit 8beca12

File tree

5 files changed

+51
-66
lines changed

5 files changed

+51
-66
lines changed

.gitignore

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
node_modules/
2-
test/nodenv/
3-
yarn-error.log
1+
/node_modules
2+
/nodenv-nodenv-package-json-engine-*.tgz

package-lock.json

Lines changed: 16 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
{
2-
"name": "nodenv-package-json-engine",
2+
"name": "@nodenv/nodenv-package-json-engine",
33
"version": "3.0.2",
4-
"private": true,
54
"description": "Activate a nodenv node version from package.json engines",
65
"homepage": "https://github.com/nodenv/nodenv-package-json-engine#readme",
76
"license": "MIT",
@@ -21,16 +20,24 @@
2120
"testnodenv": "test/nodenv",
2221
"test": "test"
2322
},
23+
"files": [
24+
"bin",
25+
"etc",
26+
"libexec"
27+
],
2428
"scripts": {
2529
"lint": "git ls-files bin etc libexec test/*.bash | xargs shellcheck",
26-
"pretest": "[ -d $npm_package_directories_testnodenv ] || git clone --quiet --depth 1 https://github.com/nodenv/nodenv $npm_package_directories_testnodenv",
27-
"test": "PATH=$PWD/$npm_package_directories_testnodenv/bin:$PATH bats ${CI:+--tap} test",
30+
"test": "bats ${CI:+--tap} test",
2831
"posttest": "npm run lint",
29-
"publish:brew": "brew-publish $npm_package_name v$npm_package_version",
30-
"postversion": "git push --follow-tags && npm run publish:brew"
32+
"postversion": "npm publish",
33+
"prepublishOnly": "npm run publish:github && npm run publish:brew",
34+
"publish:brew": "brew-publish",
35+
"publish:github": "git push --follow-tags"
3136
},
3237
"devDependencies": {
33-
"bats": "^0.4.2",
38+
"@nodenv/nodenv": "^1.1.2",
39+
"bats": "^1.1.0",
40+
"bats-assert": "^1.1.1",
3441
"brew-publish": "^2.3.1"
3542
},
3643
"dependencies": {

test/nodenv-package-json-engine.bats

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#!/usr/bin/env bats
2-
# Tests of basic usage and functionality
32

43
load test_helper
54

@@ -46,7 +45,7 @@ load test_helper
4645
assert [ "$status" -eq 1 ]
4746
}
4847

49-
@test 'Prefers `nodenv local` over package.json' {
48+
@test 'Prefers nodenv-local over package.json' {
5049
create_version 4.2.1
5150
create_version 5.0.0
5251
cd_into_package 4.2.1
@@ -56,7 +55,7 @@ load test_helper
5655
assert_success "5.0.0 (set by $PWD/.node-version)"
5756
}
5857

59-
@test 'Prefers `nodenv shell` over package.json' {
58+
@test 'Prefers nodenv-shell over package.json' {
6059
create_version 5.0.0
6160
cd_into_package 4.2.1
6261
eval "$(nodenv sh-shell 5.0.0)"
@@ -65,7 +64,7 @@ load test_helper
6564
assert_success "5.0.0 (set by NODENV_VERSION environment variable)"
6665
}
6766

68-
@test 'Prefers package.json over `nodenv global`' {
67+
@test 'Prefers package.json over nodenv-global' {
6968
create_version 4.2.1
7069
create_version 5.0.0
7170
cd_into_package 4.2.1
@@ -75,7 +74,7 @@ load test_helper
7574
assert_success '4.2.1'
7675
}
7776

78-
@test 'Is not confused by `nodenv shell` shadowing `nodenv global`' {
77+
@test 'Is not confused by nodenv-shell shadowing nodenv-global' {
7978
create_version 4.2.1
8079
create_version 5.0.0
8180
cd_into_package 4.2.1
@@ -87,6 +86,7 @@ load test_helper
8786
}
8887

8988
@test 'Does not match babel preset env settings' {
89+
create_version 4.2.1
9090
cd_into_babel_env_package
9191
run nodenv version-name
9292
assert_success 'system'

test/test_helper.bash

Lines changed: 14 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,27 @@
11
# shellcheck shell=bash
22

3-
EXAMPLE_PACKAGE_DIR="$BATS_TMPDIR/example_package"
4-
TEST_BASENAME="$(basename "$BATS_TEST_DIRNAME")"
5-
# TODO: Should this just be $(dirname ...) ?
6-
PLUGIN_ROOT="${BATS_TEST_DIRNAME%${TEST_BASENAME}}"
3+
load ../node_modules/bats-assert/all
74

85
setup() {
9-
export NODENV_ROOT="$BATS_TMPDIR/nodenv_root"
10-
unset NODENV_VERSION # don't leak version from test runner
11-
mkdir -p "$NODENV_ROOT/plugins"
12-
ln -s "$PLUGIN_ROOT" "$NODENV_ROOT/plugins/package-json-engine"
13-
}
6+
# common nodenv setup
7+
unset NODENV_VERSION
148

15-
teardown() {
16-
rm -r "$EXAMPLE_PACKAGE_DIR"
17-
rm -r "$NODENV_ROOT"
18-
}
9+
local node_modules_bin=$BATS_TEST_DIRNAME/../node_modules/.bin
10+
local plugin_bin=$BATS_TEST_DIRNAME/../bin
1911

20-
assert() {
21-
if ! "$@"; then
22-
flunk "failed: $*"
23-
fi
24-
}
12+
export PATH="$plugin_bin:$node_modules_bin:/usr/bin:/bin:/usr/sbin:/sbin"
2513

26-
assert_equal() {
27-
if [ "$1" != "$2" ]; then
28-
{ echo "expected: $1"
29-
echo "actual: $2"
30-
} | flunk
31-
fi
32-
}
14+
export NODENV_ROOT="$BATS_TMPDIR/nodenv_root"
15+
export NODENV_HOOK_PATH="$BATS_TEST_DIRNAME/../etc/nodenv.d"
16+
17+
# unique
3318

34-
assert_output() {
35-
local expected
36-
if [ $# -eq 0 ]; then expected="$(cat -)"
37-
else expected="$1"
38-
fi
39-
# shellcheck disable=SC2154
40-
assert_equal "$expected" "$output"
19+
EXAMPLE_PACKAGE_DIR="$BATS_TMPDIR/example_package"
4120
}
4221

43-
assert_success() {
44-
# shellcheck disable=SC2154
45-
if [ "$status" -ne 0 ]; then
46-
flunk "command failed with exit status $status"
47-
elif [ "$#" -gt 0 ]; then
48-
assert_output "$1"
49-
fi
22+
teardown() {
23+
rm -r "$EXAMPLE_PACKAGE_DIR"
24+
rm -r "$NODENV_ROOT"
5025
}
5126

5227
# cd_into_package nodeVersion [extraArgs]
@@ -85,11 +60,3 @@ create_version() {
8560
mkdir -p "$d"
8661
ln -s /bin/echo "$d/node"
8762
}
88-
89-
flunk() {
90-
{ if [ "$#" -eq 0 ]; then cat -
91-
else echo "$@"
92-
fi
93-
} >&2
94-
return 1
95-
}

0 commit comments

Comments
 (0)