From 0b6a3f31e6e78825114f82d4e0aed9cd72f784ac Mon Sep 17 00:00:00 2001 From: Federico Brigante Date: Thu, 29 Apr 2021 07:56:21 +0700 Subject: [PATCH] New: Include XO style guide in `eslint --init` (#14193) --- lib/init/config-initializer.js | 3 ++- tests/lib/init/config-initializer.js | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/init/config-initializer.js b/lib/init/config-initializer.js index 6f62e7db87e..8cc09b6a960 100644 --- a/lib/init/config-initializer.js +++ b/lib/init/config-initializer.js @@ -531,7 +531,8 @@ function promptUser() { choices: [ { message: "Airbnb: https://github.com/airbnb/javascript", name: "airbnb" }, { message: "Standard: https://github.com/standard/standard", name: "standard" }, - { message: "Google: https://github.com/google/eslint-config-google", name: "google" } + { message: "Google: https://github.com/google/eslint-config-google", name: "google" }, + { message: "XO: https://github.com/xojs/eslint-config-xo", name: "xo" } ], skip() { this.state.answers.packageJsonExists = npmUtils.checkPackageJson(); diff --git a/tests/lib/init/config-initializer.js b/tests/lib/init/config-initializer.js index cb9162e2d5c..10a67fe0ab9 100644 --- a/tests/lib/init/config-initializer.js +++ b/tests/lib/init/config-initializer.js @@ -240,6 +240,14 @@ describe("configInitializer", () => { assert.include(modules, "eslint-config-standard@latest"); }); + it("should support the xo style guide", () => { + const config = { extends: "xo" }; + const modules = init.getModulesList(config); + + assert.deepStrictEqual(config, { extends: "xo", installedESLint: true }); + assert.include(modules, "eslint-config-xo@latest"); + }); + it("should install required sharable config", () => { const config = { extends: "google" };