trackler 2.2.1.137 → 2.2.1.138
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/problem-specifications/exercises/diffie-hellman/canonical-data.json +72 -0
- data/problem-specifications/exercises/yacht/description.md +2 -2
- data/tracks/csharp/exercises/sgf-parsing/Example.cs +1 -1
- data/tracks/csharp/exercises/sgf-parsing/SgfParsingTest.cs +1 -1
- data/tracks/csharp/exercises/sublist/SublistTest.cs +37 -78
- data/tracks/csharp/generators/Exercises/Sublist.cs +32 -0
- data/tracks/elisp/exercises/bob/README.md +2 -0
- data/tracks/elisp/exercises/bob/bob-test.el +60 -15
- data/tracks/elisp/exercises/bob/example.el +15 -5
- data/tracks/elisp/exercises/hamming/hamming-test.el +1 -1
- data/tracks/fsharp/build.ps1 +3 -3
- data/tracks/fsharp/build.sh +3 -3
- data/tracks/fsharp/exercises/bracket-push/BracketPushTest.fs +5 -1
- data/tracks/fsharp/exercises/isbn-verifier/IsbnVerifierTest.fs +5 -1
- data/tracks/fsharp/exercises/kindergarten-garden/KindergartenGardenTest.fs +1 -1
- data/tracks/fsharp/exercises/pov/PovTest.fs +6 -1
- data/tracks/fsharp/exercises/react/Example.fs +2 -2
- data/tracks/fsharp/exercises/react/React.fsproj +1 -0
- data/tracks/fsharp/exercises/react/ReactTest.fs +55 -33
- data/tracks/fsharp/exercises/series/Example.fs +2 -12
- data/tracks/fsharp/exercises/series/SeriesTest.fs +33 -56
- data/tracks/fsharp/generators/Generators.fs +81 -46
- data/tracks/idris/exercises/rna-transcription/src/{example.idr → Example.idr} +0 -0
- data/tracks/java/config.json +14 -0
- data/tracks/java/exercises/acronym/src/test/java/AcronymTest.java +10 -10
- data/tracks/java/exercises/all-your-base/src/test/java/BaseConverterTest.java +39 -39
- data/tracks/java/exercises/grep/.meta/hints.md +58 -0
- data/tracks/java/exercises/grep/.meta/src/reference/java/GrepTool.java +65 -0
- data/tracks/java/exercises/grep/.meta/version +1 -0
- data/tracks/java/exercises/grep/README.md +145 -0
- data/tracks/java/exercises/grep/build.gradle +18 -0
- data/tracks/java/exercises/grep/src/main/java/.keep +0 -0
- data/tracks/java/exercises/grep/src/test/java/GrepToolTest.java +395 -0
- data/tracks/java/exercises/largest-series-product/src/test/java/LargestSeriesProductCalculatorTest.java +36 -36
- data/tracks/java/exercises/minesweeper/src/test/java/MinesweeperBoardTest.java +36 -36
- data/tracks/java/exercises/phone-number/src/test/java/PhoneNumberTest.java +14 -14
- data/tracks/java/exercises/poker/src/test/java/PokerTest.java +40 -40
- data/tracks/java/exercises/pythagorean-triplet/src/test/java/PythagoreanTripletTest.java +10 -10
- data/tracks/java/exercises/settings.gradle +1 -0
- data/tracks/ocaml/exercises/anagram/example.ml +1 -1
- data/tracks/ocaml/exercises/change/example.ml +1 -1
- data/tracks/ocaml/exercises/custom-set/example.ml +4 -3
- data/tracks/ocaml/exercises/custom-set/test.ml +0 -1
- data/tracks/ocaml/exercises/dominoes/test.ml +1 -1
- data/tracks/ocaml/exercises/etl/example.ml +1 -1
- data/tracks/ocaml/exercises/grade-school/example.ml +1 -1
- data/tracks/ocaml/exercises/palindrome-products/example.ml +2 -2
- data/tracks/ocaml/exercises/prime-factors/example.ml +1 -1
- data/tracks/ocaml/exercises/robot-name/test.ml +1 -1
- data/tracks/ocaml/exercises/triangle/example.ml +1 -1
- data/tracks/ocaml/make-exercise.sh +1 -0
- data/tracks/ocaml/tools/test-generator/src/controller.ml +1 -1
- data/tracks/perl5/exercises/raindrops/.meta/solutions/Raindrops.pm +13 -12
- data/tracks/perl5/exercises/raindrops/raindrops.t +166 -111
- data/tracks/perl6/docs/INSTALLATION.md +1 -3
- data/tracks/perl6/exercises/raindrops/.meta/exercise-data.yaml +5 -5
- data/tracks/perl6/exercises/raindrops/.meta/solutions/Raindrops.pm6 +2 -2
- data/tracks/perl6/exercises/raindrops/Raindrops.pm6 +2 -2
- data/tracks/perl6/exercises/raindrops/raindrops.t +3 -3
- data/tracks/python/exercises/food-chain/example.py +11 -2
- data/tracks/python/exercises/food-chain/food_chain_test.py +48 -45
- data/tracks/python/exercises/pov/pov_test.py +12 -1
- data/tracks/python/exercises/series/README.md +6 -6
- data/tracks/python/exercises/series/example.py +2 -3
- data/tracks/python/exercises/series/series_test.py +27 -28
- data/tracks/python/exercises/sgf-parsing/example.py +1 -1
- data/tracks/python/exercises/sgf-parsing/sgf_parsing_test.py +1 -1
- data/tracks/python/exercises/yacht/README.md +2 -2
- data/tracks/ruby/Gemfile +0 -1
- data/tracks/ruby/README.md +23 -0
- data/tracks/ruby/bin/generate +1 -0
- data/tracks/ruby/exercises/complex-numbers/complex_numbers_test.rb +1 -1
- data/tracks/ruby/lib/generator.rb +1 -2
- data/tracks/ruby/lib/generator/command_line.rb +3 -0
- data/tracks/ruby/lib/generator/command_line/generator_optparser.rb +1 -0
- data/tracks/ruby/lib/generator/exercise.rb +2 -0
- data/tracks/ruby/lib/generator/exercise_case.rb +3 -0
- data/tracks/ruby/lib/generator/files.rb +1 -0
- data/tracks/ruby/lib/generator/files/metadata_files.rb +2 -0
- data/tracks/ruby/lib/generator/files/track_files.rb +1 -0
- data/tracks/ruby/lib/generator/implementation.rb +1 -0
- data/tracks/ruby/lib/generator/repository.rb +3 -0
- data/tracks/ruby/lib/generator/template_values.rb +1 -0
- data/tracks/ruby/test/generator/case_values_test.rb +2 -0
- data/tracks/ruby/test/generator/command_line_test.rb +1 -0
- data/tracks/ruby/test/generator/files/metadata_files_test.rb +2 -0
- data/tracks/ruby/test/generator/files/track_files_test.rb +1 -0
- data/tracks/ruby/test/generator/implementation_test.rb +1 -0
- data/tracks/ruby/test/tasks/exercise_test.rb +1 -0
- data/tracks/ruby/test/tasks/exercise_test_tasks_test.rb +2 -0
- data/tracks/ruby/test/test_helper.rb +1 -3
- data/tracks/rust/config.json +12 -0
- data/tracks/rust/exercises/atbash-cipher/src/lib.rs +9 -0
- data/tracks/rust/exercises/hamming/src/lib.rs +6 -0
- data/tracks/rust/exercises/isogram/src/lib.rs +3 -0
- data/tracks/rust/exercises/luhn/src/lib.rs +4 -0
- data/tracks/rust/exercises/palindrome-products/.meta/test-in-release-mode +1 -0
- data/tracks/rust/exercises/palindrome-products/Cargo.toml +6 -0
- data/tracks/rust/exercises/palindrome-products/README.md +72 -0
- data/tracks/rust/exercises/palindrome-products/example.rs +25 -0
- data/tracks/rust/exercises/palindrome-products/src/lib.rs +22 -0
- data/tracks/rust/exercises/palindrome-products/tests/palindrome-products.rs +57 -0
- data/tracks/rust/exercises/pangram/src/lib.rs +4 -0
- data/tracks/rust/exercises/run-length-encoding/src/lib.rs +7 -0
- data/tracks/rust/exercises/say/src/lib.rs +3 -4
- data/tracks/rust/exercises/scrabble-score/src/lib.rs +4 -0
- data/tracks/rust/exercises/word-count/src/lib.rs +6 -0
- data/tracks/scheme/exercises/hello-world/example.scm +1 -4
- data/tracks/scheme/exercises/hello-world/hello-world-test.scm +1 -5
- data/tracks/scheme/exercises/scrabble-score/scrabble-score-test.scm +2 -2
- data/tracks/typescript/config.json +30 -0
- data/tracks/typescript/exercises/queen-attack/README.md +59 -0
- data/tracks/typescript/exercises/queen-attack/package.json +36 -0
- data/tracks/typescript/exercises/queen-attack/queen-attack.example.ts +56 -0
- data/tracks/typescript/exercises/queen-attack/queen-attack.test.ts +71 -0
- data/tracks/typescript/exercises/queen-attack/queen-attack.ts +0 -0
- data/tracks/typescript/exercises/queen-attack/tsconfig.json +22 -0
- data/tracks/typescript/exercises/queen-attack/tslint.json +127 -0
- data/tracks/typescript/exercises/queen-attack/yarn.lock +2624 -0
- data/tracks/typescript/exercises/spiral-matrix/README.md +56 -0
- data/tracks/typescript/exercises/spiral-matrix/package.json +36 -0
- data/tracks/typescript/exercises/spiral-matrix/spiral-matrix.example.ts +33 -0
- data/tracks/typescript/exercises/spiral-matrix/spiral-matrix.test.ts +49 -0
- data/tracks/typescript/exercises/spiral-matrix/spiral-matrix.ts +0 -0
- data/tracks/typescript/exercises/spiral-matrix/tsconfig.json +22 -0
- data/tracks/typescript/exercises/spiral-matrix/tslint.json +127 -0
- data/tracks/typescript/exercises/spiral-matrix/yarn.lock +2624 -0
- metadata +35 -3
@@ -10,12 +10,8 @@
|
|
10
10
|
|
11
11
|
(test-begin "hello-world")
|
12
12
|
|
13
|
-
(test-assert "
|
13
|
+
(test-assert "Say Hi!"
|
14
14
|
(equal? (hello)
|
15
15
|
"Hello, World!"))
|
16
16
|
|
17
|
-
(test-assert "Called with an arg returns hello arg"
|
18
|
-
(equal? (hello "exercism")
|
19
|
-
"Hello, exercism!"))
|
20
|
-
|
21
17
|
(test-end "hello-world")
|
@@ -8,7 +8,7 @@
|
|
8
8
|
(add-to-load-path (dirname (current-filename)))
|
9
9
|
(use-modules (scrabble-score))
|
10
10
|
|
11
|
-
(test-begin "
|
11
|
+
(test-begin "scrabble-score")
|
12
12
|
|
13
13
|
(test-assert "a is worth one point"
|
14
14
|
(equal? (score "a")
|
@@ -54,4 +54,4 @@
|
|
54
54
|
(equal? (score "")
|
55
55
|
0))
|
56
56
|
|
57
|
-
(test-end "
|
57
|
+
(test-end "scrabble-score")
|
@@ -414,6 +414,20 @@
|
|
414
414
|
"unlocked_by": "matrix",
|
415
415
|
"uuid": "6d81d98f-afde-4aea-85ff-c7baef98fb7e"
|
416
416
|
},
|
417
|
+
{
|
418
|
+
"core": false,
|
419
|
+
"difficulty": 4,
|
420
|
+
"slug": "spiral-matrix",
|
421
|
+
"topics": [
|
422
|
+
"arrays",
|
423
|
+
"control_flow_conditionals",
|
424
|
+
"control_flow_loops",
|
425
|
+
"data_structures",
|
426
|
+
"matrices"
|
427
|
+
],
|
428
|
+
"unlocked_by": "matrix",
|
429
|
+
"uuid": "702b1e87-55db-479f-9ef9-4ccdfe8849b1"
|
430
|
+
},
|
417
431
|
{
|
418
432
|
"core": false,
|
419
433
|
"difficulty": 5,
|
@@ -730,6 +744,22 @@
|
|
730
744
|
"unlocked_by": "grade-school",
|
731
745
|
"uuid": "18376dda-8e8d-4cf7-a44a-db71da438e87"
|
732
746
|
},
|
747
|
+
{
|
748
|
+
"core": false,
|
749
|
+
"difficulty": 8,
|
750
|
+
"slug": "queen-attack",
|
751
|
+
"topics": [
|
752
|
+
"control_flow_conditionals",
|
753
|
+
"control_flow_loops",
|
754
|
+
"equality",
|
755
|
+
"exception_handling",
|
756
|
+
"optional_values",
|
757
|
+
"parsing",
|
758
|
+
"text_formatting"
|
759
|
+
],
|
760
|
+
"unlocked_by": null,
|
761
|
+
"uuid": "837fbe57-a567-4fc7-a7a2-8b63059ac8b7"
|
762
|
+
},
|
733
763
|
{
|
734
764
|
"core": false,
|
735
765
|
"difficulty": 9,
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# Queen Attack
|
2
|
+
|
3
|
+
Given the position of two queens on a chess board, indicate whether or not they
|
4
|
+
are positioned so that they can attack each other.
|
5
|
+
|
6
|
+
In the game of chess, a queen can attack pieces which are on the same
|
7
|
+
row, column, or diagonal.
|
8
|
+
|
9
|
+
A chessboard can be represented by an 8 by 8 array.
|
10
|
+
|
11
|
+
So if you're told the white queen is at (2, 3) and the black queen at
|
12
|
+
(5, 6), then you'd know you've got a set-up like so:
|
13
|
+
|
14
|
+
```text
|
15
|
+
_ _ _ _ _ _ _ _
|
16
|
+
_ _ _ _ _ _ _ _
|
17
|
+
_ _ _ W _ _ _ _
|
18
|
+
_ _ _ _ _ _ _ _
|
19
|
+
_ _ _ _ _ _ _ _
|
20
|
+
_ _ _ _ _ _ B _
|
21
|
+
_ _ _ _ _ _ _ _
|
22
|
+
_ _ _ _ _ _ _ _
|
23
|
+
```
|
24
|
+
|
25
|
+
You'd also be able to answer whether the queens can attack each other.
|
26
|
+
In this case, that answer would be yes, they can, because both pieces
|
27
|
+
share a diagonal.
|
28
|
+
|
29
|
+
## Setup
|
30
|
+
|
31
|
+
Go through the setup instructions for TypeScript to
|
32
|
+
install the necessary dependencies:
|
33
|
+
|
34
|
+
http://exercism.io/languages/typescript
|
35
|
+
|
36
|
+
## Requirements
|
37
|
+
|
38
|
+
Install assignment dependencies:
|
39
|
+
|
40
|
+
```bash
|
41
|
+
$ yarn install
|
42
|
+
```
|
43
|
+
|
44
|
+
## Making the test suite pass
|
45
|
+
|
46
|
+
Execute the tests with:
|
47
|
+
|
48
|
+
```bash
|
49
|
+
$ yarn test
|
50
|
+
```
|
51
|
+
|
52
|
+
|
53
|
+
|
54
|
+
## Source
|
55
|
+
|
56
|
+
J Dalbey's Programming Practice problems [http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html](http://users.csc.calpoly.edu/~jdalbey/103/Projects/ProgrammingPractice.html)
|
57
|
+
|
58
|
+
## Submitting Incomplete Solutions
|
59
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,36 @@
|
|
1
|
+
{
|
2
|
+
"name": "xtypescript",
|
3
|
+
"version": "1.0.0",
|
4
|
+
"description": "Exercism exercises in Typescript.",
|
5
|
+
"author": "",
|
6
|
+
"private": true,
|
7
|
+
"repository": {
|
8
|
+
"type": "git",
|
9
|
+
"url": "https://github.com/exercism/xtypescript"
|
10
|
+
},
|
11
|
+
"devDependencies": {},
|
12
|
+
"scripts": {
|
13
|
+
"test": "tsc --noEmit -p . && jest --no-cache",
|
14
|
+
"lint": "tsc --noEmit -p . && tslint \"*.ts?(x)\"",
|
15
|
+
"lintci": "tslint \"*.ts?(x)\" --force"
|
16
|
+
},
|
17
|
+
"dependencies": {
|
18
|
+
"@types/jest": "^21.1.5",
|
19
|
+
"@types/node": "^8.0.47",
|
20
|
+
"jest": "^21.2.1",
|
21
|
+
"ts-jest": "^21.1.3",
|
22
|
+
"tslint": "^5.8.0",
|
23
|
+
"typescript": "^2.5.3"
|
24
|
+
},
|
25
|
+
"jest": {
|
26
|
+
"transform": {
|
27
|
+
".(ts|tsx)": "<rootDir>/node_modules/ts-jest/preprocessor.js"
|
28
|
+
},
|
29
|
+
"testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$",
|
30
|
+
"moduleFileExtensions": [
|
31
|
+
"ts",
|
32
|
+
"tsx",
|
33
|
+
"js"
|
34
|
+
]
|
35
|
+
}
|
36
|
+
}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
class QueenAttack {
|
2
|
+
W = 8
|
3
|
+
H = 8
|
4
|
+
black: number[]
|
5
|
+
white: number[]
|
6
|
+
board: string[]
|
7
|
+
|
8
|
+
constructor(params: { black: [number, number], white: [number, number] }) {
|
9
|
+
const self = this instanceof QueenAttack ? this : Object.getPrototypeOf(QueenAttack)
|
10
|
+
if (this.samePosition(params)) {
|
11
|
+
throw new Error('Queens cannot share the same space')
|
12
|
+
}
|
13
|
+
|
14
|
+
self.black = params.black
|
15
|
+
self.white = params.white
|
16
|
+
self.board = this.constructBoard()
|
17
|
+
this.placePieces()
|
18
|
+
|
19
|
+
self.toString = () => self.board.join('')
|
20
|
+
|
21
|
+
return self
|
22
|
+
}
|
23
|
+
|
24
|
+
samePosition(positioning: { white: number[], black: number[] }) {
|
25
|
+
return positioning.white[0] === positioning.black[0] && positioning.white[1] === positioning.black[1]
|
26
|
+
}
|
27
|
+
|
28
|
+
buildRow(cell: string, colCount: number) {
|
29
|
+
return Array(...Array(colCount)).map(() => cell)
|
30
|
+
}
|
31
|
+
|
32
|
+
concatRows(row: string, rowCount: number) {
|
33
|
+
return [...Array.prototype.concat.apply(this.buildRow(row, rowCount)).join('')]
|
34
|
+
}
|
35
|
+
|
36
|
+
constructBoard() {
|
37
|
+
let row = this.buildRow('_ ', this.W).join('')
|
38
|
+
row = `${row.substring(0, row.length - 1)}\n`
|
39
|
+
return this.concatRows(row, this.H)
|
40
|
+
}
|
41
|
+
|
42
|
+
placePieces() {
|
43
|
+
const board = this.board
|
44
|
+
board[(this.black[0] * this.W * 2) + (this.black[1] * 2)] = 'B'
|
45
|
+
board[(this.white[0] * this.W * 2) + (this.white[1] * 2)] = 'W'
|
46
|
+
}
|
47
|
+
|
48
|
+
canAttack = () => {
|
49
|
+
if (this.black[0] === this.white[0] || this.black[1] === this.white[1]) {
|
50
|
+
return true
|
51
|
+
}
|
52
|
+
return Math.abs(this.black[0] - this.white[0]) === Math.abs(this.black[1] - this.white[1])
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
export default QueenAttack
|
@@ -0,0 +1,71 @@
|
|
1
|
+
import QueenAttack from './queen-attack'
|
2
|
+
|
3
|
+
describe('Queens', () => {
|
4
|
+
it('initialized with specific placement', () => {
|
5
|
+
const queens = new QueenAttack({ white: [3, 7], black: [6, 1] })
|
6
|
+
expect(queens.white).toEqual([3, 7])
|
7
|
+
expect(queens.black).toEqual([6, 1])
|
8
|
+
})
|
9
|
+
|
10
|
+
xit('cannot occupy the same space', () => {
|
11
|
+
const positioning: { black: [number, number], white: [number, number] } = { black: [2, 4], white: [2, 4] }
|
12
|
+
const expectedError = 'Queens cannot share the same space'
|
13
|
+
expect(() => new QueenAttack(positioning)).toThrow(expectedError)
|
14
|
+
})
|
15
|
+
|
16
|
+
xit('toString representation', () => {
|
17
|
+
const positioning: { black: [number, number], white: [number, number] } = { white: [2, 4], black: [6, 6] }
|
18
|
+
const queens = new QueenAttack(positioning)
|
19
|
+
const board = [
|
20
|
+
'_ _ _ _ _ _ _ _',
|
21
|
+
'_ _ _ _ _ _ _ _',
|
22
|
+
'_ _ _ _ W _ _ _',
|
23
|
+
'_ _ _ _ _ _ _ _',
|
24
|
+
'_ _ _ _ _ _ _ _',
|
25
|
+
'_ _ _ _ _ _ _ _',
|
26
|
+
'_ _ _ _ _ _ B _',
|
27
|
+
'_ _ _ _ _ _ _ _\n'
|
28
|
+
].join('\n')
|
29
|
+
expect(queens.toString()).toEqual(board)
|
30
|
+
})
|
31
|
+
|
32
|
+
xit('queens cannot attack', () => {
|
33
|
+
const queens = new QueenAttack({ white: [2, 3], black: [4, 7] })
|
34
|
+
expect(queens.canAttack()).toEqual(false)
|
35
|
+
})
|
36
|
+
|
37
|
+
xit('queens can attack when they are on the same row', () => {
|
38
|
+
const queens = new QueenAttack({ white: [2, 4], black: [2, 7] })
|
39
|
+
expect(queens.canAttack()).toEqual(true)
|
40
|
+
})
|
41
|
+
|
42
|
+
xit('queens can attack when they are on the same column', () => {
|
43
|
+
const queens = new QueenAttack({ white: [5, 4], black: [2, 4] })
|
44
|
+
expect(queens.canAttack()).toEqual(true)
|
45
|
+
})
|
46
|
+
|
47
|
+
xit('queens can attack diagonally', () => {
|
48
|
+
const queens = new QueenAttack({ white: [1, 1], black: [6, 6] })
|
49
|
+
expect(queens.canAttack()).toEqual(true)
|
50
|
+
})
|
51
|
+
|
52
|
+
xit('queens can attack another diagonally', () => {
|
53
|
+
const queens = new QueenAttack({ white: [0, 6], black: [1, 7] })
|
54
|
+
expect(queens.canAttack()).toEqual(true)
|
55
|
+
})
|
56
|
+
|
57
|
+
xit('queens can attack yet another diagonally', () => {
|
58
|
+
const queens = new QueenAttack({ white: [4, 1], black: [6, 3] })
|
59
|
+
expect(queens.canAttack()).toEqual(true)
|
60
|
+
})
|
61
|
+
|
62
|
+
xit('queens can attack on a north-east/south-west diagonal', () => {
|
63
|
+
const queens = new QueenAttack({ white: [7, 0], black: [0, 7] })
|
64
|
+
expect(queens.canAttack()).toEqual(true)
|
65
|
+
})
|
66
|
+
|
67
|
+
xit('queens can attack on another ne/sw diagonal', () => {
|
68
|
+
const queens = new QueenAttack({ white: [2, 6], black: [5, 3] })
|
69
|
+
expect(queens.canAttack()).toEqual(true)
|
70
|
+
})
|
71
|
+
})
|
File without changes
|
@@ -0,0 +1,22 @@
|
|
1
|
+
{
|
2
|
+
"compilerOptions": {
|
3
|
+
"target": "es2017",
|
4
|
+
"module": "commonjs",
|
5
|
+
"alwaysStrict": true,
|
6
|
+
"noUnusedLocals": true,
|
7
|
+
"noUnusedParameters": true,
|
8
|
+
"noImplicitAny": true,
|
9
|
+
"strictNullChecks": true,
|
10
|
+
"preserveConstEnums": true,
|
11
|
+
"noFallthroughCasesInSwitch":true,
|
12
|
+
"noImplicitThis":true,
|
13
|
+
"noImplicitReturns":true,
|
14
|
+
"sourceMap": true,
|
15
|
+
"noEmitOnError": true,
|
16
|
+
"outDir": "./build"
|
17
|
+
},
|
18
|
+
"compileOnSave": true,
|
19
|
+
"exclude": [
|
20
|
+
"node_modules"
|
21
|
+
]
|
22
|
+
}
|
@@ -0,0 +1,127 @@
|
|
1
|
+
{
|
2
|
+
"jsRules": {
|
3
|
+
"class-name": true,
|
4
|
+
"comment-format": [
|
5
|
+
true,
|
6
|
+
"check-space"
|
7
|
+
],
|
8
|
+
"indent": [
|
9
|
+
true,
|
10
|
+
"spaces"
|
11
|
+
],
|
12
|
+
"no-duplicate-variable": true,
|
13
|
+
"no-eval": true,
|
14
|
+
"no-trailing-whitespace": true,
|
15
|
+
"no-unsafe-finally": true,
|
16
|
+
"one-line": [
|
17
|
+
true,
|
18
|
+
"check-open-brace",
|
19
|
+
"check-whitespace"
|
20
|
+
],
|
21
|
+
"quotemark": [
|
22
|
+
false,
|
23
|
+
"double"
|
24
|
+
],
|
25
|
+
"semicolon": [
|
26
|
+
true,
|
27
|
+
"never"
|
28
|
+
],
|
29
|
+
"triple-equals": [
|
30
|
+
true,
|
31
|
+
"allow-null-check"
|
32
|
+
],
|
33
|
+
"variable-name": [
|
34
|
+
true,
|
35
|
+
"ban-keywords"
|
36
|
+
],
|
37
|
+
"whitespace": [
|
38
|
+
true,
|
39
|
+
"check-branch",
|
40
|
+
"check-decl",
|
41
|
+
"check-operator",
|
42
|
+
"check-separator",
|
43
|
+
"check-type"
|
44
|
+
]
|
45
|
+
},
|
46
|
+
"rules": {
|
47
|
+
"class-name": true,
|
48
|
+
"comment-format": [
|
49
|
+
true,
|
50
|
+
"check-space"
|
51
|
+
],
|
52
|
+
"indent": [
|
53
|
+
true,
|
54
|
+
"spaces"
|
55
|
+
],
|
56
|
+
"no-eval": true,
|
57
|
+
"no-internal-module": true,
|
58
|
+
"no-trailing-whitespace": true,
|
59
|
+
"no-unsafe-finally": true,
|
60
|
+
"no-var-keyword": true,
|
61
|
+
"one-line": [
|
62
|
+
true,
|
63
|
+
"check-open-brace",
|
64
|
+
"check-whitespace"
|
65
|
+
],
|
66
|
+
"semicolon": [
|
67
|
+
true,
|
68
|
+
"never"
|
69
|
+
],
|
70
|
+
"triple-equals": [
|
71
|
+
true,
|
72
|
+
"allow-null-check"
|
73
|
+
],
|
74
|
+
"typedef-whitespace": [
|
75
|
+
true,
|
76
|
+
{
|
77
|
+
"call-signature": "nospace",
|
78
|
+
"index-signature": "nospace",
|
79
|
+
"parameter": "nospace",
|
80
|
+
"property-declaration": "nospace",
|
81
|
+
"variable-declaration": "nospace"
|
82
|
+
}
|
83
|
+
],
|
84
|
+
"variable-name": [
|
85
|
+
true,
|
86
|
+
"ban-keywords"
|
87
|
+
],
|
88
|
+
"whitespace": [
|
89
|
+
true,
|
90
|
+
"check-branch",
|
91
|
+
"check-decl",
|
92
|
+
"check-operator",
|
93
|
+
"check-separator",
|
94
|
+
"check-type"
|
95
|
+
],
|
96
|
+
"no-namespace": true,
|
97
|
+
"prefer-for-of": true,
|
98
|
+
"only-arrow-functions": [true, "allow-declarations"],
|
99
|
+
"no-var-requires": true,
|
100
|
+
"no-any": true,
|
101
|
+
"curly": true,
|
102
|
+
"forin": true,
|
103
|
+
"no-arg": true,
|
104
|
+
"label-position": true,
|
105
|
+
"no-conditional-assignment": true,
|
106
|
+
"no-console": [true, "log", "error"],
|
107
|
+
"no-construct": true,
|
108
|
+
"no-duplicate-variable": true,
|
109
|
+
"no-empty": true,
|
110
|
+
"no-invalid-this": [true, "check-function-in-method"],
|
111
|
+
"no-misused-new": true,
|
112
|
+
"no-null-keyword": true,
|
113
|
+
"no-string-literal": true,
|
114
|
+
"radix": true,
|
115
|
+
"typeof-compare": true,
|
116
|
+
"use-isnan": true,
|
117
|
+
"prefer-const": true,
|
118
|
+
"array-type": [true, "array-simple"],
|
119
|
+
"arrow-parens": true,
|
120
|
+
"new-parens": true,
|
121
|
+
"no-consecutive-blank-lines": [true,1],
|
122
|
+
"no-parameter-properties": true,
|
123
|
+
"no-unnecessary-initializer": true,
|
124
|
+
"object-literal-shorthand": true,
|
125
|
+
"object-literal-key-quotes": [true, "as-needed"]
|
126
|
+
}
|
127
|
+
}
|