switch from rome back to trusty old eslint

This commit is contained in:
Koen Lageveen 2023-06-20 22:29:13 +02:00
parent 2f2ac68e28
commit e8470cf8f4
6 changed files with 2529 additions and 519 deletions

13
.eslintrc.json Normal file
View File

@ -0,0 +1,13 @@
{
"env": {
"browser": true,
"es2021": true
},
"extends": "standard",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"rules": {
}
}

View File

@ -1,3 +1,4 @@
---
name: Node CI name: Node CI
on: [push] on: [push]
@ -21,10 +22,6 @@ jobs:
run: | run: |
npm install npm install
npm test npm test
npx eslint *.js
env: env:
CI: true CI: true
- uses: rome/setup-rome@v0.4
with:
version: latest
- run: rome ci index.js

430
index.js
View File

@ -7,128 +7,128 @@ const editor = CodeMirror.fromTextArea(document.getElementById('code'), {
styleActiveLine: true, styleActiveLine: true,
matchBrackets: true, matchBrackets: true,
theme: 'pastel-on-dark', theme: 'pastel-on-dark',
lineWrapping: true, lineWrapping: true
}); })
// CodeMirror theme selector // CodeMirror theme selector
const input = document.getElementById('select-theme'); const input = document.getElementById('select-theme')
let font_data; let fontData
const filters = { const filters = {
style: false, style: false,
rendering: false, rendering: false,
liga: false, liga: false,
zerostyle: false, zerostyle: false,
author: 'all', author: 'all',
name: '', name: ''
}; }
const selectTheme = () => { const selectTheme = () => {
let theme = 'monokai'; let theme = 'monokai'
if (input.selectedIndex > -1) { if (input.selectedIndex > -1) {
theme = input.options[input.selectedIndex].innerHTML; theme = input.options[input.selectedIndex].innerHTML
} }
editor.setOption('theme', theme); editor.setOption('theme', theme)
document.cookie = `theme=${theme};max-age=172800`; document.cookie = `theme=${theme};max-age=172800`
}; }
// ProgrammingFonts font selector // ProgrammingFonts font selector
const selectFont = () => { const selectFont = () => {
let font = window.location.hash.substring(1); let font = window.location.hash.substring(1)
const status_msg = document.querySelector('footer .subtitle'); const msg = document.querySelector('footer .subtitle')
const code_mirror = document.querySelector('.CodeMirror'); const codeMirror = document.querySelector('.CodeMirror')
if (!font) { if (!font) {
font = 'cartograph'; font = 'cartograph'
status_msg.innerHTML = 'Test drive all the programming fonts!'; msg.innerHTML = 'Test drive all the programming fonts!'
} else if (typeof font_data !== 'undefined') { } else if (typeof fontData !== 'undefined') {
status_msg.innerHTML = `Test drive <a rel="external" href="${font_data[font].website}">${font_data[font].name}!</a>`; msg.innerHTML = `Test drive <a rel="external" href="${fontData[font].website}">${fontData[font].name}!</a>`
} }
if (typeof font_data !== 'undefined' && font_data[font].rendering === 'bitmap') { if (typeof fontData !== 'undefined' && fontData[font].rendering === 'bitmap') {
code_mirror.classList.add('no-smooth'); codeMirror.classList.add('no-smooth')
} else { } else {
code_mirror.classList.remove('no-smooth'); codeMirror.classList.remove('no-smooth')
} }
if (font === 'input') { if (font === 'input') {
code_mirror.style.fontFamily = 'Input Mono, monospace'; codeMirror.style.fontFamily = 'Input Mono, monospace'
code_mirror.querySelectorAll('pre, textarea').forEach((element) => { codeMirror.querySelectorAll('pre, textarea').forEach((element) => {
element.style.fontFamily = 'Input Mono, monospace'; element.style.fontFamily = 'Input Mono, monospace'
}); })
} else { } else {
code_mirror.style.fontFamily = `${font}, monospace`; codeMirror.style.fontFamily = `${font}, monospace`
code_mirror.querySelectorAll('pre, textarea').forEach((element) => { codeMirror.querySelectorAll('pre, textarea').forEach((element) => {
element.style.fontFamily = `${font}, monospace`; element.style.fontFamily = `${font}, monospace`
}); })
} }
document.querySelectorAll('#select-font [data-alias]').forEach((element) => { document.querySelectorAll('#select-font [data-alias]').forEach((element) => {
element.classList.remove('active'); element.classList.remove('active')
}); })
document.querySelectorAll(`#select-font [data-alias='${font}']`).forEach((element) => { document.querySelectorAll(`#select-font [data-alias='${font}']`).forEach((element) => {
element.classList.add('active'); element.classList.add('active')
}); })
document.cookie = `font=${font};max-age=172800`; document.cookie = `font=${font};max-age=172800`
};
window.onhashchange = selectFont;
function setSize() {
const size = document.getElementById('size').value;
document.querySelector('.CodeMirror').style.fontSize = `${size}px`;
document.cookie = `size=${size};max-age=172800`;
editor.refresh();
} }
function setSpacing() {
const spacing = document.getElementById('spacing').value;
document.querySelector('.CodeMirror').style.lineHeight = spacing; window.onhashchange = selectFont
document.cookie = `spacing=${spacing};max-age=172800`;
editor.refresh();
}
function selectLanguage() {
const lang = document.getElementById('select-language').value;
editor.setOption('mode', lang.toLowerCase()); function setSize () {
document.cookie = `language=${lang};max-age=172800`; const size = document.getElementById('size').value
document.querySelector('.CodeMirror').style.fontSize = `${size}px`
document.cookie = `size=${size};max-age=172800`
editor.refresh()
} }
function setCounter(amount) { function setSpacing () {
const counter_element = document.querySelector('h1 a:first-child'); const spacing = document.getElementById('spacing').value
document.querySelector('.CodeMirror').style.lineHeight = spacing
document.cookie = `spacing=${spacing};max-age=172800`
editor.refresh()
}
function selectLanguage () {
const lang = document.getElementById('select-language').value
editor.setOption('mode', lang.toLowerCase())
document.cookie = `language=${lang};max-age=172800`
}
function setCounter (amount) {
const element = document.querySelector('h1 a:first-child')
if (amount === 1) { if (amount === 1) {
counter_element.innerHTML = `${amount} Programming Font`; element.innerHTML = `${amount} Programming Font`
} else { } else {
counter_element.innerHTML = `${amount} Programming Fonts`; element.innerHTML = `${amount} Programming Fonts`
} }
} }
function applyFilters() { function applyFilters () {
let count = 0; let count = 0
Object.keys(filters).forEach((filter) => { Object.keys(filters).forEach((filter) => {
const button = document.querySelector(`button[value="${filter}"]`); const button = document.querySelector(`button[value="${filter}"]`)
if (!button) { if (!button) {
return; return
} }
if (filters[filter]) { if (filters[filter]) {
button.classList.add('selected'); button.classList.add('selected')
button.querySelectorAll('svg').forEach((image) => { button.querySelectorAll('svg').forEach((image) => {
image.classList.remove('selected'); image.classList.remove('selected')
}); })
button.querySelector(`svg[alt="${filters[filter]}"]`).classList.add('selected'); button.querySelector(`svg[alt="${filters[filter]}"]`).classList.add('selected')
} else { } else {
button.classList.remove('selected'); button.classList.remove('selected')
button.querySelectorAll('svg').forEach((image) => { button.querySelectorAll('svg').forEach((image) => {
image.classList.remove('selected'); image.classList.remove('selected')
}); })
} }
}); })
document.querySelectorAll('.entry[data-alias]').forEach((element) => { document.querySelectorAll('.entry[data-alias]').forEach((element) => {
const data = font_data[element.dataset.alias]; const data = fontData[element.dataset.alias]
if ( if (
(!filters.style || data.style === filters.style) && (!filters.style || data.style === filters.style) &&
(!filters.rendering || data.rendering === filters.rendering) && (!filters.rendering || data.rendering === filters.rendering) &&
@ -139,173 +139,173 @@ function applyFilters() {
(filters.author === 'all' || data.author === filters.author) && (filters.author === 'all' || data.author === filters.author) &&
(!filters.name || data.name.toLowerCase().indexOf(filters.name) > -1) (!filters.name || data.name.toLowerCase().indexOf(filters.name) > -1)
) { ) {
element.classList.remove('filtered-out'); element.classList.remove('filtered-out')
count++; count++
} else { } else {
element.classList.add('filtered-out'); element.classList.add('filtered-out')
} }
}); })
setCounter(count); setCounter(count)
} }
function renderSelectList() { function renderSelectList () {
const icon = const icon =
'<svg class="octicon" viewBox="0 0 12 14" version="1.1" width="12" height="14" aria-hidden="true"><path fill-rule="evenodd" d="M11 10h1v3c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h3v1H1v10h10v-3zM6 2l2.25 2.25L5 7.5 6.5 9l3.25-3.25L12 8V2H6z"></path></svg>'; '<svg class="octicon" viewBox="0 0 12 14" version="1.1" width="12" height="14" aria-hidden="true"><path fill-rule="evenodd" d="M11 10h1v3c0 .55-.45 1-1 1H1c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h3v1H1v10h10v-3zM6 2l2.25 2.25L5 7.5 6.5 9l3.25-3.25L12 8V2H6z"></path></svg>'
const pinIcon = const pinIcon =
'<svg class="octicon octicon-pin" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10 1.2V2l.5 1L6 6H2.2c-.44 0-.67.53-.34.86L5 10l-4 5 5-4 3.14 3.14a.5.5 0 0 0 .86-.34V10l3-4.5 1 .5h.8c.44 0 .67-.53.34-.86L10.86.86a.5.5 0 0 0-.86.34z"></path></svg>'; '<svg class="octicon octicon-pin" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10 1.2V2l.5 1L6 6H2.2c-.44 0-.67.53-.34.86L5 10l-4 5 5-4 3.14 3.14a.5.5 0 0 0 .86-.34V10l3-4.5 1 .5h.8c.44 0 .67-.53.34-.86L10.86.86a.5.5 0 0 0-.86.34z"></path></svg>'
let favoritesMap = {}; let favoritesMap = {}
let favorites = []; let favorites = []
const ajax = new XMLHttpRequest(); const ajax = new XMLHttpRequest()
document.getElementById('select-font').innerHTML = ''; document.getElementById('select-font').innerHTML = ''
try { try {
favorites = JSON.parse(localStorage.getItem('favorites')) || []; favorites = JSON.parse(localStorage.getItem('favorites')) || []
favoritesMap = favorites.reduce((acc, alias) => { favoritesMap = favorites.reduce((acc, alias) => {
acc[alias] = true; acc[alias] = true
return acc; return acc
}, {}); }, {})
} catch (err) { } catch (err) {
// eslint-disable-next-line no-console // eslint-disable-next-line no-console
console.error('could not render favorites', err); console.error('could not render favorites', err)
} }
ajax.onreadystatechange = () => { ajax.onreadystatechange = () => {
const fonts = []; const fonts = []
const authors = []; const authors = []
if (ajax.readyState === 4 && ajax.status === 200) { if (ajax.readyState === 4 && ajax.status === 200) {
font_data = ajax.response; fontData = ajax.response
Object.keys(font_data).forEach((key) => { Object.keys(fontData).forEach((key) => {
const v = font_data[key]; const v = fontData[key]
v.alias = key; v.alias = key
fonts.push(v); fonts.push(v)
if (authors.indexOf(v.author) < 0) { if (authors.indexOf(v.author) < 0) {
authors.push(v.author); authors.push(v.author)
} }
}); })
} }
authors.sort(); authors.sort()
fonts.sort((a, b) => { fonts.sort((a, b) => {
if (favoritesMap[a.alias] && !favoritesMap[b.alias]) { if (favoritesMap[a.alias] && !favoritesMap[b.alias]) {
return -1; return -1
} }
if (!favoritesMap[a.alias] && favoritesMap[b.alias]) { if (!favoritesMap[a.alias] && favoritesMap[b.alias]) {
return 1; return 1
} }
if (a.name.toLowerCase() < b.name.toLowerCase()) { if (a.name.toLowerCase() < b.name.toLowerCase()) {
return -1; return -1
} }
if (a.name.toLowerCase() > b.name.toLowerCase()) { if (a.name.toLowerCase() > b.name.toLowerCase()) {
return 1; return 1
} }
return 0; return 0
}); })
authors.forEach((author) => { authors.forEach((author) => {
const option = document.createElement('option'); const option = document.createElement('option')
option.innerHTML = author; option.innerHTML = author
document.getElementById('authors-list').querySelector('.other').appendChild(option); document.getElementById('authors-list').querySelector('.other').appendChild(option)
}); })
fonts.forEach((v) => { fonts.forEach((v) => {
const option = document.createElement('div'); const option = document.createElement('div')
option.classList.add('entry'); option.classList.add('entry')
if (favoritesMap[v.alias]) { if (favoritesMap[v.alias]) {
option.classList.add('pinned'); option.classList.add('pinned')
} }
option.setAttribute('data-alias', v.alias); option.setAttribute('data-alias', v.alias)
option.innerHTML = `<a href="#${v.alias}" data-style="${v.style}"><span class="name">${v.name}</span><span class="details">${v.year}${v.author}</span></a><a class="favoritelink" onclick="toggleFavorite(\'${v.alias}\')">${pinIcon}</a><a class="website" href="${v.website}" rel="external"> <span>Website</span>${icon}</a>`; option.innerHTML = `<a href="#${v.alias}" data-style="${v.style}"><span class="name">${v.name}</span><span class="details">${v.year}${v.author}</span></a><a class="favoritelink" onclick="toggleFavorite('${v.alias}')">${pinIcon}</a><a class="website" href="${v.website}" rel="external"> <span>Website</span>${icon}</a>`
document.getElementById('select-font').appendChild(option); document.getElementById('select-font').appendChild(option)
}); })
selectFont(); selectFont()
applyFilters(); applyFilters()
}; }
ajax.responseType = 'json'; ajax.responseType = 'json'
ajax.open('GET', 'fonts.json', true); ajax.open('GET', 'fonts.json', true)
ajax.send(); ajax.send()
} }
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
function toggleFavorite(alias) { function toggleFavorite (alias) {
try { try {
let favorites = JSON.parse(localStorage.getItem('favorites')) || []; let favorites = JSON.parse(localStorage.getItem('favorites')) || []
if (favorites.indexOf(alias) > -1) { if (favorites.indexOf(alias) > -1) {
favorites = favorites.filter((v) => { favorites = favorites.filter((v) => {
return v !== alias; return v !== alias
}); })
} else { } else {
favorites.push(alias); favorites.push(alias)
} }
localStorage.setItem('favorites', JSON.stringify(Array.from(new Set(favorites)))); localStorage.setItem('favorites', JSON.stringify(Array.from(new Set(favorites))))
} catch (err) { } catch (err) {
// eslint-disable-next-line no-console // eslint-disable-next-line no-console
console.error('could not save favorite', err); console.error('could not save favorite', err)
} }
renderSelectList(); renderSelectList()
return false; return false
} }
function walk(direction) { function walk (direction) {
const activeEntry = document.querySelector('.entry.active'); const activeEntry = document.querySelector('.entry.active')
let target = null; let target = null
let next = direction === 'up' ? activeEntry.previousElementSibling : activeEntry.nextElementSibling; let next = direction === 'up' ? activeEntry.previousElementSibling : activeEntry.nextElementSibling
while (target === null) { while (target === null) {
if (next) { if (next) {
if (next.matches('.entry:not(.filtered-out)')) { if (next.matches('.entry:not(.filtered-out)')) {
target = next; target = next
} else { } else {
next = direction === 'up' ? next.previousElementSibling : next.nextElementSibling; next = direction === 'up' ? next.previousElementSibling : next.nextElementSibling
} }
} else { } else {
target = false; target = false
} }
} }
function isVisible(el) { function isVisible (el) {
const offset = document.getElementById('filters').getBoundingClientRect().height; const offset = document.getElementById('filters').getBoundingClientRect().height
const container = document.querySelector('section.select-list').getBoundingClientRect().height; const container = document.querySelector('section.select-list').getBoundingClientRect().height
if (direction === 'up') { if (direction === 'up') {
if (el.getBoundingClientRect().top < offset) { if (el.getBoundingClientRect().top < offset) {
return false; return false
} }
} else { } else {
if (el.getBoundingClientRect().bottom > offset + container) { if (el.getBoundingClientRect().bottom > offset + container) {
return false; return false
} }
} }
return true; return true
} }
if (target) { if (target) {
target.querySelector('a').click(); target.querySelector('a').click()
if (!isVisible(target)) { if (!isVisible(target)) {
target.scrollIntoView(); target.scrollIntoView()
} }
} }
} }
function increaseFontSize() { function increaseFontSize () {
const sizeEl = document.getElementById('size'); const sizeEl = document.getElementById('size')
sizeEl.value = Number(sizeEl.value) + 1; sizeEl.value = Number(sizeEl.value) + 1
sizeEl.onchange(); sizeEl.onchange()
} }
function decreaseFontSize() { function decreaseFontSize () {
const sizeEl = document.getElementById('size'); const sizeEl = document.getElementById('size')
sizeEl.value = Number(sizeEl.value) - 1; sizeEl.value = Number(sizeEl.value) - 1
sizeEl.onchange(); sizeEl.onchange()
} }
function toggleFilter(filter) { function toggleFilter (filter) {
// cycle through the possible values for each filter // cycle through the possible values for each filter
// and set the filters[filter] value, // and set the filters[filter] value,
// or at the end of the cycle set it to false // or at the end of the cycle set it to false
@ -313,113 +313,113 @@ function toggleFilter(filter) {
style: [false, 'sans', 'serif'], style: [false, 'sans', 'serif'],
rendering: [false, 'vector', 'bitmap'], rendering: [false, 'vector', 'bitmap'],
liga: [false, 'yes', 'no'], liga: [false, 'yes', 'no'],
zerostyle: [false, 'slashed', 'dotted', 'empty'], zerostyle: [false, 'slashed', 'dotted', 'empty']
};
const current_index = options[filter].indexOf(filters[filter]);
const next = current_index + 1;
if (next < options[filter].length) {
filters[filter] = options[filter][next];
} else {
filters[filter] = options[filter][0];
} }
applyFilters(); const index = options[filter].indexOf(filters[filter])
const next = index + 1
if (next < options[filter].length) {
filters[filter] = options[filter][next]
} else {
filters[filter] = options[filter][0]
}
applyFilters()
} }
window.addEventListener('DOMContentLoaded', () => { window.addEventListener('DOMContentLoaded', () => {
const cookieValueSpacing = document.cookie.replace(/(?:(?:^|.*;\s*)spacing\s*=\s*([^;]*).*$)|^.*$/, '$1'); const cookieValueSpacing = document.cookie.replace(/(?:(?:^|.*;\s*)spacing\s*=\s*([^;]*).*$)|^.*$/, '$1')
const cookieValueSize = document.cookie.replace(/(?:(?:^|.*;\s*)size\s*=\s*([^;]*).*$)|^.*$/, '$1'); const cookieValueSize = document.cookie.replace(/(?:(?:^|.*;\s*)size\s*=\s*([^;]*).*$)|^.*$/, '$1')
const cookieValueTheme = document.cookie.replace(/(?:(?:^|.*;\s*)theme\s*=\s*([^;]*).*$)|^.*$/, '$1'); const cookieValueTheme = document.cookie.replace(/(?:(?:^|.*;\s*)theme\s*=\s*([^;]*).*$)|^.*$/, '$1')
const cookieValueLanguage = document.cookie.replace(/(?:(?:^|.*;\s*)language\s*=\s*([^;]*).*$)|^.*$/, '$1'); const cookieValueLanguage = document.cookie.replace(/(?:(?:^|.*;\s*)language\s*=\s*([^;]*).*$)|^.*$/, '$1')
if (cookieValueSpacing !== '') { if (cookieValueSpacing !== '') {
document.getElementById('spacing').value = cookieValueSpacing; document.getElementById('spacing').value = cookieValueSpacing
} }
if (cookieValueSize !== '') { if (cookieValueSize !== '') {
document.getElementById('size').value = cookieValueSize; document.getElementById('size').value = cookieValueSize
} }
if (cookieValueTheme !== '') { if (cookieValueTheme !== '') {
document.getElementById('select-theme').value = cookieValueTheme; document.getElementById('select-theme').value = cookieValueTheme
} }
if (cookieValueLanguage !== '') { if (cookieValueLanguage !== '') {
document.getElementById('select-language').value = cookieValueLanguage; document.getElementById('select-language').value = cookieValueLanguage
} }
renderSelectList(); renderSelectList()
selectTheme(); selectTheme()
setSize(); setSize()
setSpacing(); setSpacing()
selectLanguage(); selectLanguage()
function walkThemes(direction) { function walkThemes (direction) {
const select = document.getElementById('select-theme'); const select = document.getElementById('select-theme')
const current = select.selectedOptions[0]; const current = select.selectedOptions[0]
let next; let next
if (current) { if (current) {
next = direction === 'up' ? current.previousElementSibling : current.nextElementSibling; next = direction === 'up' ? current.previousElementSibling : current.nextElementSibling
} }
if (next) { if (next) {
select.value = next.value; select.value = next.value
} }
selectTheme(); selectTheme()
} }
document.getElementById('theme-next').onclick = () => { document.getElementById('theme-next').onclick = () => {
walkThemes('down'); walkThemes('down')
}; }
document.getElementById('theme-previous').onclick = () => { document.getElementById('theme-previous').onclick = () => {
walkThemes('up'); walkThemes('up')
}; }
document document
.getElementById('filters') .getElementById('filters')
.querySelectorAll('button') .querySelectorAll('button')
.forEach((button) => { .forEach((button) => {
button.onclick = (event) => { button.onclick = (event) => {
event.preventDefault(); event.preventDefault()
event.stopPropagation(); event.stopPropagation()
toggleFilter(button.value); toggleFilter(button.value)
}; }
}); })
document.getElementById('authors-list').onchange = (event) => { document.getElementById('authors-list').onchange = (event) => {
filters.author = event.target.value; filters.author = event.target.value
applyFilters(); applyFilters()
}; }
document.getElementById('name-search').onkeyup = (event) => { document.getElementById('name-search').onkeyup = (event) => {
filters.name = event.target.value.toLowerCase(); filters.name = event.target.value.toLowerCase()
applyFilters(); applyFilters()
}; }
document.querySelector('.select-list').onkeyup = (event) => { document.querySelector('.select-list').onkeyup = (event) => {
if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) { if (event.ctrlKey || event.altKey || event.metaKey || event.shiftKey) {
return; return
} }
if (event.key === 'ArrowUp') { if (event.key === 'ArrowUp') {
event.preventDefault(); event.preventDefault()
event.stopPropagation(); event.stopPropagation()
walk('up'); walk('up')
} else if (event.key === 'ArrowDown') { } else if (event.key === 'ArrowDown') {
event.preventDefault(); event.preventDefault()
event.stopPropagation(); event.stopPropagation()
walk('down'); walk('down')
}
} }
};
document.body.addEventListener('keydown', (event) => { document.body.addEventListener('keydown', (event) => {
if (event.ctrlKey || event.metaKey) { if (event.ctrlKey || event.metaKey) {
if (event.key === '-') { if (event.key === '-') {
event.preventDefault(); event.preventDefault()
event.stopPropagation(); event.stopPropagation()
decreaseFontSize(); decreaseFontSize()
} else if (event.key === '=') { } else if (event.key === '=') {
event.preventDefault(); event.preventDefault()
event.stopPropagation(); event.stopPropagation()
increaseFontSize(); increaseFontSize()
} }
} }
}); })
}); })

2234
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -17,9 +17,13 @@
}, },
"homepage": "https://github.com/braver/programmingfonts#readme", "homepage": "https://github.com/braver/programmingfonts#readme",
"devDependencies": { "devDependencies": {
"ajv-cli": "^5.0.0", "@rodrigoff/ajv-cli": "^5.2.0",
"ajv-formats": "^2.1.1", "ajv-formats": "^2.1.1",
"lessc": "^1.0.2", "eslint": "^8.43.0",
"rome": "^12.0.0" "eslint-config-standard": "^17.1.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-n": "^16.0.0",
"eslint-plugin-promise": "^6.1.1",
"lessc": "^1.0.2"
} }
} }

View File

@ -1,20 +0,0 @@
{
"$schema": "./node_modules/rome/configuration_schema.json",
"linter": {
"enabled": true,
"rules": {
"recommended": true
}
},
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentSize": 4,
"lineWidth": 120
},
"javascript": {
"formatter": {
"quoteStyle": "single"
}
}
}