@sequencemedia/eslint-config-standard 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/common/merge.mjs CHANGED
@@ -20,36 +20,40 @@ export function getSettings ({ settings = {} }) {
20
20
 
21
21
  export function mergeLanguageOptions (alpha = {}, omega = {}) {
22
22
  return (
23
- Object.assign(
24
- structuredClone(getLanguageOptions(alpha)),
25
- getLanguageOptions(omega)
26
- )
23
+ Object
24
+ .assign(
25
+ structuredClone(getLanguageOptions(alpha)),
26
+ getLanguageOptions(omega)
27
+ )
27
28
  )
28
29
  }
29
30
 
30
31
  export function mergeLinterOptions (alpha = {}, omega = {}) {
31
32
  return (
32
- Object.assign(
33
- structuredClone(getLinterOptions(alpha)),
34
- getLinterOptions(omega)
35
- )
33
+ Object
34
+ .assign(
35
+ structuredClone(getLinterOptions(alpha)),
36
+ getLinterOptions(omega)
37
+ )
36
38
  )
37
39
  }
38
40
 
39
41
  export function mergeRules (alpha = {}, omega = {}) {
40
42
  return (
41
- Object.assign(
42
- structuredClone(getRules(alpha)),
43
- getRules(omega)
44
- )
43
+ Object
44
+ .assign(
45
+ structuredClone(getRules(alpha)),
46
+ getRules(omega)
47
+ )
45
48
  )
46
49
  }
47
50
 
48
51
  export function mergeSettings (alpha = {}, omega = {}) {
49
52
  return (
50
- Object.assign(
51
- structuredClone(getSettings(alpha)),
52
- getSettings(omega)
53
- )
53
+ Object
54
+ .assign(
55
+ structuredClone(getSettings(alpha)),
56
+ getSettings(omega)
57
+ )
54
58
  )
55
59
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sequencemedia/eslint-config-standard",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "description": "Standard configuration for ESLint 9",
5
5
  "main": "./index.mjs",
6
6
  "type": "module",
@@ -0,0 +1,59 @@
1
+ import {
2
+ expect
3
+ } from 'chai'
4
+
5
+ import STANDARD from '#eslint-config-standard/config/standard'
6
+
7
+ import merge from '#eslint-config-standard/merge/standard'
8
+
9
+ describe('#eslint-config-standard/merge/standard', () => {
10
+ describe('`merge`', () => it('is a function', () => expect(merge).to.be.a('function')))
11
+
12
+ describe('`merge()`', () => {
13
+ describe('Always', () => it('returns an object', () => expect(merge()).to.be.an('object')))
14
+
15
+ describe('Merges', () => {
16
+ it('returns an object', () => {
17
+ const MOCK_FILES = [
18
+ 'MOCK FILES'
19
+ ]
20
+ const MOCK_IGNORES = [
21
+ 'MOCK IGNORES'
22
+ ]
23
+ const MOCK_LANGUAGE_OPTIONS = { mockOption: 'MOCK LANGUAGE OPTIONS' }
24
+ const MOCK_LINTER_OPTIONS = { mockOption: 'MOCK LINTER OPTIONS' }
25
+ const MOCK_RULES = { mockOption: 'MOCK RULES' }
26
+ const MOCK_SETTINGS = { mockOption: 'MOCK SETTINGS' }
27
+
28
+ const {
29
+ rules: STANDARD_RULES
30
+ } = STANDARD
31
+
32
+ return (
33
+ expect(
34
+ merge({
35
+ files: MOCK_FILES,
36
+ ignores: MOCK_IGNORES,
37
+ languageOptions: MOCK_LANGUAGE_OPTIONS,
38
+ linterOptions: MOCK_LINTER_OPTIONS,
39
+ rules: MOCK_RULES,
40
+ settings: MOCK_SETTINGS
41
+ })
42
+ )
43
+ .to.eql({
44
+ ...STANDARD,
45
+ files: MOCK_FILES,
46
+ ignores: MOCK_IGNORES,
47
+ languageOptions: MOCK_LANGUAGE_OPTIONS,
48
+ linterOptions: MOCK_LINTER_OPTIONS,
49
+ rules: {
50
+ ...STANDARD_RULES,
51
+ ...MOCK_RULES
52
+ },
53
+ settings: MOCK_SETTINGS
54
+ })
55
+ )
56
+ })
57
+ })
58
+ })
59
+ })
@@ -0,0 +1,59 @@
1
+ import {
2
+ expect
3
+ } from 'chai'
4
+
5
+ import STYLISTIC from '#eslint-config-standard/config/stylistic'
6
+
7
+ import merge from '#eslint-config-standard/merge/stylistic'
8
+
9
+ describe('#eslint-config-standard/merge/stylistic', () => {
10
+ describe('`merge`', () => it('is a function', () => expect(merge).to.be.a('function')))
11
+
12
+ describe('`merge()`', () => {
13
+ describe('Always', () => it('returns an object', () => expect(merge()).to.be.an('object')))
14
+
15
+ describe('Merges', () => {
16
+ it('returns an object', () => {
17
+ const MOCK_FILES = [
18
+ 'MOCK FILES'
19
+ ]
20
+ const MOCK_IGNORES = [
21
+ 'MOCK IGNORES'
22
+ ]
23
+ const MOCK_LANGUAGE_OPTIONS = { mockOption: 'MOCK LANGUAGE OPTIONS' }
24
+ const MOCK_LINTER_OPTIONS = { mockOption: 'MOCK LINTER OPTIONS' }
25
+ const MOCK_RULES = { mockOption: 'MOCK RULES' }
26
+ const MOCK_SETTINGS = { mockOption: 'MOCK SETTINGS' }
27
+
28
+ const {
29
+ rules: STYLISTIC_RULES
30
+ } = STYLISTIC
31
+
32
+ return (
33
+ expect(
34
+ merge({
35
+ files: MOCK_FILES,
36
+ ignores: MOCK_IGNORES,
37
+ languageOptions: MOCK_LANGUAGE_OPTIONS,
38
+ linterOptions: MOCK_LINTER_OPTIONS,
39
+ rules: MOCK_RULES,
40
+ settings: MOCK_SETTINGS
41
+ })
42
+ )
43
+ .to.eql({
44
+ ...STYLISTIC,
45
+ files: MOCK_FILES,
46
+ ignores: MOCK_IGNORES,
47
+ languageOptions: MOCK_LANGUAGE_OPTIONS,
48
+ linterOptions: MOCK_LINTER_OPTIONS,
49
+ rules: {
50
+ ...STYLISTIC_RULES,
51
+ ...MOCK_RULES
52
+ },
53
+ settings: MOCK_SETTINGS
54
+ })
55
+ )
56
+ })
57
+ })
58
+ })
59
+ })
@@ -0,0 +1,89 @@
1
+ import {
2
+ expect
3
+ } from 'chai'
4
+
5
+ import STANDARD from '#eslint-config-standard/config/standard'
6
+ import STYLISTIC from '#eslint-config-standard/config/stylistic'
7
+
8
+ import merge from '#eslint-config-standard/merge'
9
+
10
+ describe('#eslint-config-standard/merge', () => {
11
+ describe('`merge`', () => it('is a function', () => expect(merge).to.be.a('function')))
12
+
13
+ describe('`merge()`', () => {
14
+ describe('Always', () => it('returns an array', () => expect(merge()).to.be.an('array')))
15
+
16
+ describe('Merges', () => {
17
+ it('returns an array', () => {
18
+ const MOCK_FILES = [
19
+ 'MOCK FILES'
20
+ ]
21
+ const MOCK_IGNORES = [
22
+ 'MOCK IGNORES'
23
+ ]
24
+ const MOCK_LANGUAGE_OPTIONS = { mockOption: 'MOCK LANGUAGE OPTIONS' }
25
+ const MOCK_LINTER_OPTIONS = { mockOption: 'MOCK LINTER OPTIONS' }
26
+ const MOCK_RULES = { mockOption: 'MOCK RULES' }
27
+ const MOCK_SETTINGS = { mockOption: 'MOCK SETTINGS' }
28
+
29
+ const {
30
+ rules: STANDARD_RULES
31
+ } = STANDARD
32
+
33
+ const {
34
+ rules: STYLISTIC_RULES
35
+ } = STYLISTIC
36
+
37
+ return (
38
+ expect(
39
+ merge({
40
+ files: MOCK_FILES,
41
+ ignores: MOCK_IGNORES,
42
+ languageOptions: MOCK_LANGUAGE_OPTIONS,
43
+ linterOptions: MOCK_LINTER_OPTIONS,
44
+ rules: MOCK_RULES,
45
+ settings: MOCK_SETTINGS
46
+ })
47
+ )
48
+ .to.eql([
49
+ {
50
+ name: '@sequencemedia/eslint-config-standard',
51
+ files: MOCK_FILES,
52
+ ignores: MOCK_IGNORES,
53
+ languageOptions: {
54
+ ecmaVersion: 'latest',
55
+ ...MOCK_LANGUAGE_OPTIONS
56
+ },
57
+ linterOptions: MOCK_LINTER_OPTIONS,
58
+ rules: MOCK_RULES,
59
+ settings: MOCK_SETTINGS
60
+ },
61
+ {
62
+ ...STANDARD,
63
+ files: MOCK_FILES,
64
+ ignores: MOCK_IGNORES,
65
+ languageOptions: MOCK_LANGUAGE_OPTIONS,
66
+ linterOptions: MOCK_LINTER_OPTIONS,
67
+ rules: {
68
+ ...STANDARD_RULES,
69
+ ...MOCK_RULES
70
+ },
71
+ settings: MOCK_SETTINGS
72
+ },
73
+ {
74
+ ...STYLISTIC,
75
+ files: MOCK_FILES,
76
+ ignores: MOCK_IGNORES,
77
+ languageOptions: MOCK_LANGUAGE_OPTIONS,
78
+ linterOptions: MOCK_LINTER_OPTIONS,
79
+ rules: {
80
+ ...STYLISTIC_RULES,
81
+ ...MOCK_RULES
82
+ },
83
+ settings: MOCK_SETTINGS
84
+ }])
85
+ )
86
+ })
87
+ })
88
+ })
89
+ })