feat: 🎸 First implementation
This commit is contained in:
parent
da127553ba
commit
e5438b0f26
|
@ -0,0 +1,17 @@
|
||||||
|
module.exports = {
|
||||||
|
parser: '@typescript-eslint/parser',
|
||||||
|
plugins: ['@typescript-eslint'],
|
||||||
|
extends: [
|
||||||
|
'plugin:@typescript-eslint/recommended',
|
||||||
|
'plugin:prettier/recommended',
|
||||||
|
'prettier',
|
||||||
|
],
|
||||||
|
parserOptions: {
|
||||||
|
project: './tsconfig.eslint.json',
|
||||||
|
ecmaVersion: 2018,
|
||||||
|
sourceType: 'module',
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
'@typescript-eslint/semi': [2, 'never'],
|
||||||
|
},
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
name: Release
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
name: Release
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: 14
|
||||||
|
- name: Setup timezone
|
||||||
|
uses: zcong1993/setup-timezone@master
|
||||||
|
with:
|
||||||
|
timezone: Europe/Stockholm
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn install --immutable --silent --non-interactive 2> >(grep -v warning 1>&2)
|
||||||
|
- name: Audit
|
||||||
|
run: yarn audit
|
||||||
|
- name: Build
|
||||||
|
run: yarn build
|
||||||
|
- name: Release
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
|
run: npx semantic-release
|
|
@ -0,0 +1,27 @@
|
||||||
|
# This workflow will do a clean install of node dependencies and run tests
|
||||||
|
|
||||||
|
name: Test
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches: [main]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
unit:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Setup Node.js and run tests
|
||||||
|
uses: actions/setup-node@v2.1.2
|
||||||
|
with:
|
||||||
|
node-version: 14.x
|
||||||
|
|
||||||
|
- name: Setup timezone
|
||||||
|
uses: zcong1993/setup-timezone@master
|
||||||
|
with:
|
||||||
|
timezone: Europe/Stockholm
|
||||||
|
|
||||||
|
- run: yarn install --immutable --silent --non-interactive 2> >(grep -v warning 1>&2)
|
||||||
|
- run: yarn audit
|
||||||
|
- run: yarn lint
|
||||||
|
- run: yarn test
|
|
@ -0,0 +1,106 @@
|
||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
|
||||||
|
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||||
|
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
|
pids
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
*.pid.lock
|
||||||
|
|
||||||
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
|
lib-cov
|
||||||
|
|
||||||
|
# Coverage directory used by tools like istanbul
|
||||||
|
coverage
|
||||||
|
*.lcov
|
||||||
|
|
||||||
|
# nyc test coverage
|
||||||
|
.nyc_output
|
||||||
|
|
||||||
|
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||||
|
.grunt
|
||||||
|
|
||||||
|
# Bower dependency directory (https://bower.io/)
|
||||||
|
bower_components
|
||||||
|
|
||||||
|
# node-waf configuration
|
||||||
|
.lock-wscript
|
||||||
|
|
||||||
|
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||||
|
build/Release
|
||||||
|
|
||||||
|
# Dependency directories
|
||||||
|
node_modules/
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# TypeScript v1 declaration files
|
||||||
|
typings/
|
||||||
|
|
||||||
|
# TypeScript cache
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
|
# Optional npm cache directory
|
||||||
|
.npm
|
||||||
|
|
||||||
|
# Optional eslint cache
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# Microbundle cache
|
||||||
|
.rpt2_cache/
|
||||||
|
.rts2_cache_cjs/
|
||||||
|
.rts2_cache_es/
|
||||||
|
.rts2_cache_umd/
|
||||||
|
|
||||||
|
# Optional REPL history
|
||||||
|
.node_repl_history
|
||||||
|
|
||||||
|
# Output of 'npm pack'
|
||||||
|
*.tgz
|
||||||
|
|
||||||
|
# Yarn Integrity file
|
||||||
|
.yarn-integrity
|
||||||
|
|
||||||
|
# dotenv environment variables file
|
||||||
|
.env
|
||||||
|
.env.test
|
||||||
|
|
||||||
|
# parcel-bundler cache (https://parceljs.org/)
|
||||||
|
.cache
|
||||||
|
|
||||||
|
# Next.js build output
|
||||||
|
.next
|
||||||
|
|
||||||
|
# Nuxt.js build / generate output
|
||||||
|
.nuxt
|
||||||
|
dist
|
||||||
|
|
||||||
|
# Gatsby files
|
||||||
|
.cache/
|
||||||
|
# Comment in the public line in if your project uses Gatsby and *not* Next.js
|
||||||
|
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||||
|
# public
|
||||||
|
|
||||||
|
# vuepress build output
|
||||||
|
.vuepress/dist
|
||||||
|
|
||||||
|
# Serverless directories
|
||||||
|
.serverless/
|
||||||
|
|
||||||
|
# FuseBox cache
|
||||||
|
.fusebox/
|
||||||
|
|
||||||
|
# DynamoDB Local files
|
||||||
|
.dynamodb/
|
||||||
|
|
||||||
|
# TernJS port file
|
||||||
|
.tern-port
|
||||||
|
|
||||||
|
record
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"printWidth": 80,
|
||||||
|
"tabWidth": 2,
|
||||||
|
"useTabs": false,
|
||||||
|
"semi": false,
|
||||||
|
"singleQuote": true,
|
||||||
|
"trailingComma": "es5",
|
||||||
|
"bracketSpacing": true,
|
||||||
|
"jsxBracketSameLine": false
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"branches": ["main"]
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
module.exports = {
|
||||||
|
preset: 'ts-jest',
|
||||||
|
testEnvironment: 'node',
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"name": "@skolplattformen/curriculum",
|
||||||
|
"version": "0.1.0",
|
||||||
|
"description": "Swedish curriculum codes to plain text",
|
||||||
|
"main": "index.js",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"private": false,
|
||||||
|
"scripts": {
|
||||||
|
"lint": "eslint 'src/*.ts' --quiet --fix",
|
||||||
|
"test": "jest",
|
||||||
|
"build": "tsc",
|
||||||
|
"prepare": "yarn build",
|
||||||
|
"publish-package": "npm publish --access public"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/eslint": "^7.2.9",
|
||||||
|
"@types/jest": "^26.0.22",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^4.21.0",
|
||||||
|
"@typescript-eslint/parser": "^4.21.0",
|
||||||
|
"eslint": "^7.24.0",
|
||||||
|
"eslint-config-prettier": "^8.1.0",
|
||||||
|
"eslint-plugin-prettier": "^3.3.1",
|
||||||
|
"jest": "^26.6.3",
|
||||||
|
"prettier": "^2.2.1",
|
||||||
|
"ts-jest": "^26.5.4",
|
||||||
|
"typescript": "^4.2.4"
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,286 @@
|
||||||
|
export interface Subject {
|
||||||
|
code: string
|
||||||
|
category: string
|
||||||
|
name: string
|
||||||
|
comment?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
type Repo = { [key: string]: string | undefined }
|
||||||
|
|
||||||
|
const subjects: Repo = {
|
||||||
|
BL: 'Bild',
|
||||||
|
EN: 'Engelska',
|
||||||
|
HKK: 'Hem & Konsumentkunskap',
|
||||||
|
IDH: 'Idrott & Hälsa',
|
||||||
|
MA: 'Matematik',
|
||||||
|
MU: 'Musik',
|
||||||
|
NO: 'Naturorienterande ämnen',
|
||||||
|
BI: 'Biologi',
|
||||||
|
FY: 'Fysik',
|
||||||
|
KE: 'Kemi',
|
||||||
|
SO: 'Samhällsorienterande ämnen',
|
||||||
|
GE: 'Geografi',
|
||||||
|
HI: 'Historia',
|
||||||
|
RE: 'Religionskunskap',
|
||||||
|
SH: 'Samhällskunskap',
|
||||||
|
SL: 'Slöjd',
|
||||||
|
SV: 'Svenska',
|
||||||
|
SVA: 'Svenska som andraspråk',
|
||||||
|
TN: 'Teckenspråk',
|
||||||
|
TK: 'Teknik',
|
||||||
|
DA: 'Förberedande dansarutbildning',
|
||||||
|
JU: 'Judiska studier',
|
||||||
|
ES: 'Estetisk verksamhet',
|
||||||
|
}
|
||||||
|
const traningsskolaSubjects: Repo = {
|
||||||
|
KOM: 'Kommunikation',
|
||||||
|
MOT: 'Motorik',
|
||||||
|
VAA: 'Vardagsaktiviteter',
|
||||||
|
VEU: 'Verklighetsuppfattning',
|
||||||
|
}
|
||||||
|
const specialLanguages: Repo = {
|
||||||
|
EN: 'Engelska',
|
||||||
|
FR: 'Franska',
|
||||||
|
FI: 'Finska',
|
||||||
|
IT: 'Italienska',
|
||||||
|
JAP: 'Japanska',
|
||||||
|
KI: 'Kinesiska',
|
||||||
|
PO: 'Portugisiska',
|
||||||
|
RY: 'Ryska',
|
||||||
|
SAM: 'Samiska',
|
||||||
|
SP: 'Spanska',
|
||||||
|
SV: 'Svenska',
|
||||||
|
SVA: 'Svenska som andraspråk',
|
||||||
|
TN: 'Teckenspråk',
|
||||||
|
TY: 'Tyska',
|
||||||
|
}
|
||||||
|
const languages: Repo = {
|
||||||
|
...specialLanguages,
|
||||||
|
|
||||||
|
ACE: 'Acehnesiska',
|
||||||
|
ACH: 'Acoli',
|
||||||
|
AAR: 'Afar, Danakil ',
|
||||||
|
AFR: 'Afrikaans',
|
||||||
|
AKA: 'Akan, Asante, Fante',
|
||||||
|
SQI: 'Albanska',
|
||||||
|
AMH: 'Amhariska',
|
||||||
|
ARA: 'Arabiska',
|
||||||
|
HYE: 'Armeniska',
|
||||||
|
AII: 'Assyriska, Nyarameiska',
|
||||||
|
AYM: 'Aymara',
|
||||||
|
AZE: 'Azerbadjanska',
|
||||||
|
BAL: 'Baluchi, Baloci, Baluci, Makrani',
|
||||||
|
BAM: 'Bambara',
|
||||||
|
BAI: 'Bamileke',
|
||||||
|
EUS: 'Baskiska',
|
||||||
|
BEM: 'Bemba, Chibemba, Chiwemba, Ichibemba, Wemba',
|
||||||
|
BEN: 'Bengaliska',
|
||||||
|
BER: 'Berbiska',
|
||||||
|
BIL: 'Bile',
|
||||||
|
BYN: 'Bilen, Bilein, Bileno, Bilin',
|
||||||
|
BOS: 'Bosniska',
|
||||||
|
BUL: 'Bulgariska',
|
||||||
|
MYA: 'Burmesiska',
|
||||||
|
CEB: 'Cebuanska, Binisaya, Sebuano, Sugbuanon, Sugbuhanon, Visayan',
|
||||||
|
DAN: 'Danska',
|
||||||
|
DAR: 'Darginska, Dargi, Dargin, Dargintsy, Khiurkilinskii, Uslar',
|
||||||
|
PRS: 'Dari, Parsi, Persian',
|
||||||
|
DMQ: 'Dimli',
|
||||||
|
DIV: 'Divehi',
|
||||||
|
ENG: 'Engelska',
|
||||||
|
EST: 'Estniska',
|
||||||
|
EWE: 'Ewe',
|
||||||
|
FIJ: 'Fijianska',
|
||||||
|
FIN: 'Finska',
|
||||||
|
VLS: 'Flamländska',
|
||||||
|
FRA: 'Franska',
|
||||||
|
FAO: 'Färöiska',
|
||||||
|
GAA: 'Ga',
|
||||||
|
KAT: 'Georgiska',
|
||||||
|
GRE: 'Grekiska',
|
||||||
|
KAL: 'Grönländska',
|
||||||
|
GUJ: 'Gujarati',
|
||||||
|
HEB: 'Hebreiska',
|
||||||
|
HIN: 'Hindi',
|
||||||
|
IBO: 'Ibo',
|
||||||
|
IND: 'Indonesiska',
|
||||||
|
ISL: 'Isländska',
|
||||||
|
ITA: 'Italienska',
|
||||||
|
JPN: 'Japanska',
|
||||||
|
YID: 'Jiddisch',
|
||||||
|
KAM: 'Kamba, Kekamba, Kikamba',
|
||||||
|
KHM: 'Khmer',
|
||||||
|
KAN: 'Kannada',
|
||||||
|
KAR: 'Karenska',
|
||||||
|
CAT: 'Katalanska',
|
||||||
|
KAZ: 'Kazakiska',
|
||||||
|
KIK: 'Kikuyu',
|
||||||
|
ZHO: 'Kinesiska',
|
||||||
|
CMN: 'Kinesiska, Mandarin',
|
||||||
|
HAK: 'Kinesiska, Hakka',
|
||||||
|
YUE: 'Kinesiska, Kantonesiska',
|
||||||
|
NAN: 'Kinesiska, Min Nan',
|
||||||
|
KIN: 'Kinyarwanda',
|
||||||
|
KIR: 'Kirgisiska',
|
||||||
|
RUN: 'Kirundi',
|
||||||
|
KON: 'Kongo',
|
||||||
|
KOR: 'Koreanska',
|
||||||
|
ROP: 'Kreolska',
|
||||||
|
HRV: 'Kroatiska',
|
||||||
|
KRO: 'Kru',
|
||||||
|
KUR: 'Kurdiska',
|
||||||
|
CKB: 'Kurdiska, centr.',
|
||||||
|
KMR: 'Kurdiska, norra',
|
||||||
|
SDH: 'Kurdiska, södra',
|
||||||
|
LAO: 'Laotiska',
|
||||||
|
LAV: 'Lettiska',
|
||||||
|
LMA: 'Limba',
|
||||||
|
LIN: 'Lingala',
|
||||||
|
LIT: 'Litauiska',
|
||||||
|
LUG: 'Luganda/Ganda',
|
||||||
|
LUO: 'Luo',
|
||||||
|
MKD: 'Makedonska',
|
||||||
|
MLG: 'Malagaskiska',
|
||||||
|
MSA: 'Malajiska',
|
||||||
|
MAL: 'Malayalami',
|
||||||
|
MLT: 'Maltesiska',
|
||||||
|
MNK: 'Mandinka',
|
||||||
|
MRI: 'Maori',
|
||||||
|
MAR: 'Marathi',
|
||||||
|
MYX: 'Masaaba, Gisu, Gugisu, Lumasaaba, Masaba',
|
||||||
|
FIT: 'Meänkieli',
|
||||||
|
MON: 'Mongoliska',
|
||||||
|
NLD: 'Nederländska',
|
||||||
|
NEP: 'Nepalesiska',
|
||||||
|
NOR: 'Norska',
|
||||||
|
NYA: 'Nyanja',
|
||||||
|
ORM: 'Oromo',
|
||||||
|
PUS: 'Pashto',
|
||||||
|
PTN: 'Patani',
|
||||||
|
FAS: 'Persiska',
|
||||||
|
POL: 'Polska',
|
||||||
|
POR: 'Portugisiska',
|
||||||
|
PAN: 'Punjabi',
|
||||||
|
ROM: 'Romani',
|
||||||
|
RMC: 'Romani, Karpaterna',
|
||||||
|
RML: 'Romani, Baltisk',
|
||||||
|
RMN: 'Romani, Arli',
|
||||||
|
RMF: 'Romani, Kalé',
|
||||||
|
RMO: 'Romani, Sinti',
|
||||||
|
RMU: 'Romani, Tavringer',
|
||||||
|
RMY: 'Romani, Lovari, Kalderari',
|
||||||
|
RON: 'Rumänska',
|
||||||
|
RUS: 'Ryska',
|
||||||
|
SSY: 'Saho',
|
||||||
|
NSM: 'Samiska, (norra)',
|
||||||
|
SMI: 'Samiska',
|
||||||
|
SMJ: 'Samiska, Lulesamiska',
|
||||||
|
SJE: 'Samiska, Pitesamiska',
|
||||||
|
SMA: 'Samiska, Sydsamiska',
|
||||||
|
SJU: 'Samiska, Umesamiska',
|
||||||
|
SMO: 'Samoanska',
|
||||||
|
SRP: 'Serbiska',
|
||||||
|
HBS: 'Serbokroatiska',
|
||||||
|
SOT: 'Sesotho, Sisutho, Souto, Suthu, Suto',
|
||||||
|
SNA: 'Shona',
|
||||||
|
SIN: 'Singalesiska',
|
||||||
|
SLK: 'Slovakiska',
|
||||||
|
SLV: 'Slovenska',
|
||||||
|
SOM: 'Somaliska',
|
||||||
|
SPA: 'Spanska',
|
||||||
|
SWA: 'Swahili',
|
||||||
|
SYC: 'Syrianska/assyriska, suryaya, suryoyo',
|
||||||
|
SYR: 'Syriska',
|
||||||
|
TRU: 'Syriska, Turoyo',
|
||||||
|
TLG: 'Tagalog',
|
||||||
|
TAM: 'Tamil',
|
||||||
|
TAT: 'Tatariska',
|
||||||
|
TEL: 'Telugu',
|
||||||
|
THA: 'Thai',
|
||||||
|
TIB: 'Tibetanska',
|
||||||
|
TIG: 'Tigre',
|
||||||
|
TIR: 'Tigrinja',
|
||||||
|
CES: 'Tjeckiska',
|
||||||
|
TON: 'Tonganska',
|
||||||
|
TSN: 'Tswana, Setswana',
|
||||||
|
TUR: 'Turkiska',
|
||||||
|
DEU: 'Tyska',
|
||||||
|
UIG: 'Uiguriska',
|
||||||
|
UKR: 'Ukrainska',
|
||||||
|
HUN: 'Ungerska',
|
||||||
|
URD: 'Urdu',
|
||||||
|
UZB: 'Uzbekiska',
|
||||||
|
VIE: 'Vietnamesiska',
|
||||||
|
WOL: 'Wolof',
|
||||||
|
YOR: 'Yoruba, Yariba, Yooba',
|
||||||
|
ZUL: 'Zulu',
|
||||||
|
SPK: 'Övriga språk',
|
||||||
|
}
|
||||||
|
|
||||||
|
type Parser = (code: string) => Subject | null
|
||||||
|
const parseSubject: Parser = (code) => {
|
||||||
|
if (!subjects[code]) return null
|
||||||
|
|
||||||
|
return {
|
||||||
|
code,
|
||||||
|
category: '',
|
||||||
|
name: subjects[code] as string,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const parseTrainingSubject: Parser = (code) => {
|
||||||
|
if (!traningsskolaSubjects[code]) return null
|
||||||
|
|
||||||
|
return {
|
||||||
|
code,
|
||||||
|
category: 'Träningsskolans ämnesområden',
|
||||||
|
name: traningsskolaSubjects[code] as string,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const parseLanguage: Parser = (code) => {
|
||||||
|
if (!code.startsWith('M1') && !code.startsWith('M2')) return null
|
||||||
|
const category =
|
||||||
|
'Moderna språk, ' + (code.startsWith('M1') ? 'elevens val' : 'språkval')
|
||||||
|
const language = code.substr(2)
|
||||||
|
|
||||||
|
return {
|
||||||
|
code,
|
||||||
|
category,
|
||||||
|
name: languages[language] || 'Okänt',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const parseAltLanguage: Parser = (code) => {
|
||||||
|
if (!code.startsWith('ASSV')) return null
|
||||||
|
const language = code.substr(4)
|
||||||
|
|
||||||
|
return {
|
||||||
|
code,
|
||||||
|
category: 'Alt moderna språk, språkval',
|
||||||
|
name: languages[language] || 'Okänt',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const parseNativeLanguage: Parser = (code) => {
|
||||||
|
if (!code.startsWith('ML')) return null
|
||||||
|
const language = code.substr(2)
|
||||||
|
|
||||||
|
return {
|
||||||
|
code,
|
||||||
|
category: 'Modersmål',
|
||||||
|
name: languages[language] || 'Okänt',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const parse = (code: string): Subject => {
|
||||||
|
return (
|
||||||
|
parseSubject(code) ||
|
||||||
|
parseTrainingSubject(code) ||
|
||||||
|
parseLanguage(code) ||
|
||||||
|
parseAltLanguage(code) ||
|
||||||
|
parseNativeLanguage(code) || { code, category: 'Okänd', name: code }
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default parse
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
"extends": "./tsconfig.json",
|
||||||
|
"include": [
|
||||||
|
"src/*.ts"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"node_modules"
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"target": "ES2015",
|
||||||
|
"module": "CommonJS",
|
||||||
|
"declaration": true,
|
||||||
|
"outDir": "./dist",
|
||||||
|
"strict": true,
|
||||||
|
"sourceMap": true
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"src"
|
||||||
|
],
|
||||||
|
"exclude": [
|
||||||
|
"node_modules",
|
||||||
|
"**/*.test.ts"
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue