parse-comcigan 1.1.2 → 1.2.0

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/README.md CHANGED
@@ -124,6 +124,14 @@ import Comcigan from 'parse-comcigan';
124
124
 
125
125
  ## 업데이트 로그
126
126
 
127
+ ### 1.2.0
128
+
129
+ - 현재 컴시간 API 경로와 데이터 필드명 반영
130
+ - 현재 시간표와 원본 시간표 반환 순서 수정
131
+ - 변경 표시, 과목 코드 분리, 교사명과 강의실 표시 처리 반영
132
+ - 가상 학급을 제외한 학급 수 반환
133
+ - 배포 패키지의 타입 선언 경로 수정
134
+
127
135
  ### 1.1.2
128
136
 
129
137
  - 원본 데이터와 현재 데이터가 다른 버그 수정
package/dist/class.js CHANGED
@@ -12,11 +12,18 @@ import axios from "axios";
12
12
  import iconv from "iconv-lite";
13
13
  import dayjs from "dayjs";
14
14
  axios.defaults.validateStatus = () => true;
15
+ const API_URL = "http://comci.net:4082/165823";
15
16
  function splitData(dat) {
16
- const d = String(dat).match(/\d{1,3}(?=(\d{3})+(?!\d))|\d{1,3}$/g);
17
- if (!d)
18
- return -1;
19
- return d.reverse().map(Number);
17
+ const value = Number(String(dat !== null && dat !== void 0 ? dat : 0).replace(/^>/, ""));
18
+ if (!Number.isSafeInteger(value) || value <= 0)
19
+ return undefined;
20
+ return [value % 1000, Math.floor(value / 1000)];
21
+ }
22
+ function teacherName(name = "") {
23
+ if ((name.includes("*") && !name.startsWith("*") && !name.endsWith("*"))
24
+ || (name.length === 2 && name[1] === "*"))
25
+ return name;
26
+ return name.replace("*", "");
20
27
  }
