Linux worldls-302.fr.planethoster.net 4.18.0-553.8.1.lve.el7h.x86_64 #1 SMP Thu Jul 4 15:19:33 UTC 2024 x86_64
LiteSpeed
Server IP : 10.185.0.203 & Your IP : 216.73.216.32
Domains :
Cant Read [ /etc/named.conf ]
User : gerathty
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
local /
lib /
node_modules /
npm /
test /
tap /
Delete
Unzip
Name
Size
Permission
Date
Action
00-check-mock-dep.js
500
B
-rw-r--r--
2017-11-15 05:31
00-config-setup.js
2.75
KB
-rw-r--r--
2017-11-15 05:31
00-verify-bundle-deps.js
377
B
-rw-r--r--
2017-11-15 05:31
00-verify-ls-ok.js
628
B
-rw-r--r--
2017-11-15 05:31
00-verify-no-scoped.js
1.09
KB
-rw-r--r--
2017-11-15 05:31
404-parent.js
1.6
KB
-rw-r--r--
2017-11-15 05:31
404-private-registry-scoped.js
1.28
KB
-rw-r--r--
2017-11-15 05:31
404-private-registry.js
1.21
KB
-rw-r--r--
2017-11-15 05:31
access.js
11.92
KB
-rw-r--r--
2017-11-15 05:31
add-named-update-protocol-port.js
2.47
KB
-rw-r--r--
2017-11-15 05:31
add-remote-git-file.js
2.35
KB
-rw-r--r--
2017-11-28 04:37
add-remote-git-shrinkwrap.js
3.39
KB
-rw-r--r--
2017-11-15 05:31
add-remote-git-submodule.js
3.55
KB
-rw-r--r--
2017-11-15 05:31
add-remote-git.js
2.43
KB
-rw-r--r--
2017-11-15 05:31
adduser-always-auth.js
7.06
KB
-rw-r--r--
2017-11-28 02:58
adduser-legacy-auth.js
2.61
KB
-rw-r--r--
2017-11-15 05:31
adduser-oauth.js
2.36
KB
-rw-r--r--
2017-11-15 05:31
adduser-saml.js
2.36
KB
-rw-r--r--
2017-11-15 05:31
all-package-metadata-cache-stream-unit.js
3.68
KB
-rw-r--r--
2017-11-15 05:31
all-package-metadata-entry-stream-unit.js
5.46
KB
-rw-r--r--
2017-11-15 05:31
all-package-metadata-update-stream-unit.js
4.61
KB
-rw-r--r--
2017-11-15 05:31
all-package-metadata-write-stream-unit.js
3.53
KB
-rw-r--r--
2017-11-15 05:31
all-package-metadata.js
5.61
KB
-rw-r--r--
2017-11-15 05:31
anon-cli-metrics.js
3.98
KB
-rw-r--r--
2017-11-15 05:31
bearer-token-check.js
3.06
KB
-rw-r--r--
2017-11-28 04:37
bin.js
648
B
-rw-r--r--
2017-11-15 05:31
bitbucket-https-url-with-creds-package.js
1.9
KB
-rw-r--r--
2017-11-15 05:31
bitbucket-https-url-with-creds.js
1.83
KB
-rw-r--r--
2017-11-15 05:31
bitbucket-shortcut-package.js
1.89
KB
-rw-r--r--
2017-11-15 05:31
bitbucket-shortcut.js
1.84
KB
-rw-r--r--
2017-11-15 05:31
bugs.js
4.89
KB
-rw-r--r--
2017-11-15 05:31
build-already-built.js
2.01
KB
-rw-r--r--
2017-11-15 05:31
builtin-config.js
3.93
KB
-rw-r--r--
2017-11-28 02:58
bundled-dependencies-no-pkgjson.js
1.37
KB
-rw-r--r--
2017-11-15 05:31
bundled-dependencies-nonarray.js
1.71
KB
-rw-r--r--
2017-11-15 05:31
bundled-dependencies.js
2.62
KB
-rw-r--r--
2017-11-15 05:31
bundled-no-add-to-move.js
1.35
KB
-rw-r--r--
2017-11-15 05:31
bundled-transitive-deps.js
2.29
KB
-rw-r--r--
2017-11-15 05:31
cache-add-unpublished.js
798
B
-rw-r--r--
2017-11-15 05:31
cache-shasum-fork.js
2.71
KB
-rw-r--r--
2017-11-15 05:31
check-cpu-reqs.js
1.55
KB
-rw-r--r--
2017-11-15 05:31
check-engine-reqs.js
1.63
KB
-rw-r--r--
2017-11-15 05:31
check-install-self.js
1.64
KB
-rw-r--r--
2017-11-15 05:31
check-os-reqs.js
1.54
KB
-rw-r--r--
2017-11-15 05:31
check-permissions.js
2.39
KB
-rw-r--r--
2017-11-15 05:31
ci-header.js
3.17
KB
-rw-r--r--
2017-11-15 05:31
circular-dep.js
2.3
KB
-rw-r--r--
2017-11-15 05:31
config-basic.js
2.13
KB
-rw-r--r--
2017-11-28 04:37
config-builtin.js
1.37
KB
-rw-r--r--
2017-11-28 04:37
config-certfile.js
541
B
-rw-r--r--
2017-11-15 05:31
config-credentials.js
8.32
KB
-rw-r--r--
2017-11-15 05:31
config-edit.js
1.63
KB
-rw-r--r--
2017-11-28 02:58
config-list.js
1.8
KB
-rw-r--r--
2017-11-15 05:31
config-malformed.js
379
B
-rw-r--r--
2017-11-15 05:31
config-meta.js
3.98
KB
-rw-r--r--
2017-11-15 05:31
config-new-cafile.js
1.2
KB
-rw-r--r--
2017-11-15 05:31
config-private.js
1.81
KB
-rw-r--r--
2017-11-15 05:31
config-project.js
1.38
KB
-rw-r--r--
2017-11-15 05:31
config-save.js
2.13
KB
-rw-r--r--
2017-11-27 19:45
correct-mkdir.js
4.44
KB
-rw-r--r--
2017-11-15 05:31
cruft-test.js
942
B
-rw-r--r--
2017-11-15 05:31
debug-logs.js
2.91
KB
-rw-r--r--
2017-11-15 05:31
dedupe-scoped.js
3.6
KB
-rw-r--r--
2017-11-15 05:31
dedupe.js
2.52
KB
-rw-r--r--
2017-11-15 05:31
deprecate.js
3.94
KB
-rw-r--r--
2017-11-15 05:31
dist-tag.js
4.64
KB
-rw-r--r--
2017-11-15 05:31
do-not-remove-other-bins.js
2.96
KB
-rw-r--r--
2017-11-15 05:31
doctor.js
2.91
KB
-rw-r--r--
2017-11-15 05:31
extraneous-dep-cycle-ls-ok.js
1.48
KB
-rw-r--r--
2017-11-15 05:31
false-name.js
2
KB
-rw-r--r--
2017-11-15 05:31
fetch-package-metadata.js
1.54
KB
-rw-r--r--
2017-11-15 05:31
files-and-ignores.js
19.57
KB
-rw-r--r--
2017-11-28 04:37
full-warning-messages.js
2.78
KB
-rw-r--r--
2017-11-15 05:31
gently-rm-cmdshims.js
5.05
KB
-rw-r--r--
2017-11-15 05:31
gently-rm-linked-module.js
3.1
KB
-rw-r--r--
2017-11-15 05:31
gently-rm-overeager.js
1.43
KB
-rw-r--r--
2017-11-15 05:31
gently-rm-symlinked-global-dir.js
2.92
KB
-rw-r--r--
2017-11-15 05:31
get.js
2.27
KB
-rw-r--r--
2017-11-15 05:31
gist-short-shortcut-package.js
1.99
KB
-rw-r--r--
2017-11-15 05:31
gist-short-shortcut.js
1.95
KB
-rw-r--r--
2017-11-15 05:31
gist-shortcut-package.js
1.98
KB
-rw-r--r--
2017-11-15 05:31
gist-shortcut.js
1.91
KB
-rw-r--r--
2017-11-15 05:31
git-dependency-install-link.js
4.14
KB
-rw-r--r--
2017-11-15 05:31
git-npmignore.js
4.77
KB
-rw-r--r--
2017-11-15 05:31
git-prepare.js
3.91
KB
-rw-r--r--
2017-11-15 05:31
github-shortcut-package.js
1.96
KB
-rw-r--r--
2017-11-15 05:31
github-shortcut.js
1.96
KB
-rw-r--r--
2017-11-15 05:31
gitlab-shortcut-package.js
1.88
KB
-rw-r--r--
2017-11-15 05:31
gitlab-shortcut.js
1.85
KB
-rw-r--r--
2017-11-15 05:31
global-prefix-set-in-userconfig.js
843
B
-rw-r--r--
2017-11-15 05:31
graceful-restart.js
2.6
KB
-rw-r--r--
2017-11-15 05:31
help.js
625
B
-rw-r--r--
2017-11-15 05:31
ignore-install-link.js
1.91
KB
-rw-r--r--
2017-11-15 05:31
ignore-scripts.js
3.28
KB
-rw-r--r--
2017-11-15 05:31
init-interrupt.js
1.35
KB
-rw-r--r--
2017-11-15 05:31
install-actions.js
2.44
KB
-rw-r--r--
2017-11-15 05:31
install-at-locally.js
1.72
KB
-rw-r--r--
2017-11-15 05:31
install-bad-dep-format.js
1.24
KB
-rw-r--r--
2017-11-15 05:31
install-bad-man.js
1.7
KB
-rw-r--r--
2017-11-15 05:31
install-bin-null.js
1.79
KB
-rw-r--r--
2017-11-15 05:31
install-cli-only-development.js
2.77
KB
-rw-r--r--
2017-11-15 05:31
install-cli-only-production.js
2.02
KB
-rw-r--r--
2017-11-15 05:31
install-cli-only-shrinkwrap.js
3.16
KB
-rw-r--r--
2017-11-15 05:31
install-cli-production-nosave.js
1.36
KB
-rw-r--r--
2017-11-15 05:31
install-cli-production.js
2
KB
-rw-r--r--
2017-11-15 05:31
install-cli-unicode.js
1.45
KB
-rw-r--r--
2017-11-15 05:31
install-duplicate-deps-warning.js
1.53
KB
-rw-r--r--
2017-11-15 05:31
install-from-local.js
2.36
KB
-rw-r--r--
2017-11-15 05:31
install-into-likenamed-folder.js
998
B
-rw-r--r--
2017-11-15 05:31
install-link-scripts.js
2.68
KB
-rw-r--r--
2017-11-15 05:31
install-local-dep-cycle.js
1.41
KB
-rw-r--r--
2017-11-15 05:31
install-man.js
1.56
KB
-rw-r--r--
2017-11-15 05:31
install-noargs-dev.js
2.26
KB
-rw-r--r--
2017-11-15 05:31
install-order.js
1.1
KB
-rw-r--r--
2017-11-15 05:31
install-package-json-order.js
1.71
KB
-rw-r--r--
2017-11-15 05:31
install-package-lock-only.js
2.15
KB
-rw-r--r--
2017-11-28 04:37
install-parse-error.js
959
B
-rw-r--r--
2017-11-15 05:31
install-property-conflicts.js
1.51
KB
-rw-r--r--
2017-11-15 05:31
install-report-just-installed.js
1.54
KB
-rw-r--r--
2017-11-15 05:31
install-save-exact.js
2.5
KB
-rw-r--r--
2017-11-15 05:31
install-save-local.js
5.3
KB
-rw-r--r--
2017-11-15 05:31
install-save-prefix.js
4.17
KB
-rw-r--r--
2017-11-15 05:31
install-scoped-already-installed.js
3.62
KB
-rw-r--r--
2017-11-15 05:31
install-scoped-link.js
1.99
KB
-rw-r--r--
2017-11-15 05:31
install-scoped-with-bundled-dependency.js
1.76
KB
-rw-r--r--
2017-11-15 05:31
install-scoped-with-peer-dependency.js
1.39
KB
-rw-r--r--
2017-11-15 05:31
install-shrinkwrapped-git.js
4.3
KB
-rw-r--r--
2017-11-28 04:37
install-windows-newlines.js
2.13
KB
-rw-r--r--
2017-11-15 05:31
install-with-dev-dep-duplicate.js
1.85
KB
-rw-r--r--
2017-11-15 05:31
invalid-cmd-exit-code.js
1.03
KB
-rw-r--r--
2017-11-15 05:31
invalid-dep-version-filtering.js
3.26
KB
-rw-r--r--
2017-11-15 05:31
is-fs-access-available.js
1.88
KB
-rw-r--r--
2017-11-15 05:31
is-registry.js
1.19
KB
-rw-r--r--
2017-11-28 04:37
it.js
2.02
KB
-rw-r--r--
2017-11-15 05:31
legacy-ignore-nested-nm.js
1.72
KB
-rw-r--r--
2017-11-15 05:31
legacy-missing-bindir.js
1.77
KB
-rw-r--r--
2017-11-15 05:31
legacy-no-auth-leak.js
1.92
KB
-rw-r--r--
2017-11-15 05:31
legacy-platform-all.js
1.49
KB
-rw-r--r--
2017-11-15 05:31
legacy-platform.js
1.38
KB
-rw-r--r--
2017-11-15 05:31
legacy-private.js
1.26
KB
-rw-r--r--
2017-11-15 05:31
legacy-test-package.js
1.73
KB
-rw-r--r--
2017-11-15 05:31
lifecycle-INIT_CWD.js
1.09
KB
-rw-r--r--
2017-11-15 05:31
lifecycle-order.js
1.65
KB
-rw-r--r--
2017-11-15 05:31
link.js
5.79
KB
-rw-r--r--
2017-11-28 02:58
local-args-relative-to-cwd.js
1.25
KB
-rw-r--r--
2017-11-15 05:31
locker.js
2.22
KB
-rw-r--r--
2017-11-15 05:31
lockfile-http-deps.js
2.15
KB
-rw-r--r--
2017-11-28 04:37
logout-scoped.js
1.38
KB
-rw-r--r--
2017-11-15 05:31
logout.js
1.32
KB
-rw-r--r--
2017-11-15 05:31
ls-depth-cli.js
5.21
KB
-rw-r--r--
2017-11-15 05:31
ls-depth-unmet.js
4.16
KB
-rw-r--r--
2017-11-15 05:31
ls-env.js
3.22
KB
-rw-r--r--
2017-11-15 05:31
ls-l-depth-0.js
2.63
KB
-rw-r--r--
2017-11-15 05:31
ls-no-results.js
368
B
-rw-r--r--
2017-11-15 05:31
ls-production-and-dev.js
4.03
KB
-rw-r--r--
2017-11-15 05:31
ls-top-errors.js
1.37
KB
-rw-r--r--
2017-11-15 05:31
ls.js
4.27
KB
-rw-r--r--
2017-11-15 05:31
map-to-registry.js
4.91
KB
-rw-r--r--
2017-11-15 05:31
nerf-dart.js
1.19
KB
-rw-r--r--
2017-11-15 05:31
nested-extraneous.js
1.18
KB
-rw-r--r--
2017-11-15 05:31
no-global-warns.js
1.84
KB
-rw-r--r--
2017-11-15 05:31
no-scan-full-global-dir.js
2.94
KB
-rw-r--r--
2017-11-15 05:31
noargs-install-config-save.js
1.96
KB
-rw-r--r--
2017-11-15 05:31
node-modules-path-munge.js
986
B
-rw-r--r--
2017-11-15 05:31
normalize-package-explode.js
523
B
-rw-r--r--
2017-11-15 05:31
npm-api-not-loaded-error.js
1
KB
-rw-r--r--
2017-11-15 05:31
onload.js
1.27
KB
-rw-r--r--
2017-11-15 05:31
optional-metadep-rollback-collision.js
4.39
KB
-rw-r--r--
2017-11-28 04:37
outdated-bad-read-tree.js
489
B
-rw-r--r--
2017-11-15 05:31
outdated-color.js
1.56
KB
-rw-r--r--
2017-11-15 05:31
outdated-depth.js
1.49
KB
-rw-r--r--
2017-11-15 05:31
outdated-git.js
1.58
KB
-rw-r--r--
2017-11-15 05:31
outdated-json.js
2.09
KB
-rw-r--r--
2017-11-15 05:31
outdated-long.js
2.02
KB
-rw-r--r--
2017-11-15 05:31
outdated.js
2.58
KB
-rw-r--r--
2017-11-15 05:31
override-bundled.js
6.56
KB
-rw-r--r--
2017-11-15 05:31
owner.js
4.12
KB
-rw-r--r--
2017-11-15 05:31
pack-scoped.js
1.67
KB
-rw-r--r--
2017-11-15 05:31
peer-deps.js
1.45
KB
-rw-r--r--
2017-11-15 05:31
pick-manifest-from-registry-metadata.js
4.68
KB
-rw-r--r--
2017-11-15 05:31
ping.js
1.32
KB
-rw-r--r--
2017-11-15 05:31
prepare.js
1.79
KB
-rw-r--r--
2017-11-15 05:31
prepublish-only.js
3.02
KB
-rw-r--r--
2017-11-15 05:31
prepublish.js
2.67
KB
-rw-r--r--
2017-11-15 05:31
process-logger.js
543
B
-rw-r--r--
2017-11-28 04:37
progress-config.js
2.36
KB
-rw-r--r--
2017-11-15 05:31
prune-dev-dep-cycle.js
1.76
KB
-rw-r--r--
2017-11-15 05:31
prune-dev-dep-with-bins.js
2.6
KB
-rw-r--r--
2017-11-15 05:31
prune-with-dev-dep-duplicate.js
2.41
KB
-rw-r--r--
2017-11-15 05:31
prune-with-only-dev-deps.js
2.69
KB
-rw-r--r--
2017-11-15 05:31
prune.js
2.89
KB
-rw-r--r--
2017-11-15 05:31
publish-access-scoped.js
1.72
KB
-rw-r--r--
2017-11-15 05:31
publish-access-unscoped-restricted-fails.js
975
B
-rw-r--r--
2017-11-15 05:31
publish-access-unscoped.js
1.72
KB
-rw-r--r--
2017-11-15 05:31
publish-config.js
1.96
KB
-rw-r--r--
2017-11-15 05:31
publish-invalid-semver-tag.js
1.69
KB
-rw-r--r--
2017-11-15 05:31
publish-scoped.js
2.13
KB
-rw-r--r--
2017-11-15 05:31
pwd-prefix.js
985
B
-rw-r--r--
2017-11-15 05:31
referer.js
668
B
-rw-r--r--
2017-11-15 05:31
repo.js
4.07
KB
-rw-r--r--
2017-11-15 05:31
retry-on-stale-cache.js
5.59
KB
-rw-r--r--
2017-11-15 05:31
run-script-filter-private.js
1.1
KB
-rw-r--r--
2017-11-15 05:31
run-script.js
10.64
KB
-rw-r--r--
2017-11-15 05:31
scope-header.js
3.88
KB
-rw-r--r--
2017-11-15 05:31
scripts-whitespace-windows.js
2.4
KB
-rw-r--r--
2017-11-15 05:31
search.all-package-search.js
4.57
KB
-rw-r--r--
2017-11-15 05:31
search.esearch.js
4.38
KB
-rw-r--r--
2017-11-15 05:31
search.js
5.27
KB
-rw-r--r--
2017-11-15 05:31
semver-doc.js
426
B
-rw-r--r--
2017-11-15 05:31
shared-linked.js
3.55
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-_auth.js
3.1
KB
-rw-r--r--
2017-11-28 04:37
shrinkwrap-default-dev.js
2.08
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-dev-dependency.js
2.1
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-empty-deps.js
1.59
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-extra-metadata.js
1.8
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-global-auth.js
2.83
KB
-rw-r--r--
2017-11-28 04:37
shrinkwrap-lifecycle-cwd.js
2.18
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-lifecycle.js
1.41
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-local-dependency.js
3.03
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-nested.js
3.85
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-optional-dependency.js
2.17
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-optional-platform.js
2.31
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-optional-property.js
2.17
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-prod-dependency-also.js
2.63
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-prod-dependency.js
2.01
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-save-dev-with-existing-deps.js
2.86
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-save-with-existing-dev-deps.js
2.21
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-scoped-auth.js
2.88
KB
-rw-r--r--
2017-11-28 04:37
shrinkwrap-shared-dev-dependency.js
2.01
KB
-rw-r--r--
2017-11-15 05:31
shrinkwrap-version-match.js
2.83
KB
-rw-r--r--
2017-11-15 05:31
sorted-package-json.js
2.17
KB
-rw-r--r--
2017-11-15 05:31
spawn-enoent-help.js
822
B
-rw-r--r--
2017-11-15 05:31
spawn-enoent.js
869
B
-rw-r--r--
2017-11-15 05:31
spec-local-specifiers.js
22.81
KB
-rw-r--r--
2017-11-15 05:31
splat-with-only-prerelease-to-latest.js
2.74
KB
-rw-r--r--
2017-11-15 05:31
startstop.js
1.55
KB
-rw-r--r--
2017-11-15 05:31
symlink-cycle.js
1.27
KB
-rw-r--r--
2017-11-15 05:31
tag-version-prefix.js
2.4
KB
-rw-r--r--
2017-11-28 02:58
tagged-version-matching.js
5.18
KB
-rw-r--r--
2017-11-15 05:31
team.js
3.42
KB
-rw-r--r--
2017-11-15 05:31
test-run-ls.js
918
B
-rw-r--r--
2017-11-15 05:31
tree-style.js
3.49
KB
-rw-r--r--
2017-11-15 05:31
umask-lifecycle.js
1.46
KB
-rw-r--r--
2017-11-15 05:31
uninstall-in-reverse.js
949
B
-rw-r--r--
2017-11-15 05:31
uninstall-link-clean.js
2.5
KB
-rw-r--r--
2017-11-15 05:31
uninstall-package.js
1.79
KB
-rw-r--r--
2017-11-15 05:31
uninstall-save.js
2.03
KB
-rw-r--r--
2017-11-15 05:31
unit-child-path.js
453
B
-rw-r--r--
2017-11-15 05:31
unit-deps-earliestInstallable.js
2.42
KB
-rw-r--r--
2017-11-15 05:31
unit-deps-removeObsoleteDep.js
1.05
KB
-rw-r--r--
2017-11-15 05:31
unit-deps-replaceModule.js
2.6
KB
-rw-r--r--
2017-11-15 05:31
unit-module-name.js
1.68
KB
-rw-r--r--
2017-11-15 05:31
unit-package-id.js
960
B
-rw-r--r--
2017-11-15 05:31
unpack-foreign-tarball.js
2.17
KB
-rw-r--r--
2017-11-15 05:31
unpublish-config.js
1.88
KB
-rw-r--r--
2017-11-15 05:31
unsupported.js
1.19
KB
-rw-r--r--
2017-11-15 05:31
update-examples.js
5.08
KB
-rw-r--r--
2017-11-28 04:37
update-path.js
881
B
-rw-r--r--
2017-11-15 05:31
upgrade-lifecycles.js
1.84
KB
-rw-r--r--
2017-11-15 05:31
url-dependencies.js
2.31
KB
-rw-r--r--
2017-11-15 05:31
verify-no-lifecycle-on-repo.js
1.55
KB
-rw-r--r--
2017-11-15 05:31
version-allow-same-version.js
1.95
KB
-rw-r--r--
2017-11-15 05:31
version-commit-hooks-default.js
454
B
-rw-r--r--
2017-11-15 05:31
version-commit-hooks.js
1.84
KB
-rw-r--r--
2017-11-15 05:31
version-from-git.js
5.85
KB
-rw-r--r--
2017-11-15 05:31
version-git-not-clean.js
2.76
KB
-rw-r--r--
2017-11-15 05:31
version-lifecycle.js
5.66
KB
-rw-r--r--
2017-11-15 05:31
version-message-config.js
1.9
KB
-rw-r--r--
2017-11-15 05:31
version-no-git.js
1.44
KB
-rw-r--r--
2017-11-15 05:31
version-no-package.js
1.09
KB
-rw-r--r--
2017-11-15 05:31
version-no-tags.js
2.1
KB
-rw-r--r--
2017-11-15 05:31
version-sub-directory-shrinkwrap.js
2.17
KB
-rw-r--r--
2017-11-15 05:31
version-sub-directory.js
1.75
KB
-rw-r--r--
2017-11-15 05:31
version-update-shrinkwrap.js
3.82
KB
-rw-r--r--
2017-11-15 05:31
view.js
10.17
KB
-rw-r--r--
2017-11-15 05:31
zz-cleanup.js
184
B
-rw-r--r--
2017-11-15 05:31
Save
Rename
'use strict' var path = require('path') var test = require('tap').test var fs = require('fs') var rimraf = require('rimraf') var mr = require('npm-registry-mock') var Tacks = require('tacks') var File = Tacks.File var Symlink = Tacks.Symlink var Dir = Tacks.Dir var common = require('../common-tap.js') var isWindows = require('../../lib/utils/is-windows.js') var basedir = path.join(__dirname, path.basename(__filename, '.js')) var testdir = path.join(basedir, 'testdir') var cachedir = path.join(basedir, 'cache') var globaldir = path.join(basedir, 'global') var tmpdir = path.join(basedir, 'tmp') var conf = { cwd: testdir, env: common.emptyEnv().extend({ npm_config_cache: cachedir, npm_config_tmp: tmpdir, npm_config_prefix: globaldir, npm_config_registry: common.registry, npm_config_loglevel: 'error' }), stdio: [0, 'pipe', 2] } var confE = { cwd: testdir, env: conf.env, stdio: [0, 'pipe', 'pipe'] } function readJson (file) { return JSON.parse(fs.readFileSync(file)) } function isSymlink (t, file, message) { try { var info = fs.lstatSync(file) t.is(info.isSymbolicLink(), true, message) } catch (ex) { if (ex.code === 'ENOENT') { t.fail(message, {found: null, wanted: 'symlink', compare: 'fs.lstat(' + file + ')'}) } else { t.fail(message, {found: ex, wanted: 'symlink', compare: 'fs.lstat(' + file + ')'}) } } } function fileExists (t, file, message) { try { fs.statSync(file) t.pass(message) } catch (ex) { if (ex.code === 'ENOENT') { t.fail(message, {found: null, wanted: 'exists', compare: 'fs.stat(' + file + ')'}) } else { t.fail(message, {found: ex, wanted: 'exists', compare: 'fs.stat(' + file + ')'}) } } } function noFileExists (t, file, message) { try { fs.statSync(file) t.fail(message, {found: 'exists', wanted: 'not exists', compare: 'fs.stat(' + file + ')'}) } catch (ex) { if (ex.code === 'ENOENT') { t.pass(message) } else { t.fail(message, {found: ex, wanted: 'not exists', compare: 'fs.stat(' + file + ')'}) } } } var server var testdirContent = { node_modules: Dir({}), pkga: Dir({ 'package.json': File({ name: 'pkga', version: '1.0.0' }) }), pkgb: Dir({ 'package.json': File({ name: 'pkgb', version: '1.0.0' }) }), pkgc: Dir({ 'package.json': File({ name: 'pkgc', version: '1.0.0' }) }), pkgd: Dir({ 'package.json': File({ name: 'pkgd', version: '1.0.0' }) }) } var fixture function setup () { fixture = new Tacks(Dir({ cache: Dir(), global: Dir(), tmp: Dir(), testdir: Dir(testdirContent) })) cleanup() fixture.create(basedir) } function cleanup () { fixture.remove(basedir) } test('setup', function (t) { process.nextTick(function () { setup() mr({port: common.port, throwOnUnmatched: true}, function (err, s) { if (err) throw err server = s t.done() }) }) }) var installOk = [] var slashes = [ 'unix', 'win' ] slashes.forEach(function (os) { var slash = os === 'unix' ? function (ss) { return ss.replace(/\\/g, '/') } : function (ss) { return ss.replace(/\//g, '\\') } installOk.push(os + '-file-abs-f') testdirContent[os + '-file-abs-f'] = Dir({ 'package.json': File({ name: os + '-file-abs-f', version: '1.0.0', dependencies: { pkga: 'file:' + slash(testdir + '/pkga') } }) }) installOk.push(os + '-file-abs-fff') testdirContent[os + '-file-abs-fff'] = Dir({ 'package.json': File({ name: os + '-file-abs-fff', version: '1.0.0', dependencies: { pkga: 'file://' + slash(testdir + '/pkga') } }) }) installOk.push(os + '-file-rel') testdirContent[os + '-file-rel'] = Dir({ 'package.json': File({ name: os + '-file-rel', version: '1.0.0', dependencies: { pkga: 'file:' + slash('../pkga') } }) }) installOk.push(os + '-file-rel-fffff') testdirContent[os + '-file-rel-fffff'] = Dir({ 'package.json': File({ name: os + '-file-rel-fffff', version: '1.0.0', dependencies: { pkga: 'file:' + slash('/////../pkga') } }) }) }) testdirContent['win-abs-drive-win'] = Dir({ 'package.json': File({ name: 'win-abs-drive-win', version: '1.0.0', dependencies: { pkga: 'file:D:\\thing\\pkga' } }) }) testdirContent['win-abs-drive-unix'] = Dir({ 'package.json': File({ name: 'win-abs-drive-unix', version: '1.0.0', dependencies: { pkga: 'file://D:/thing/pkga' } }) }) test('specifiers', function (t) { t.plan(installOk.length + 2) installOk.forEach(function (mod) { t.test(mod, function (t) { common.npm(['install', '--dry-run', '--json', 'file:' + mod], conf, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') t.comment(stdout.trim()) t.done() }) }) }) slashes.forEach(function (os) { t.test('win-abs-drive-' + os, function (t) { common.npm(['install', '--dry-run', '--json', 'file:win-abs-drive-' + os], confE, function (err, code, stdout, stderr) { if (err) throw err t.not(code, 0, 'command errored ok') t.comment(stderr.trim()) if (isWindows) { t.test('verify failure of file-not-found or wrong drive letter on windows') } else { var result = JSON.parse(stdout) t.is(result.error && result.error.code, 'EWINDOWSPATH', 'verify failure due to windows paths not supported on non-Windows') } t.done() }) }) }) }) testdirContent['mkdirp'] = Dir({ 'package.json': File({ name: 'mkdirp', version: '9.9.9' }) }) testdirContent['example'] = Dir({ 'minimist': Dir({ 'package.json': File({ name: 'minimist', version: '9.9.9' }) }) }) testdirContent['wordwrap'] = Dir({ }) testdirContent['prefer-pkg'] = Dir({ 'package.json': File({ name: 'perfer-pkg', version: '1.0.0', dependencies: { 'mkdirp': 'latest' } }), 'latest': Dir({ 'package.json': File({ name: 'mkdirp', version: '9.9.9' }) }) }) test('ambiguity', function (t) { t.plan(5) t.test('arg: looks like package name, is dir', function (t) { common.npm(['install', 'mkdirp', '--dry-run', '--json'], conf, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') const result = JSON.parse(stdout.trim()) t.like(result, {added: [{name: 'mkdirp', version: '9.9.9'}]}, 'got local dir') t.done() }) }) t.test('arg: looks like package name, is package', function (t) { common.npm(['install', 'wordwrap', '--dry-run', '--json'], conf, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') const result = JSON.parse(stdout.trim()) t.like(result, {added: [{name: 'wordwrap', version: '0.0.2'}]}, 'even with local dir w/o package.json, got global') t.done() }) }) t.test('arg: looks like github repo, is dir', function (t) { common.npm(['install', 'example/minimist', '--dry-run', '--json'], conf, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') const result = JSON.parse(stdout.trim()) t.like(result, {added: [{name: 'minimist', version: '9.9.9'}]}, 'got local dir') t.done() }) }) t.test('package: looks like tag, has dir, use tag', function (t) { common.npm(['install', '--dry-run', '--json'], {cwd: path.join(testdir, 'prefer-pkg'), env: conf.env}, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') const result = JSON.parse(stdout.trim()) t.like(result, {added: [{name: 'mkdirp', version: '0.3.5'}]}, 'got local dir') t.done() }) }) t.test('test ambiguity for github repos') }) testdirContent['existing-matches'] = Dir({ 'package.json': File({ name: 'existing-matches', version: '1.0.0', dependencies: { 'pkga': 'file:../pkga', 'pkgb': 'file:' + testdir + '/pkgb', 'pkgc': 'file:../pkgc', 'pkgd': 'file:' + testdir + '/pkgd' } }), 'node_modules': Dir({ 'pkga': Symlink('../../pkga'), 'pkgd': Symlink('../../pkgd') }) }) test('existing install matches', function (t) { t.plan(1) // have to make these by hand because tacks doesn't support absolute paths in symlinks fs.symlinkSync(testdir + '/pkgb', testdir + '/existing-matches/node_modules/pkgb', 'junction') fs.symlinkSync(testdir + '/pkgc', testdir + '/existing-matches/node_modules/pkgc', 'junction') t.test('relative symlink counts as match of relative symlink in package.json', function (t) { common.npm(['ls', '--json'], {cwd: path.join(testdir, 'existing-matches'), env: conf.env}, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') if (stdout) t.comment(stdout.trim()) t.test('specifically test that output is valid') // relative symlink counts as match of relative symlink in package.json (pkga) // relative symlink counts as match of abs symlink in package.json (pkgc) // abs symlink counts as match of relative symlink in package.json (pkgb) // abs symlink counts as match of abs symlink in package.json (pkgd) t.done() }) }) }) var ibdir = testdir + '/install-behavior' testdirContent['ib-out'] = Dir({ 'package.json': File({ name: 'ib-out', version: '1.0.0', dependencies: { 'minimist': '*' } }) }) testdirContent['install-behavior'] = Dir({ 'package.json': File({ name: 'install-behavior', version: '1.0.0' }), 'ib-in': Dir({ 'package.json': File({ name: 'ib-in', version: '1.0.0', dependencies: { 'mkdirp': '*' } }) }), 'noext': File(new Buffer( '1f8b08000000000000032b484cce4e4c4fd52f80d07a59c5f9790c540606' + '06066626260a20dadccc144c1b1841f86000923334363037343536343732' + '633000728c0c80f2d4760836505a5c925804740aa5e640bca200a78708a8' + '56ca4bcc4d55b252cacb4fad2851d251502a4b2d2acecccf030a19ea19e8' + '1928d5720db41b47c1281805a36014501f00005012007200080000', 'hex' )), 'tarball-1.0.0.tgz': File(new Buffer( '1f8b08000000000000032b484cce4e4c4fd52f80d07a59c5f9790c540606' + '06066626260a20dadccc144c1b1841f8606062a6c060686c606e686a6c68' + '666ec26000e480e5a9ed106ca0b4b824b108e8144acd817845014e0f1150' + 'ad9497989baa64a5040c85a4c49c1c251d05a5b2d4a2e2ccfc3ca0a0a19e' + '819e81522dd740bb72148c8251300a4601b50100473dd15800080000', 'hex' )), 'not-module': Dir({}), 'test-preinstall': Dir({ 'preinstall.js': File('console.log("CWD:" + process.cwd())'), 'package.json': File({ name: 'test-preinstall', version: '1.0.0', scripts: { 'preinstall': 'node ' + ibdir + '/test-preinstall/preinstall.js' } }) }) }) test('install behavior', function (t) { var ibconf = {cwd: ibdir, env: conf.env.extend({npm_config_loglevel: 'silent'}), stdio: conf.stdio} t.plan(7) t.test('transitive deps for in-larger-module cases', function (t) { common.npm(['install', 'file:ib-in'], ibconf, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') if (stdout) t.comment(stdout.trim()) fileExists(t, ibdir + '/node_modules/mkdirp', 'transitive dep flattened') isSymlink(t, ibdir + '/node_modules/ib-in', 'dep is symlink') noFileExists(t, ibdir + '/ib-in/node_modules/mkdirp', 'transitive dep not nested') t.done() }) }) t.test('transitive deps for out-of-larger module cases', function (t) { common.npm(['install', 'file:../ib-out'], ibconf, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') if (stdout) t.comment(stdout.trim()) noFileExists(t, ibdir + '/node_modules/minimist', 'transitive dep not flattened') fileExists(t, testdir + '/ib-out/node_modules/minimist', 'transitive dep nested') t.done() }) }) t.test('transitive deps for out-of-larger module cases w/ --preserve-symlinks', function (t) { rimraf.sync(ibdir + '/node_modules') rimraf.sync(testdir + '/ib-out/node_modules') var env = conf.env.extend({NODE_PRESERVE_SYMLINKS: '1'}) common.npm(['install', 'file:../ib-out'], {cwd: ibdir, env: env}, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') if (stdout) t.comment(stdout.trim()) fileExists(t, ibdir + '/node_modules/minimist', 'transitive dep flattened') noFileExists(t, testdir + '/ib-out/node_modules/minimist', 'transitive dep not nested') t.done() }) }) t.test('tar/tgz/tar.gz should install a tarball', function (t) { common.npm(['install', 'file:tarball-1.0.0.tgz'], ibconf, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') if (stdout) t.comment(stdout.trim()) fileExists(t, ibdir + '/node_modules/tarball') t.done() }) }) t.test('non tar/tgz/tar.gz files should give good error message', function (t) { common.npm(['install', 'file:noext', '--json'], ibconf, function (err, code, stdout) { if (err) throw err t.not(code, 0, 'do not install files w/o extensions') noFileExists(t, ibdir + '/node_modules/noext') var result = JSON.parse(stdout) t.like(result, {error: {code: 'ENOLOCAL'}}, 'new type of error') t.done() }) }) t.test('directories without package.json should give good error message', function (t) { common.npm(['install', 'file:not-module', '--json'], ibconf, function (err, code, stdout) { if (err) throw err t.not(code, 0, 'error on dir w/o module') var result = JSON.parse(stdout) t.like(result, {error: {code: 'ENOLOCAL'}}, 'new type of error') t.done() }) }) t.test('verify preinstall step runs after finalize, such that cwd is as expected', function (t) { common.npm(['install', 'file:test-preinstall'], ibconf, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') isSymlink(t, `${ibdir}/node_modules/test-preinstall`, 'installed as symlink') t.notLike(stdout, /CWD:.*[.]staging/, 'cwd should not be in staging') t.test('verify that env is as expected') t.done() }) }) }) var sbdir = testdir + '/save-behavior' testdirContent['save-behavior'] = Dir({ 'package.json': File({ name: 'save-behavior', version: '1.0.0' }), 'npm-shrinkwrap.json': File({ name: 'save-behavior', version: '1.0.0', dependencies: {} }), 'transitive': Dir({ 'package.json': File({ name: 'transitive', version: '1.0.0', dependencies: { 'pkgc': 'file:../../pkgc' } }) }) }) testdirContent['sb-transitive'] = Dir({ 'package.json': File({ name: 'sb-transitive', version: '1.0.0', dependencies: { 'sbta': 'file:sbta' } }), 'sbta': Dir({ 'package.json': File({ name: 'sbta', version: '1.0.0' }) }) }) var sbdirp = testdir + '/save-behavior-pre' testdirContent['save-behavior-pre'] = Dir({ 'package.json': File({ name: 'save-behavior', version: '1.0.0' }), 'npm-shrinkwrap.json': File({ name: 'save-behavior', version: '1.0.0', dependencies: {} }) }) testdirContent['sb-transitive-preserve'] = Dir({ 'package.json': File({ name: 'sb-transitive-preserve', version: '1.0.0', dependencies: { 'sbtb': 'file:sbtb' } }), 'sbtb': Dir({ 'package.json': File({ name: 'sbtb', version: '1.0.0' }) }) }) test('save behavior', function (t) { t.plan(6) var sbconf = {cwd: sbdir, env: conf.env, stdio: conf.stdio} t.test('to package.json and npm-shrinkwrap.json w/ abs', function (t) { common.npm(['install', '--save', 'file:' + testdir + '/pkga'], sbconf, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') var pjson = readJson(sbdir + '/package.json') var shrinkwrap = readJson(sbdir + '/npm-shrinkwrap.json') t.is(pjson.dependencies.pkga, 'file:../pkga', 'package.json') var sdep = shrinkwrap.dependencies t.like(sdep, {pkga: {version: 'file:../pkga', resolved: null}}, 'npm-shrinkwrap.json') t.done() }) }) t.test('to package.json and npm-shrinkwrap.json w/ drive abs') t.test('to package.json and npm-shrinkwrap.json w/ rel', function (t) { common.npm(['install', '--save', 'file:../pkgb'], sbconf, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') var pjson = readJson(sbdir + '/package.json') var shrinkwrap = readJson(sbdir + '/npm-shrinkwrap.json') t.is(pjson.dependencies.pkgb, 'file:../pkgb', 'package.json') var sdep = shrinkwrap.dependencies t.like(sdep, {pkgb: {version: 'file:../pkgb', resolved: null}}, 'npm-shrinkwrap.json') t.done() }) }) t.test('internal transitive dependencies of shrinkwraps', function (t) { common.npm(['install', '--save', 'file:transitive'], sbconf, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') var pjson = readJson(sbdir + '/package.json') var shrinkwrap = readJson(sbdir + '/npm-shrinkwrap.json') t.is(pjson.dependencies.transitive, 'file:transitive', 'package.json') var sdep = shrinkwrap.dependencies.transitive || {} var tdep = shrinkwrap.dependencies.pkgc t.is(sdep.version, 'file:transitive', 'npm-shrinkwrap.json direct dep') t.is(tdep.version, 'file:../pkgc', 'npm-shrinkwrap.json transitive dep') t.done() }) }) t.test('external transitive dependencies of shrinkwraps', function (t) { common.npm(['install', '--save', 'file:../sb-transitive'], sbconf, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') var pjson = readJson(sbdir + '/package.json') var shrinkwrap = readJson(sbdir + '/npm-shrinkwrap.json') var deps = pjson.dependencies || {} t.is(deps['sb-transitive'], 'file:../sb-transitive', 'package.json') var sdep = shrinkwrap.dependencies['sb-transitive'] || {} var tdep = sdep.dependencies.sbta t.like(tdep, {bundled: true, version: 'file:../sb-transitive/sbta'}, 'npm-shrinkwrap.json transitive dep') t.like(sdep, {bundled: null, version: 'file:../sb-transitive'}, 'npm-shrinkwrap.json direct dep') t.done() }) }) t.test('external transitive dependencies of shrinkwraps > preserve symlinks', function (t) { var preserveEnv = conf.env.extend({NODE_PRESERVE_SYMLINKS: '1'}) var preserveConf = {cwd: sbdirp, env: preserveEnv, stdio: conf.stdio} common.npm(['install', '--save', 'file:../sb-transitive-preserve'], preserveConf, function (err, code, stdout) { if (err) throw err t.is(code, 0, 'command ran ok') var pjson = readJson(sbdirp + '/package.json') var shrinkwrap = readJson(sbdirp + '/npm-shrinkwrap.json') t.is(pjson.dependencies['sb-transitive-preserve'], 'file:../sb-transitive-preserve', 'package.json') var sdep = shrinkwrap.dependencies['sb-transitive-preserve'] || {} var tdep = shrinkwrap.dependencies.sbtb t.like(sdep, {bundled: null, version: 'file:../sb-transitive-preserve'}, 'npm-shrinkwrap.json direct dep') t.like(tdep, {bundled: null, version: 'file:../sb-transitive-preserve/sbtb'}, 'npm-shrinkwrap.json transitive dep') t.done() }) }) }) var rmdir = testdir + '/remove-behavior' testdirContent['remove-behavior'] = Dir({ 'rmsymlink': Dir({ 'package.json': File({ name: 'remove-behavior', version: '1.0.0', dependencies: { dep1: 'file:dep1' } }), 'package-lock.json': File({ name: 'remove-behavior', version: '1.0.0', lockfileVersion: 1, requires: true, dependencies: { dep1: { version: 'file:dep1', requires: { dep2: 'file:dep2' }, dependencies: { dep2: { version: 'file:dep2', bundled: true } } } } }), dep1: Dir({ 'package.json': File({ name: 'dep1', version: '1.0.0', dependencies: { dep2: 'file:../dep2' } }), 'node_modules': Dir({ dep2: Symlink('../../dep2') }) }), dep2: Dir({ 'package.json': File({ name: 'dep2', version: '1.0.0' }) }), 'node_modules': Dir({ dep1: Symlink('../dep1') }) }), 'rmesymlink': Dir({ 'package.json': File({ name: 'remove-behavior', version: '1.0.0', dependencies: { edep1: 'file:../edep1' } }), 'package-lock.json': File({ name: 'remove-behavior', version: '1.0.0', lockfileVersion: 1, requires: true, dependencies: { edep1: { version: 'file:../edep1', requires: { edep2: 'file:../edep2' }, dependencies: { edep2: { version: 'file:../edep2', bundled: true } } } } }), 'node_modules': Dir({ edep1: Symlink('../../edep1') }) }), edep1: Dir({ 'package.json': File({ name: 'edep1', version: '1.0.0', dependencies: { edep2: 'file:../edep2' } }), 'node_modules': Dir({ edep2: Symlink('../../edep2') }) }), edep2: Dir({ 'package.json': File({ name: 'edep2', version: '1.0.0' }) }) }) test('removal', function (t) { t.plan(2) t.test('should remove the symlink', (t) => { const rmconf = {cwd: `${rmdir}/rmsymlink`, env: conf.env, stdio: conf.stdio} return common.npm(['uninstall', 'dep1'], rmconf).spread((code, stdout) => { t.is(code, 0, 'uninstall ran ok') t.comment(stdout) noFileExists(t, `${rmdir}/rmsymlink/node_modules/dep1`, 'removed symlink') noFileExists(t, `${rmdir}/rmsymlink/dep1/node_modules/dep2`, 'removed transitive dep') fileExists(t, `${rmdir}/rmsymlink/dep2`, 'original transitive dep still exists') }) }) t.test("should not remove transitive deps if it's outside the package and --preserver-symlinks isn't set", (t) => { const rmconf = {cwd: `${rmdir}/rmesymlink`, env: conf.env, stdio: conf.stdio} return common.npm(['uninstall', 'edep1'], rmconf).spread((code, stdout) => { t.is(code, 0, 'uninstall ran ok') t.comment(stdout) noFileExists(t, `${rmdir}/rmsymlink/node_modules/edep1`, 'removed symlink') fileExists(t, `${rmdir}/edep1/node_modules/edep2`, 'did NOT remove transitive dep') fileExists(t, `${rmdir}/edep2`, 'original transitive dep still exists') }) }) }) test('misc', function (t) { t.plan(3) t.test('listing: should look right, not include version') t.test('outdated: show LOCAL for wanted / latest') t.test('update: if specifier exists, do nothing. otherwise as if `npm install`.') }) test('cleanup', function (t) { server.close() cleanup() t.done() })