xo 0.17.1
JavaScript happiness style linter ❤️
xo@0.17.1 was published on 2016-11-13. Its manifest declares 23 runtime dependencies and 0 peer requirements. Bundled type declarations are not declared in the inspected metadata. The declared Node.js requirement is >=4.
All xo versions · Permanent reference to 0.17.1 · Latest release
Package specifications
| Version | 0.17.1 |
|---|---|
| License declaration | MIT |
| Published | 2016-11-13T12:52:03.341Z |
| Node.js requirement | >=4 |
| Type declarations | Not declared |
| Runtime dependency count | 23 |
| Peer requirement count | 0 |
| Optional dependency count | 0 |
| Minified size | Measurement not available yet |
| Minified + gzip | Measurement not available yet |
| Unpacked distribution size | Not supplied |
| Published file count | Not supplied |
| Package type | Not declared |
| ES module entry | Not declared |
| Default entry | Not declared |
| Side effects declaration | Not declared |
| Direct advisories | 0 |
| Resolved graph dependencies | 438 |
| Repository stars | 7995 |
| Repository forks | 309 |
Install xo 0.17.1
npm install xo@0.17.1 pnpm add xo@0.17.1 yarn add xo@0.17.1
Runtime dependencies
- meow ^3.4.2
- debug ^2.2.0
- arrify ^1.0.0
- eslint ^3.6.0
- globby ^6.0.0
- xo-init ^0.4.0
- has-flag ^2.0.0
- pkg-conf ^2.0.0
- get-stdin ^5.0.0
- multimatch ^2.1.0
- deep-assign ^1.0.0
- path-exists ^3.0.0
- resolve-cwd ^1.0.0
- resolve-from ^2.0.0
- parse-gitignore ^0.3.1
- update-notifier ^1.0.0
- eslint-config-xo ^0.17.0
- eslint-plugin-ava ^3.1.0
- eslint-plugin-import ^2.0.0
- eslint-plugin-promise ^3.0.0
- eslint-plugin-unicorn ^1.0.0
- eslint-formatter-pretty ^1.0.0
- eslint-plugin-no-use-extend-native ^0.3.2
Peer requirements
- None declared
Optional dependencies
- None declared
Resolved dependency graph
This deps.dev graph describes a generic 64-bit Linux environment, not your application lockfile.
- arrify@1.0.1 — direct
- debug@2.6.9 — direct
- deep-assign@1.0.0 — direct
- eslint@3.19.0 — direct
- eslint-config-xo@0.17.0 — direct
- eslint-formatter-pretty@1.3.0 — direct
- eslint-plugin-ava@3.1.1 — direct
- eslint-plugin-import@2.32.0 — direct
- eslint-plugin-no-use-extend-native@0.3.12 — direct
- eslint-plugin-promise@3.8.0 — direct
- eslint-plugin-unicorn@1.0.0 — direct
- get-stdin@5.0.1 — direct
- globby@6.1.0 — direct
- has-flag@2.0.0 — direct
- meow@3.7.0 — direct
- multimatch@2.1.0 — direct
- parse-gitignore@0.3.1 — direct
- path-exists@3.0.0 — direct
- pkg-conf@2.1.0 — direct
- resolve-cwd@1.0.0 — direct
- resolve-from@2.0.0 — direct
- update-notifier@1.0.3 — direct
- xo-init@0.4.0 — direct
- ms@2.0.0 — indirect
- is-obj@1.0.1 — indirect
- babel-code-frame@6.26.0 — indirect
- chalk@1.1.3 — indirect
- concat-stream@1.6.2 — indirect
- doctrine@2.1.0 — indirect
- escope@3.6.0 — indirect
- espree@3.5.4 — indirect
- esquery@1.7.0 — indirect
- estraverse@4.3.0 — indirect
- esutils@2.0.3 — indirect
- file-entry-cache@2.0.0 — indirect
- glob@7.2.3 — indirect
- globals@9.18.0 — indirect
- ignore@3.3.10 — indirect
- imurmurhash@0.1.4 — indirect
- inquirer@0.12.0 — indirect
- is-my-json-valid@2.20.6 — indirect
- is-resolvable@1.1.0 — indirect
- js-yaml@3.15.2 — indirect
- json-stable-stringify@1.3.0 — indirect
- levn@0.3.0 — indirect
- lodash@4.18.1 — indirect
- mkdirp@0.5.6 — indirect
- natural-compare@1.4.0 — indirect
- optionator@0.8.3 — indirect
- path-is-inside@1.0.2 — indirect
- pluralize@1.2.1 — indirect
- progress@1.1.8 — indirect
- require-uncached@1.0.3 — indirect
- shelljs@0.7.8 — indirect
- strip-bom@3.0.0 — indirect
- strip-json-comments@2.0.1 — indirect
- table@3.8.3 — indirect
- text-table@0.2.0 — indirect
- user-home@2.0.0 — indirect
- ansi-escapes@2.0.0 — indirect
- chalk@2.4.2 — indirect
- log-symbols@2.2.0 — indirect
- plur@2.1.2 — indirect
- string-width@2.1.1 — indirect
- deep-strict-equal@0.2.0 — indirect
- enhance-visitors@1.0.0 — indirect
- espurify@1.8.1 — indirect
- pkg-up@1.0.0 — indirect
- req-all@0.1.0 — indirect
- @rtsao/scc@1.1.0 — indirect
- array-includes@3.2.0 — indirect
- array.prototype.findlastindex@1.2.6 — indirect
- array.prototype.flat@1.3.3 — indirect
- array.prototype.flatmap@1.3.3 — indirect
- debug@3.2.7 — indirect
- eslint-import-resolver-node@0.3.10 — indirect
- eslint-module-utils@2.14.0 — indirect
- hasown@2.0.4 — indirect
- is-core-module@2.17.0 — indirect
- is-glob@4.0.3 — indirect
- minimatch@3.1.5 — indirect
- object.fromentries@2.0.8 — indirect
- object.groupby@1.0.3 — indirect
- object.values@1.2.1 — indirect
- semver@6.3.1 — indirect
- string.prototype.trimend@1.0.10 — indirect
- tsconfig-paths@3.15.0 — indirect
- is-get-set-prop@1.0.0 — indirect
- is-js-type@2.0.0 — indirect
- is-obj-prop@1.0.0 — indirect
- is-proto-prop@1.0.1 — indirect
- lodash.camelcase@4.3.0 — indirect
- lodash.kebabcase@4.1.1 — indirect
- lodash.snakecase@4.1.1 — indirect
- lodash.upperfirst@4.3.1 — indirect
- array-union@1.0.2 — indirect
- object-assign@4.1.1 — indirect
- pify@2.3.0 — indirect
- pinkie-promise@2.0.1 — indirect
- camelcase-keys@2.1.0 — indirect
- decamelize@1.2.0 — indirect
- loud-rejection@1.6.0 — indirect
- map-obj@1.0.1 — indirect
- minimist@1.2.8 — indirect
- normalize-package-data@2.5.0 — indirect
- read-pkg-up@1.0.1 — indirect
- redent@1.0.0 — indirect
- trim-newlines@1.0.0 — indirect
- array-differ@1.0.0 — indirect
- array-unique@0.2.1 — indirect
- is-glob@2.0.1 — indirect
- find-up@2.1.0 — indirect
- load-json-file@4.0.0 — indirect
- boxen@0.6.0 — indirect
- configstore@2.1.0 — indirect
- is-npm@1.0.0 — indirect
- latest-version@2.0.0 — indirect
- lazy-req@1.1.0 — indirect
- semver-diff@2.1.0 — indirect
- xdg-basedir@2.0.0 — indirect
- execa@0.5.1 — indirect
- read-pkg-up@2.0.0 — indirect
- the-argv@1.0.0 — indirect
- write-pkg@2.1.0 — indirect
- js-tokens@3.0.2 — indirect
- ansi-styles@2.2.1 — indirect
- escape-string-regexp@1.0.5 — indirect
- has-ansi@2.0.0 — indirect
- strip-ansi@3.0.1 — indirect
- supports-color@2.0.0 — indirect
- buffer-from@1.1.2 — indirect
- inherits@2.0.4 — indirect
- readable-stream@2.3.8 — indirect
- typedarray@0.0.6 — indirect
- es6-map@0.1.5 — indirect
- es6-weak-map@2.0.3 — indirect
- esrecurse@4.3.0 — indirect
- acorn@5.7.4 — indirect
- acorn-jsx@3.0.1 — indirect
- estraverse@5.3.0 — indirect
- flat-cache@1.3.4 — indirect
- fs.realpath@1.0.0 — indirect
- inflight@1.0.6 — indirect
- once@1.4.0 — indirect
- path-is-absolute@1.0.1 — indirect
- ansi-escapes@1.4.0 — indirect
- ansi-regex@2.1.1 — indirect
- cli-cursor@1.0.2 — indirect
- cli-width@2.2.1 — indirect
- figures@1.7.0 — indirect
- readline2@1.0.1 — indirect
- run-async@0.1.0 — indirect
- rx-lite@3.1.2 — indirect
- string-width@1.0.2 — indirect
- through@2.3.8 — indirect
- generate-function@2.3.1 — indirect
- generate-object-property@1.2.0 — indirect
- is-my-ip-valid@1.0.1 — indirect
- jsonpointer@5.0.1 — indirect
- xtend@4.0.2 — indirect
- argparse@1.0.10 — indirect
- esprima@4.0.1 — indirect
- call-bind@1.0.9 — indirect
- call-bound@1.0.4 — indirect
- isarray@2.0.5 — indirect
- jsonify@0.0.1 — indirect
- object-keys@1.1.1 — indirect
- prelude-ls@1.1.2 — indirect
- type-check@0.3.2 — indirect
- deep-is@0.1.4 — indirect
- fast-levenshtein@2.0.6 — indirect
- word-wrap@1.2.5 — indirect
- caller-path@0.1.0 — indirect
- resolve-from@1.0.1 — indirect
- interpret@1.4.0 — indirect
- rechoir@0.6.2 — indirect
- ajv@4.11.8 — indirect
- ajv-keywords@1.5.1 — indirect
- slice-ansi@0.0.4 — indirect
- string-width@2.1.1 — indirect
- os-homedir@1.0.2 — indirect
- ansi-styles@3.2.1 — indirect
- supports-color@5.5.0 — indirect
- chalk@2.4.2 — indirect
- irregular-plurals@1.4.0 — indirect
- is-fullwidth-code-point@2.0.0 — indirect
- strip-ansi@4.0.0 — indirect
- core-assert@0.2.1 — indirect
- core-js@2.6.12 — indirect
- find-up@1.1.2 — indirect
- define-properties@1.2.1 — indirect
- es-abstract@1.24.2 — indirect
- es-object-atoms@1.1.2 — indirect
- es-shim-unscopables@1.1.0 — indirect
- is-string@1.1.1 — indirect
- math-intrinsics@1.1.0 — indirect
- es-errors@1.3.0 — indirect
- ms@2.1.3 — indirect
- debug@3.2.7 — indirect
- resolve@2.0.0-next.7 — indirect
- debug@3.2.7 — indirect
- function-bind@1.1.2 — indirect
- is-extglob@2.1.1 — indirect
- brace-expansion@1.1.21 — indirect
- @types/json5@0.0.29 — indirect
- json5@1.0.2 — indirect
- get-set-props@0.1.0 — indirect
- lowercase-keys@1.0.1 — indirect
- js-types@1.0.0 — indirect
- obj-props@1.4.0 — indirect
- proto-props@1.1.0 — indirect
- array-uniq@1.0.3 — indirect
- pinkie@2.0.4 — indirect
- camelcase@2.1.1 — indirect
- currently-unhandled@0.4.1 — indirect
- signal-exit@3.0.7 — indirect
- hosted-git-info@2.8.9 — indirect
- resolve@1.22.13 — indirect
- semver@5.7.2 — indirect
- validate-npm-package-license@3.0.4 — indirect
- read-pkg@1.1.0 — indirect
- indent-string@2.1.0 — indirect
- strip-indent@1.0.1 — indirect
- is-extglob@1.0.0 — indirect
- locate-path@2.0.0 — indirect
- graceful-fs@4.2.11 — indirect
- parse-json@4.0.0 — indirect
- pify@3.0.0 — indirect
- ansi-align@1.1.0 — indirect
- cli-boxes@1.0.0 — indirect
- filled-array@1.1.0 — indirect
- repeating@2.0.1 — indirect
- widest-line@1.0.0 — indirect
- dot-prop@3.0.0 — indirect
- os-tmpdir@1.0.2 — indirect
- osenv@0.1.5 — indirect
- uuid@2.0.3 — indirect
- write-file-atomic@1.3.4 — indirect
- package-json@2.4.0 — indirect
- semver@5.7.2 — indirect
- cross-spawn@4.0.2 — indirect
- get-stream@2.3.1 — indirect
- is-stream@1.1.0 — indirect
- npm-run-path@2.0.2 — indirect
- p-finally@1.0.0 — indirect
- strip-eof@1.0.0 — indirect
- find-up@2.1.0 — indirect
- read-pkg@2.0.0 — indirect
- sort-keys@1.1.2 — indirect
- write-json-file@2.3.0 — indirect
- core-util-is@1.0.3 — indirect
- isarray@1.0.0 — indirect
- process-nextick-args@2.0.1 — indirect
- safe-buffer@5.1.2 — indirect
- string_decoder@1.1.1 — indirect
- util-deprecate@1.0.2 — indirect
- d@1.0.2 — indirect
- es5-ext@0.10.64 — indirect
- es6-iterator@2.0.3 — indirect
- es6-set@0.1.6 — indirect
- es6-symbol@3.1.4 — indirect
- event-emitter@0.3.5 — indirect
- estraverse@5.3.0 — indirect
- acorn@3.3.0 — indirect
- circular-json@0.3.3 — indirect
- rimraf@2.6.3 — indirect
- write@0.2.1 — indirect
- wrappy@1.0.2 — indirect
- restore-cursor@1.0.1 — indirect
- code-point-at@1.1.0 — indirect
- is-fullwidth-code-point@1.0.0 — indirect
- mute-stream@0.0.5 — indirect
- is-property@1.0.2 — indirect
- sprintf-js@1.0.3 — indirect
- call-bind-apply-helpers@1.0.2 — indirect
- es-define-property@1.0.1 — indirect
- get-intrinsic@1.3.1 — indirect
- set-function-length@1.2.2 — indirect
- callsites@0.2.0 — indirect
- co@4.6.0 — indirect
- is-fullwidth-code-point@2.0.0 — indirect
- strip-ansi@4.0.0 — indirect
- color-convert@1.9.3 — indirect
- has-flag@3.0.0 — indirect
- ansi-styles@3.2.1 — indirect
- supports-color@5.5.0 — indirect
- ansi-regex@3.0.1 — indirect
- buf-compare@1.0.1 — indirect
- is-error@2.2.2 — indirect
- path-exists@2.1.0 — indirect
- define-data-property@1.1.4 — indirect
- has-property-descriptors@1.0.2 — indirect
- array-buffer-byte-length@1.0.2 — indirect
- arraybuffer.prototype.slice@1.0.4 — indirect
- available-typed-arrays@1.0.7 — indirect
- data-view-buffer@1.0.2 — indirect
- data-view-byte-length@1.0.2 — indirect
- data-view-byte-offset@1.0.1 — indirect
- es-set-tostringtag@2.1.0 — indirect
- es-to-primitive@1.3.4 — indirect
- function.prototype.name@1.2.0 — indirect
- get-proto@1.0.1 — indirect
- get-symbol-description@1.1.0 — indirect
- globalthis@1.0.4 — indirect
- gopd@1.2.0 — indirect
- has-proto@1.2.0 — indirect
- has-symbols@1.1.0 — indirect
- internal-slot@1.1.0 — indirect
- is-array-buffer@3.0.5 — indirect
- is-callable@1.2.7 — indirect
- is-data-view@1.0.2 — indirect
- is-negative-zero@2.0.3 — indirect
- is-regex@1.2.1 — indirect
- is-set@2.0.3 — indirect
- is-shared-array-buffer@1.0.4 — indirect
- is-typed-array@1.1.15 — indirect
- is-weakref@1.1.1 — indirect
- object-inspect@1.13.4 — indirect
- object.assign@4.1.7 — indirect
- own-keys@1.0.2 — indirect
- regexp.prototype.flags@1.5.4 — indirect
- safe-array-concat@1.1.4 — indirect
- safe-push-apply@1.0.0 — indirect
- safe-regex-test@1.1.0 — indirect
- set-proto@1.0.0 — indirect
- stop-iteration-iterator@1.1.0 — indirect
- string.prototype.trim@1.2.11 — indirect
- string.prototype.trimstart@1.0.8 — indirect
- typed-array-buffer@1.0.3 — indirect
- typed-array-byte-length@1.0.3 — indirect
- typed-array-byte-offset@1.0.5 — indirect
- typed-array-length@1.0.8 — indirect
- unbox-primitive@1.1.0 — indirect
- which-typed-array@1.1.24 — indirect
- has-tostringtag@1.0.2 — indirect
- ms@2.1.3 — indirect
- node-exports-info@1.6.2 — indirect
- path-parse@1.0.7 — indirect
- supports-preserve-symlinks-flag@1.0.0 — indirect
- ms@2.1.3 — indirect
- balanced-match@1.0.2 — indirect
- concat-map@0.0.1 — indirect
- array-find-index@1.0.2 — indirect
- spdx-correct@3.2.0 — indirect
- spdx-expression-parse@3.0.1 — indirect
- load-json-file@1.1.0 — indirect
- path-type@1.1.0 — indirect
- get-stdin@4.0.1 — indirect
- p-locate@2.0.0 — indirect
- error-ex@1.3.4 — indirect
- json-parse-better-errors@1.0.2 — indirect
- is-finite@1.1.0 — indirect
- slide@1.1.6 — indirect
- got@5.7.1 — indirect
- registry-auth-token@3.4.0 — indirect
- registry-url@3.1.0 — indirect
- semver@5.7.2 — indirect
- lru-cache@4.1.5 — indirect
- which@1.3.1 — indirect
- path-key@2.0.1 — indirect
- load-json-file@2.0.0 — indirect
- path-type@2.0.0 — indirect
- is-plain-obj@1.1.0 — indirect
- detect-indent@5.0.0 — indirect
- make-dir@1.3.0 — indirect
- pify@3.0.0 — indirect
- sort-keys@2.0.0 — indirect
- write-file-atomic@2.4.3 — indirect
- type@2.7.3 — indirect
- esniff@2.0.1 — indirect
- next-tick@1.1.0 — indirect
- ext@1.7.0 — indirect
- exit-hook@1.1.1 — indirect
- onetime@1.1.0 — indirect
- number-is-nan@1.0.1 — indirect
- async-function@1.0.0 — indirect
- async-generator-function@1.0.0 — indirect
- generator-function@2.0.1 — indirect
- ansi-regex@3.0.1 — indirect
- color-name@1.1.3 — indirect
- has-flag@3.0.0 — indirect
- possible-typed-array-names@1.1.0 — indirect
- es-abstract-get@1.0.0 — indirect
- is-date-object@1.1.0 — indirect
- is-symbol@1.1.1 — indirect
- functions-have-names@1.2.3 — indirect
- is-document.all@1.0.0 — indirect
- dunder-proto@1.0.1 — indirect
- side-channel@1.1.1 — indirect
- set-function-name@2.0.2 — indirect
- isarray@2.0.5 — indirect
- isarray@2.0.5 — indirect
- for-each@0.3.5 — indirect
- reflect.getprototypeof@1.0.10 — indirect
- has-bigints@1.1.0 — indirect
- which-boxed-primitive@1.1.1 — indirect
- object.entries@1.1.9 — indirect
- spdx-license-ids@3.0.24 — indirect
- spdx-exceptions@2.5.0 — indirect
- parse-json@2.2.0 — indirect
- strip-bom@2.0.0 — indirect
- p-limit@1.3.0 — indirect
- is-arrayish@0.2.1 — indirect
- create-error-class@3.0.2 — indirect
- duplexer2@0.1.4 — indirect
- is-redirect@1.0.0 — indirect
- is-retry-allowed@1.2.0 — indirect
- node-status-codes@1.0.0 — indirect
- read-all-stream@3.1.0 — indirect
- timed-out@3.1.3 — indirect
- unzip-response@1.0.2 — indirect
- url-parse-lax@1.0.0 — indirect
- rc@1.2.8 — indirect
- pseudomap@1.0.2 — indirect
- yallist@2.1.2 — indirect
- isexe@2.0.0 — indirect
- pify@3.0.0 — indirect
- side-channel-list@1.0.1 — indirect
- side-channel-map@1.0.1 — indirect
- side-channel-weakmap@1.0.2 — indirect
- which-builtin-type@1.2.1 — indirect
- is-bigint@1.1.0 — indirect
- is-boolean-object@1.2.2 — indirect
- is-number-object@1.1.1 — indirect
- is-utf8@0.2.1 — indirect
- p-try@1.0.0 — indirect
- capture-stack-trace@1.0.2 — indirect
- prepend-http@1.0.4 — indirect
- deep-extend@0.6.0 — indirect
- ini@1.3.8 — indirect
- is-async-function@2.1.1 — indirect
- is-finalizationregistry@1.1.1 — indirect
- is-generator-function@1.1.2 — indirect
- isarray@2.0.5 — indirect
- which-collection@1.0.2 — indirect
- is-map@2.0.3 — indirect
- is-weakmap@2.0.2 — indirect
- is-weakset@2.0.4 — indirect
How to interpret the specifications
Bundlephobia measurements use its standard package build and may exclude peer dependencies. Unpacked npm distribution size includes shipped files and is a different measurement. Module declarations do not prove tree-shaking or runtime compatibility.
Advisories apply to this package version directly; transitive dependencies need separate inspection. Repository signals describe the whole repository and are current observations, including on historical-version pages.
OpenSSF repository checks
Provider assessment: 2026-08-24T00:00:00Z. These are repository checks, not a jsL maintenance score.
| Code-Review | 0/10 — Found 1/30 approved changesets -- score normalized to 0 |
|---|---|
| Dangerous-Workflow | 10/10 — no dangerous workflow patterns detected |
| Binary-Artifacts | 10/10 — no binaries found in the repo |
| Maintained | 10/10 — 16 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10 |
| Pinned-Dependencies | 0/10 — dependency not pinned by hash detected -- score normalized to 0 |
| Token-Permissions | 0/10 — detected GitHub workflow tokens with excessive permissions |
| CII-Best-Practices | 0/10 — no effort to earn an OpenSSF best practices badge detected |
| Fuzzing | 0/10 — project is not fuzzed |
| License | 10/10 — license file detected |
| Branch-Protection | 3/10 — branch protection is not maximal on development and all release branches |
| Security-Policy | 0/10 — security policy file not detected |
| SAST | 0/10 — SAST tool is not run on all commits -- score normalized to 0 |
Evidence and freshness
- https://registry.npmjs.org/xo/0.17.1 — retrieved 2026-10-30T18:03:07.570Z
- https://api.deps.dev/v3/projects/github.com%2Fxojs%2Fxo — retrieved 2026-10-30T14:20:36.936Z
- https://api.deps.dev/v3/systems/npm/packages/xo/versions/0.17.1 — retrieved 2026-10-30T18:03:08.153Z
- https://api.deps.dev/v3/systems/npm/packages/xo/versions/0.17.1:dependencies — retrieved 2026-10-30T18:03:08.205Z