1
0
Fork 0

chore(eslint): Support JSON module imports

Also fix a few violations of the `export-with-import-assertions` rule, places where we import specific top-level keys from JSON files in violation of [the current spec](https://github.com/tc39/proposal-json-modules#why-dont-json-modules-support-named-exports).
This commit is contained in:
nikhil 2022-09-20 12:32:49 -04:00
parent ab2a86d77c
commit ecdb466af3
10 changed files with 60 additions and 64 deletions

View file

@ -6,9 +6,16 @@ overrides:
- files: ["*.yaml", "*.yml"]
plugins: ["yaml"]
extends: ["plugin:yaml/recommended"]
# Required when using experimental EcmaScript features
parser: "@babel/eslint-parser"
parserOptions:
ecmaVersion: latest
sourceType: module
# Options specific to the Babel parser
requireConfigFile: false
babelOptions:
plugins:
- "@babel/plugin-syntax-import-assertions"
rules: {}
globals:
it: readonly

View file

@ -1,14 +1,14 @@
import { version } from './package.json' assert { type: 'json' }
import pkg from './package.json' assert { type: 'json' }
export default {
name: '{{name}}',
version,
version: pkg.version,
design: '{{author}}',
code: '{{author}}',
department: '{{department}}',
type: '{{type}}',
difficulty: 3,
tags: [ ],
tags: [],
optionGroups: {
fit: ['size'],
},

View file

@ -56,6 +56,8 @@
]
},
"devDependencies": {
"@babel/eslint-parser": "^7.19.1",
"@babel/plugin-syntax-import-assertions": "^7.18.6",
"@commitlint/cli": "^17.0.2",
"@commitlint/config-conventional": "^17.0.2",
"@types/express": "^4.17.13",

View file

@ -1,29 +1,23 @@
import { version } from '../package.json' assert { type: 'json' }
import pkg from '../package.json' assert { type: 'json' }
import { config as bellaConfig } from '@freesewing/bella'
export default {
name: '{{name}}',
version,
version: pkg.version,
optionGroups: {
...bellaConfig.optionGroups,
},
measurements: [
...bellaConfig.measurements,
],
measurements: [...bellaConfig.measurements],
dependencies: {
bellaFrontSideDart: 'bellaBack',
},
inject: {
back: 'bellaBack',
front: 'bellaFrontSideDart'
front: 'bellaFrontSideDart',
},
hide: [
'bellaBack',
'bellaFrontSideDart',
],
hide: ['bellaBack', 'bellaFrontSideDart'],
parts: [],
options: {
...bellaConfig.options,
},
}

View file

@ -1,15 +1,13 @@
import { version } from '../package.json' assert { type: 'json' }
import pkg from '../package.json' assert { type: 'json' }
import { config as bentConfig } from '@freesewing/bent'
export default {
name: '{{name}}',
version,
version: pkg.version,
optionGroups: {
...bentConfig.optionGroups,
},
measurements: [
...bentConfig.measurements,
],
measurements: [...bentConfig.measurements],
inject: {
bentBack: 'bentBase',
bentFront: 'bentBack',
@ -20,16 +18,8 @@ export default {
topSleeve: 'bentTopSleeve',
underSleeve: 'bentUnderSleeve',
},
hide: [
'bentBase',
'bentFront',
'bentBack',
'bentSleeve',
'bentTopSleeve',
'bentUnderSleeve',
],
hide: ['bentBase', 'bentFront', 'bentBack', 'bentSleeve', 'bentTopSleeve', 'bentUnderSleeve'],
options: {
...bentConfig.options,
},
}

View file

@ -1,17 +1,14 @@
import { version } from '../package.json' assert { type: 'json' }
import pkg from '../package.json' assert { type: 'json' }
import { config as breannaConfig } from '@freesewing/breanna'
export default {
name: '{{name}}',
version,
version: pkg.version,
optionGroups: {
...breannaConfig.optionGroups,
},
measurements: [
...breannaConfig.measurements,
],
dependencies: {
},
measurements: [...breannaConfig.measurements],
dependencies: {},
inject: {
breannaBack: 'breannaBase',
breannaFrontBase: 'breannaBase',
@ -34,4 +31,3 @@ export default {
...breannaConfig.options,
},
}

View file

@ -1,15 +1,13 @@
import { version } from '../package.json' assert { type: 'json' }
import pkg from '../package.json' assert { type: 'json' }
import { config as brianConfig } from '@freesewing/brian'
export default {
name: '{{name}}',
version,
version: pkg.version,
optionGroups: {
...brianConfig.optionGroups,
},
measurements: [
...brianConfig.measurements,
],
measurements: [...brianConfig.measurements],
dependencies: {
brianSleevecap: 'brianFront',
},
@ -21,17 +19,9 @@ export default {
front: 'brianFront',
sleeve: 'brianSleeve',
},
hide: [
'brianBase',
'brianFront',
'brianBack',
'brianSleevecap',
'brianSleeve',
'sleevecap',
],
hide: ['brianBase', 'brianFront', 'brianBack', 'brianSleevecap', 'brianSleeve', 'sleevecap'],
parts: [],
options: {
...brianConfig.options,
},
}

View file

@ -1,8 +1,8 @@
import { version } from '../package.json' assert { type: 'json' }
import pkg from '../package.json' assert { type: 'json' }
export default {
name: '{{name}}',
version,
version: pkg.version,
optionGroups: {
fit: ['size'],
},
@ -15,4 +15,3 @@ export default {
size: { pct: 50, min: 10, max: 100 },
},
}

View file

@ -1,15 +1,13 @@
import { version } from '../package.json' assert { type: 'json' }
import pkg from '../package.json' assert { type: 'json' }
import { config as titanConfig } from '@freesewing/titan'
export default {
name: '{{name}}',
version,
version: pkg.version,
optionGroups: {
...titanConfig.optionGroups,
},
measurements: [
...titanConfig.measurements,
],
measurements: [...titanConfig.measurements],
dependencies: {
titanFront: 'titanBack',
},
@ -17,12 +15,8 @@ export default {
front: 'titanFront',
back: 'titanBack',
},
hide: [
'titanFront',
'titanBack',
],
hide: ['titanFront', 'titanBack'],
options: {
...titanConfig.options,
},
}

View file

@ -152,6 +152,15 @@
json5 "^2.2.1"
semver "^6.3.0"
"@babel/eslint-parser@^7.19.1":
version "7.19.1"
resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.19.1.tgz#4f68f6b0825489e00a24b41b6a1ae35414ecd2f4"
integrity sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==
dependencies:
"@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1"
eslint-visitor-keys "^2.1.0"
semver "^6.3.0"
"@babel/generator@^7.18.9":
version "7.18.9"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.9.tgz#68337e9ea8044d6ddc690fb29acae39359cca0a5"
@ -2744,6 +2753,13 @@
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.3.0.tgz#c1b983316307f8f55fee491942b5d244bd2036e2"
integrity sha512-C/nw6OgQpEULWqs+wgMHXGvlJLguPRFFGqR2TAqWBerQ8J+Sg3z1ZTqwelkSi4FoqStGuZ2UdFHIDN1ySmR1xA==
"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1":
version "5.1.1-v1"
resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129"
integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==
dependencies:
eslint-scope "5.1.1"
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
@ -7957,6 +7973,14 @@ eslint-plugin-yaml@^0.5.0:
js-yaml "^4.1.0"
jshint "^2.13.0"
eslint-scope@5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
dependencies:
esrecurse "^4.3.0"
estraverse "^4.1.1"
eslint-scope@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
@ -7992,7 +8016,7 @@ eslint-visitor-keys@^1.1.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
eslint-visitor-keys@^2.0.0:
eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==