21
28
  export default class Comcigan {
22
29
  constructor(code) {
@@ -34,7 +41,7 @@ export default class Comcigan {
34
41
  const euckr = Array.from(iconv.encode(query, "euc-kr"))
35
42
  .map(byte => '%' + byte.toString(16).toUpperCase().padStart(2, '0'))
36
43
  .join('');
37
- const r = yield axios.get("http://comci.net:4082/36179?17384l" + euckr);
44
+ const r = yield axios.get(`${API_URL}?47241l${euckr}`);
38
45
  const obj = JSON.parse(r.data.substring(0, r.data.lastIndexOf("}") + 1));
39
46
  return obj.학교검색
40
47
  .filter(v => v[3] !== 0)
@@ -50,8 +57,8 @@ export default class Comcigan {
50
57
  const idx = index !== null && index !== void 0 ? index : 1;
51
58
  if (this._data[idx])
52
59
  return this._data[idx];
53
- const route = btoa(`73629_${this.code}_0_${idx}`);
54
- const r = yield axios.get(`http://comci.net:4082/36179?${route}`);
60
+ const route = btoa(`107225_${this.code}_0_${idx}`);
61
+ const r = yield axios.get(`${API_URL}?${route}`);
55
62
  if (r.data.startsWith("{}"))
56
63
  throw new ComciganError(`학교 정보를 가져오는데 실패했어요. 학교 코드가 올바른지 확인해주세요.`);
57
64
  const obj = JSON.parse(r.data.substring(0, r.data.lastIndexOf("}") + 1));
@@ -68,8 +75,8 @@ export default class Comcigan {
68
75
  yield this._getdata();
69
76
  const data = this._data[1];
70
77
  return {
71
- "changedAt": dayjs(data.자료244, "YYYY-MM-DD HH:mm:ss").toDate(),
72
- "classes": data.학급수.slice(1),
78
+ "changedAt": dayjs(data.자료108, "YYYY-MM-DD HH:mm:ss").toDate(),
79
+ "classes": data.학급수.slice(1).map((count, index) => { var _a, _b; return count - ((_b = (_a = data.가상학급수) === null || _a === void 0 ? void 0 : _a[index + 1]) !== null && _b !== void 0 ? _b : 0); }),
73
80
  "times": data.일과시간.map(v => ({
74
81
  "number": Number(v.slice(0, 1)),
75
82
  "start": v.slice(2, 7),
@@ -86,46 +93,41 @@ export default class Comcigan {
86
93
  */
87
94
  timetable(options) {
88
95
  return __awaiter(this, void 0, void 0, function* () {
89
- var _a, _b, _c, _d;
96
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
90
97
  const { grade, classNum, week } = options;
91
98
  if (!grade || !classNum)
92
99
  throw new ComciganError("학년 (grade), 반 (classNum)을 제공해주세요.");
93
100
  yield this._getdata(week);
94
101
  const data = this._data[week !== null && week !== void 0 ? week : 1];
95
102
  const toReturn = [];
96
- // 자료481: 현재 데이터
97
- // 자료147: 원본 데이터
98
- // 자료446: 선생님
99
- // 자료492: 과목
103
+ const division = (_a = data.분리) !== null && _a !== void 0 ? _a : 100;
100
104
  for (let day = 1; day <= 5; day++) {
101
105
  const dayItems = [];
102
106
  for (let time = 1; time <= 8; time++) {
103
- const now = splitData(data.자료481[grade][classNum][day][time]);
104
- if (now === -1)
105
- continue;
106
- const subject = data.자료492[now[1]];
107
- const teacher = data.자료446[now[0]];
108
- const classRoom = data.자료245[grade][classNum][day][time];
109
- const classRoomAvailable = classRoom !== undefined && classRoom !== "";
110
- const origin = splitData((_d = (_c = (_b = (_a = data.자료147) === null || _a === void 0 ? void 0 : _a[grade]) === null || _b === void 0 ? void 0 : _b[classNum]) === null || _c === void 0 ? void 0 : _c[day]) === null || _d === void 0 ? void 0 : _d[time]);
111
- if (origin !== -1) {
112
- const newSubject = data.자료492[origin[1]];
113
- const newTeacher = data.자료446[origin[0]];
114
- dayItems.push({
115
- "subject": newSubject,
116
- "teacher": newTeacher,
117
- "classRoom": classRoomAvailable ? classRoom.split("_")[1] : undefined,
118
- "original": newSubject === subject && newTeacher === teacher ? undefined : {
119
- "subject": subject,
120
- "teacher": teacher,
121
- }
122
- });
107
+ const current = (_e = (_d = (_c = (_b = data.자료158) === null || _b === void 0 ? void 0 : _b[grade]) === null || _c === void 0 ? void 0 : _c[classNum]) === null || _d === void 0 ? void 0 : _d[day]) === null || _e === void 0 ? void 0 : _e[time];
108
+ const now = splitData(current);
109
+ if (!now || now[0] === 0)
123
110
  continue;
124
- }
111
+ const subject = String((_f = data.자료123[now[1] % division]) !== null && _f !== void 0 ? _f : "");
112
+ const teacher = teacherName(data.자료119[now[0]]);
113
+ const room = data.강의실 === 1
114
+ ? (_k = (_j = (_h = (_g = data.자료150) === null || _g === void 0 ? void 0 : _g[grade]) === null || _h === void 0 ? void 0 : _h[classNum]) === null || _j === void 0 ? void 0 : _j[day]) === null || _k === void 0 ? void 0 : _k[time]
115
+ : undefined;
116
+ const roomParts = typeof room === "string" ? room.split("_") : [];
117
+ const classRoom = Number(roomParts[0]) > 0 ? roomParts[1] : undefined;
118
+ const original = (_p = (_o = (_m = (_l = data.자료167) === null || _l === void 0 ? void 0 : _l[grade]) === null || _m === void 0 ? void 0 : _m[classNum]) === null || _o === void 0 ? void 0 : _o[day]) === null || _p === void 0 ? void 0 : _p[time];
119
+ const origin = splitData(original);
120
+ const changed = data.변경알림 === 1
121
+ ? String(current).startsWith(">")
122
+ : String(current) !== String(original);
125
123
  dayItems.push({
126
124
  subject,
127
125
  teacher,
128
- "classRoom": classRoomAvailable ? classRoom : undefined
126
+ classRoom,
127
+ original: changed && origin && origin[0] > 0 ? {
128
+ subject: String((_q = data.자료123[origin[1] % division]) !== null && _q !== void 0 ? _q : ""),
129
+ teacher: teacherName(data.자료119[origin[0]]),
130
+ } : undefined,
129
131
  });
130
132
  }
131
133
  toReturn[day - 1] = {
package/dist/class.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"class.js","sourceRoot":"","sources":["../src/class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"class.js","sourceRoot":"","sources":["../src/class.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,aAAa,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,KAAK,CAAC,QAAQ,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;AAE3C,MAAM,OAAO,GAAG,8BAA8B,CAAC;AAE/C,SAAS,SAAS,CAAC,GAAY;IAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACjE,OAAO,CAAC,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAU,CAAC;AAC7D,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE;IAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;WACjE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,QAAQ;IACzB,YACW,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QAGf,UAAK,GAAsB,EAAE,CAAC;IAFlC,CAAC;IAIL;;;;;OAKG;IACI,MAAM,CAAO,MAAM,CAAC,KAAa;;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;iBAClD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;iBACnE,IAAI,CAAC,EAAE,CAAC,CAAC;YAEd,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAS,GAAG,OAAO,UAAU,KAAK,EAAE,CAAC,CAAC;YAC/D,MAAM,GAAG,GAAsB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5F,OAAO,GAAG,CAAC,IAAI;iBACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBACvB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACP,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;gBACZ,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;gBACd,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;aACW,CAAA,CAAC,CAAC;QACrC,CAAC;KAAA;IAEa,QAAQ,CAAC,KAAc;;YACjC,MAAM,GAAG,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,CAAC,CAAC;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;YAEnD,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAS,GAAG,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,aAAa,CAAC,yCAAyC,CAAC,CAAC;YAChG,MAAM,GAAG,GAAoB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAC1B,CAAC;KAAA;IAED;;;;OAIG;IACU,UAAU;;YACnB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE3B,OAAO;gBACH,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC,MAAM,EAAE;gBAC9D,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,eAAC,OAAA,KAAK,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAG,KAAK,GAAG,CAAC,CAAC,mCAAI,CAAC,CAAC,CAAA,EAAA,CAAC;gBAC1F,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACzB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC/B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAA0B;iBAClD,CAAC,CAAC;gBACH,MAAM,EAAE,IAAI,CAAC,IAAI;aACS,CAAC;QACnC,CAAC;KAAA;IAED;;;;;OAKG;IACU,SAAS,CAAC,OAItB;;;YACG,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;YAC1C,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,aAAa,CAAC,mCAAmC,CAAC,CAAC;YACtF,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,CAAC,CAAC,CAAC;YAEnC,MAAM,QAAQ,GAAsB,EAAE,CAAC;YAEvC,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,EAAE,mCAAI,GAAG,CAAC;YAEhC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAA4B,EAAE,CAAC;gBAE7C,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;oBACnC,MAAM,OAAO,GAAG,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAG,KAAK,CAAC,0CAAG,QAAQ,CAAC,0CAAG,GAAG,CAAC,0CAAG,IAAI,CAAC,CAAC;oBAC/D,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;oBAC/B,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;wBAAE,SAAS;oBAEnC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,mCAAI,EAAE,CAAC,CAAC;oBAC5D,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;wBACvB,CAAC,CAAC,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAG,KAAK,CAAC,0CAAG,QAAQ,CAAC,0CAAG,GAAG,CAAC,0CAAG,IAAI,CAAC;wBAChD,CAAC,CAAC,SAAS,CAAC;oBAChB,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClE,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAEtE,MAAM,QAAQ,GAAG,MAAA,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAG,KAAK,CAAC,0CAAG,QAAQ,CAAC,0CAAG,GAAG,CAAC,0CAAG,IAAI,CAAC,CAAC;oBAChE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC;wBAC3B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;wBACjC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAE3C,QAAQ,CAAC,IAAI,CAAC;wBACV,OAAO;wBACP,OAAO;wBACP,SAAS;wBACT,QAAQ,EAAE,OAAO,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BAC3C,OAAO,EAAE,MAAM,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,mCAAI,EAAE,CAAC;4BACvD,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC9C,CAAC,CAAC,CAAC,SAAS;qBAChB,CAAC,CAAC;gBACP,CAAC;gBAED,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG;oBAChB,OAAO,EAAE,QAAQ,CAAC,MAAM;oBACxB,OAAO,EAAE,QAAQ;iBACpB,CAAC;YACN,CAAC;YAED,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;CACJ"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import Comcigan from "./class.js";
2
2
  export default Comcigan;
3
- export type * from './types/index.d.ts';
3
+ export type * from './types/index.js';
@@ -64,12 +64,18 @@ export interface ComciganRawData {
64
64
  "일과시간": string[];
65
65
  "일자자료": [number, string][];
66
66
  "오늘r": number;
67
- "자료147": any;
68
- "자료244": string;
69
- "자료245": any;
70
- "자료446": string[];
71
- "자료481": any;
72
- "자료492": any;
73
- "자료542": any;
67
+ /** 원본 시간표 */
68
+ "자료167": any;
69
+ /** 수정 시각 */
70
+ "자료108": string;
71
+ /** 강의실 */
72
+ "자료150": any;
73
+ /** 교사 목록 */
74
+ "자료119": string[];
75
+ /** 현재 시간표. 변경된 수업에는 > 접두사가 붙을 수 있습니다. */
76
+ "자료158": any;
77
+ /** 과목 목록 (0번 항목은 과목 수) */
78
+ "자료123": (string | number)[];
79
+ "자료140": any;
74
80
  "동시그룹": (number | number[])[];
75
81
  }
package/package.json CHANGED
@@ -1,9 +1,12 @@
1
1
  {
2
2
  "name": "parse-comcigan",
3
- "version": "1.1.2",
3
+ "version": "1.2.0",
4
4
  "description": "컴시간 알리미에서 시간표를 가져오는 라이브러리입니다.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
7
10
  "author": "Pro203S",
8
11
  "license": "MIT",
9
12
  "type": "module",
@@ -16,7 +19,7 @@
16
19
  "test": "npm run pack && node \"test.js\""
17
20
  },
18
21
  "exports": {
19
- "types": "./src/types/index.d.ts",
22
+ "types": "./dist/index.d.ts",
20
23
  "default": "./dist/index.js"
21
24
  },
22
25
  "devDependencies": {
package/test.ts DELETED
@@ -1,7 +0,0 @@
1
- import Comcigan from './dist/index';
2
-
3
- (async () => {
4
- const comci = new Comcigan(41896);
5
-
6
- console.log((await comci.timetable({ "grade": 1, "classNum": 6 }))[1].items[0]);
7
- })();
package/tsconfig.json DELETED
@@ -1,28 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "outDir": "./dist",
4
- "rootDir": "./src",
5
- "target": "ES6",
6
- "lib": [
7
- "ES6",
8
- "DOM"
9
- ],
10
- "moduleResolution": "node16",
11
- "module": "node16",
12
- "esModuleInterop": true,
13
- "declaration": true,
14
- "strict": true,
15
- "sourceMap": true,
16
- "types": [
17
- "node"
18
- ],
19
- "typeRoots": [
20
- "./src/types",
21
- "./node_modules/@types"
22
- ]
23
- },
24
- "exclude": [
25
- "./test.ts",
26
- "./dist/*/**"
27
- ]
28
- }