diff --git a/.editorconfig b/.editorconfig index 1a6d62e..3281cce 100644 --- a/.editorconfig +++ b/.editorconfig @@ -6,9 +6,9 @@ end_of_line = lf indent_size = 2 indent_style = tab insert_final_newline = true -max_line_length = 130 +max_line_length = 155 trim_trailing_whitespace = true [*.md] -max_line_length = 130 +max_line_length = 155 trim_trailing_whitespace = true diff --git a/.eslintrc.json b/.eslintrc.json index fd4d4cf..a9d94b6 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,27 +1,30 @@ { - "env": { - "browser": true, - "commonjs": true, - "es2021": true - }, - "extends": [ - "eslint:recommended", - "airbnb-base" - ], - "parserOptions": { - "ecmaVersion": 12 - }, - "rules": { - "indent": ["error", "tab"], - "no-tabs": ["error", { "allowIndentationTabs": true }], - "max-len": ["error", { "code": 130 }], - "no-var": "error", - "semi": "error", - "no-multi-spaces": "error", - "space-in-parens": "error", - "no-multiple-empty-lines": "error", - "prefer-const": "error", - "no-use-before-define": "error" - } - } - + "env": { + "browser": true, + "commonjs": true, + "es2021": true + }, + "extends": ["eslint:recommended", "airbnb-base"], + "parserOptions": { + "ecmaVersion": 12 + }, + "rules": { + "indent": ["error", "tab"], + "no-tabs": ["warn", { "allowIndentationTabs": true }], + "max-len": ["error", { "code": 155 }], + "no-var": "error", + "semi": "error", + "no-multi-spaces": "error", + "space-in-parens": "error", + "no-multiple-empty-lines": "error", + "prefer-const": "error", + "no-use-before-define": "error", + "max-classes-per-file": ["warn", 1], + "no-plusplus": "off", + "no-param-reassign": "warn", + "no-restricted-syntax": "warn", + "no-continue": "warn", + "no-bitwise": "off", + "guard-for-in": "warn" + } +} diff --git a/.travis.yml b/.travis.yml index 9ef231a..133897e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,4 +6,4 @@ install: - npm install script: - npm run test -- npm run lint +- eslint src test --ext .js diff --git a/package.json b/package.json index f9db512..c819338 100644 --- a/package.json +++ b/package.json @@ -3,11 +3,15 @@ "version": "1.0.0", "description": "Solutions for HackerRank Problems in Javascript.", "main": "index.js", + "nyc": { + "all": true, + "include": [ + "src/**/*.js" + ] + }, "scripts": { - "test": "mocha --recursive", - "report": "nyc mocha --recursive", - "prepare": "husky install", - "lint": "prettier --write **/*.*js && eslint --fix " + "test": "nyc mocha --recursive", + "prepare": "husky install" }, "lint-staged": { "*.js": [ diff --git a/Arrays/2d-array-ds.js b/src/Arrays/2d-array-ds.js similarity index 100% rename from Arrays/2d-array-ds.js rename to src/Arrays/2d-array-ds.js diff --git a/Arrays/apple-and-orange.js b/src/Arrays/apple-and-orange.js similarity index 100% rename from Arrays/apple-and-orange.js rename to src/Arrays/apple-and-orange.js diff --git a/Arrays/array-manipulation.js b/src/Arrays/array-manipulation.js similarity index 100% rename from Arrays/array-manipulation.js rename to src/Arrays/array-manipulation.js diff --git a/Arrays/birthday-cake-candles.js b/src/Arrays/birthday-cake-candles.js similarity index 100% rename from Arrays/birthday-cake-candles.js rename to src/Arrays/birthday-cake-candles.js diff --git a/Arrays/breaking-best-and-worst-records.js b/src/Arrays/breaking-best-and-worst-records.js similarity index 100% rename from Arrays/breaking-best-and-worst-records.js rename to src/Arrays/breaking-best-and-worst-records.js diff --git a/Arrays/compare-the-triplets.js b/src/Arrays/compare-the-triplets.js similarity index 100% rename from Arrays/compare-the-triplets.js rename to src/Arrays/compare-the-triplets.js diff --git a/Arrays/diagonal-difference.js b/src/Arrays/diagonal-difference.js similarity index 100% rename from Arrays/diagonal-difference.js rename to src/Arrays/diagonal-difference.js diff --git a/Arrays/jumping-on-the-clouds.js b/src/Arrays/jumping-on-the-clouds.js similarity index 100% rename from Arrays/jumping-on-the-clouds.js rename to src/Arrays/jumping-on-the-clouds.js diff --git a/Arrays/left-rotation.js b/src/Arrays/left-rotation.js similarity index 100% rename from Arrays/left-rotation.js rename to src/Arrays/left-rotation.js diff --git a/Arrays/minimum-swaps-2.js b/src/Arrays/minimum-swaps-2.js similarity index 100% rename from Arrays/minimum-swaps-2.js rename to src/Arrays/minimum-swaps-2.js diff --git a/Arrays/newyear-chaos.js b/src/Arrays/newyear-chaos.js similarity index 100% rename from Arrays/newyear-chaos.js rename to src/Arrays/newyear-chaos.js diff --git a/Arrays/sock-merchant.js b/src/Arrays/sock-merchant.js similarity index 100% rename from Arrays/sock-merchant.js rename to src/Arrays/sock-merchant.js diff --git a/Data Structures/cycle-detection.js b/src/Data Structures/cycle-detection.js similarity index 100% rename from Data Structures/cycle-detection.js rename to src/Data Structures/cycle-detection.js diff --git a/Data Structures/reverse-doubly-linked-list.js b/src/Data Structures/reverse-doubly-linked-list.js similarity index 100% rename from Data Structures/reverse-doubly-linked-list.js rename to src/Data Structures/reverse-doubly-linked-list.js diff --git a/Dictionaries and Hashmaps/count-triplet.js b/src/Dictionaries and Hashmaps/count-triplet.js similarity index 100% rename from Dictionaries and Hashmaps/count-triplet.js rename to src/Dictionaries and Hashmaps/count-triplet.js diff --git a/Dictionaries and Hashmaps/custom-hashmap.js b/src/Dictionaries and Hashmaps/custom-hashmap.js similarity index 100% rename from Dictionaries and Hashmaps/custom-hashmap.js rename to src/Dictionaries and Hashmaps/custom-hashmap.js diff --git a/Dictionaries and Hashmaps/frequency-queries.js b/src/Dictionaries and Hashmaps/frequency-queries.js similarity index 100% rename from Dictionaries and Hashmaps/frequency-queries.js rename to src/Dictionaries and Hashmaps/frequency-queries.js diff --git a/Dictionaries and Hashmaps/game-of-thrones.js b/src/Dictionaries and Hashmaps/game-of-thrones.js similarity index 100% rename from Dictionaries and Hashmaps/game-of-thrones.js rename to src/Dictionaries and Hashmaps/game-of-thrones.js diff --git a/Dictionaries and Hashmaps/ransom-note.js b/src/Dictionaries and Hashmaps/ransom-note.js similarity index 100% rename from Dictionaries and Hashmaps/ransom-note.js rename to src/Dictionaries and Hashmaps/ransom-note.js diff --git a/Dictionaries and Hashmaps/sherlock-and-anagrams.js b/src/Dictionaries and Hashmaps/sherlock-and-anagrams.js similarity index 100% rename from Dictionaries and Hashmaps/sherlock-and-anagrams.js rename to src/Dictionaries and Hashmaps/sherlock-and-anagrams.js diff --git a/Dictionaries and Hashmaps/two-strings.js b/src/Dictionaries and Hashmaps/two-strings.js similarity index 100% rename from Dictionaries and Hashmaps/two-strings.js rename to src/Dictionaries and Hashmaps/two-strings.js diff --git a/Numbers/grading.js b/src/Numbers/grading.js similarity index 100% rename from Numbers/grading.js rename to src/Numbers/grading.js diff --git a/Numbers/kangaroo.js b/src/Numbers/kangaroo.js similarity index 100% rename from Numbers/kangaroo.js rename to src/Numbers/kangaroo.js diff --git a/Numbers/plus-minus.js b/src/Numbers/plus-minus.js similarity index 100% rename from Numbers/plus-minus.js rename to src/Numbers/plus-minus.js diff --git a/Numbers/staircase.js b/src/Numbers/staircase.js similarity index 100% rename from Numbers/staircase.js rename to src/Numbers/staircase.js diff --git a/Sorting/bubble-sort.js b/src/Sorting/bubble-sort.js similarity index 100% rename from Sorting/bubble-sort.js rename to src/Sorting/bubble-sort.js diff --git a/Sorting/mark-and-toys.js b/src/Sorting/mark-and-toys.js similarity index 100% rename from Sorting/mark-and-toys.js rename to src/Sorting/mark-and-toys.js diff --git a/Sorting/mini-max-sum.js b/src/Sorting/mini-max-sum.js similarity index 100% rename from Sorting/mini-max-sum.js rename to src/Sorting/mini-max-sum.js diff --git a/Strings/alternating-characters.js b/src/Strings/alternating-characters.js similarity index 100% rename from Strings/alternating-characters.js rename to src/Strings/alternating-characters.js diff --git a/Strings/counting-valleys.js b/src/Strings/counting-valleys.js similarity index 100% rename from Strings/counting-valleys.js rename to src/Strings/counting-valleys.js diff --git a/Strings/hackerrank-in-string.js b/src/Strings/hackerrank-in-string.js similarity index 100% rename from Strings/hackerrank-in-string.js rename to src/Strings/hackerrank-in-string.js diff --git a/Strings/making-anagrams.js b/src/Strings/making-anagrams.js similarity index 100% rename from Strings/making-anagrams.js rename to src/Strings/making-anagrams.js diff --git a/Strings/repeated-string.js b/src/Strings/repeated-string.js similarity index 100% rename from Strings/repeated-string.js rename to src/Strings/repeated-string.js diff --git a/Strings/sherlock-and-the-valid-string.js b/src/Strings/sherlock-and-the-valid-string.js similarity index 100% rename from Strings/sherlock-and-the-valid-string.js rename to src/Strings/sherlock-and-the-valid-string.js diff --git a/Strings/strong-password.js b/src/Strings/strong-password.js similarity index 100% rename from Strings/strong-password.js rename to src/Strings/strong-password.js diff --git a/Strings/time-conversion.js b/src/Strings/time-conversion.js similarity index 100% rename from Strings/time-conversion.js rename to src/Strings/time-conversion.js diff --git a/test/Arrays/birthday-cake-candles.test.js b/test/Arrays/birthday-cake-candles.test.js index ba2fb31..5d43aba 100644 --- a/test/Arrays/birthday-cake-candles.test.js +++ b/test/Arrays/birthday-cake-candles.test.js @@ -1,4 +1,4 @@ -const birthdayCakeCandles = require("../../Arrays/birthday-cake-candles"); +const birthdayCakeCandles = require("../../src/Arrays/birthday-cake-candles"); const { describe, it } = require("mocha"); const { expect } = require("chai"); diff --git a/test/Arrays/left-rotation.test.js b/test/Arrays/left-rotation.test.js index f1dd855..2a4e66a 100644 --- a/test/Arrays/left-rotation.test.js +++ b/test/Arrays/left-rotation.test.js @@ -1,4 +1,4 @@ -const leftRotation = require('../../Arrays/left-rotation') +const leftRotation = require('../../src/Arrays/left-rotation') const { describe, it } = require('mocha') const { expect } = require('chai') diff --git a/test/Data Structures/cycle-detection.test.js b/test/Data Structures/cycle-detection.test.js index a465729..32fdcb7 100644 --- a/test/Data Structures/cycle-detection.test.js +++ b/test/Data Structures/cycle-detection.test.js @@ -1,4 +1,4 @@ -const { hasCycle, Node } = require('../../Data Structures/cycle-detection'); +const { hasCycle, Node } = require('../../src/Data Structures/cycle-detection'); const { describe, it } = require('mocha'); const { expect } = require('chai'); diff --git a/test/Data Structures/reverse-doubly-linked-list.test.js b/test/Data Structures/reverse-doubly-linked-list.test.js index f23567b..4acc443 100644 --- a/test/Data Structures/reverse-doubly-linked-list.test.js +++ b/test/Data Structures/reverse-doubly-linked-list.test.js @@ -1,4 +1,4 @@ -const { reverse, DoublyLinkedListNode, DoublyLinkedList } = require('../../Data Structures/reverse-doubly-linked-list'); +const { reverse, DoublyLinkedListNode, DoublyLinkedList } = require('../../src/Data Structures/reverse-doubly-linked-list'); const { describe, it } = require('mocha') const { expect } = require('chai') diff --git a/test/Numbers/plus-minus.test.js b/test/Numbers/plus-minus.test.js index aa7ab29..7fa3ced 100644 --- a/test/Numbers/plus-minus.test.js +++ b/test/Numbers/plus-minus.test.js @@ -1,4 +1,4 @@ -const plusMinus = require('../../Numbers/plus-minus') +const plusMinus = require('../../src/Numbers/plus-minus') const { describe, it } = require('mocha') const { expect } = require('chai') diff --git a/test/Strings/hackerrank-in-string.test.js b/test/Strings/hackerrank-in-string.test.js index 647c9a7..349627c 100644 --- a/test/Strings/hackerrank-in-string.test.js +++ b/test/Strings/hackerrank-in-string.test.js @@ -1,4 +1,4 @@ -const hackerrankInString = require("../../Strings/hackerrank-in-string"); +const hackerrankInString = require("../../src/Strings/hackerrank-in-string"); const { describe, it } = require("mocha"); const { expect } = require("chai"); diff --git a/test/Strings/repeated-string.test.js b/test/Strings/repeated-string.test.js index a797079..7003391 100644 --- a/test/Strings/repeated-string.test.js +++ b/test/Strings/repeated-string.test.js @@ -1,4 +1,4 @@ -const repeatedString = require("../../Strings/repeated-string"); +const repeatedString = require("../../src/Strings/repeated-string"); const { describe, it } = require("mocha"); const { expect } = require("chai"); diff --git a/test/Strings/strong-password.test.js b/test/Strings/strong-password.test.js index 2f44ed7..f9fec61 100644 --- a/test/Strings/strong-password.test.js +++ b/test/Strings/strong-password.test.js @@ -1,4 +1,4 @@ -const passwordStrengthMinimumNumber = require("../../Strings/strong-password"); +const passwordStrengthMinimumNumber = require("../../src/Strings/strong-password"); const { describe, it } = require("mocha"); const { expect } = require("chai"); diff --git a/test/Strings/time-conversion.test.js b/test/Strings/time-conversion.test.js index c89a1d1..16ba822 100644 --- a/test/Strings/time-conversion.test.js +++ b/test/Strings/time-conversion.test.js @@ -1,4 +1,4 @@ -const timeConversion = require("../../Strings/time-conversion"); +const timeConversion = require("../../src/Strings/time-conversion"); const { describe, it } = require("mocha"); const { expect } = require("chai");