@certd/plus-core 1.25.4
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/.eslintrc +23 -0
- package/.prettierrc +3 -0
- package/CHANGELOG.md +15 -0
- package/README.md +16 -0
- package/build.md +1 -0
- package/dist/bundle.js +1 -0
- package/dist/d/index.d.ts +3 -0
- package/dist/d/license.d.ts +23 -0
- package/dist/d/license.spec.d.ts +1 -0
- package/dist/d/logger.d.ts +2 -0
- package/dist/d/service.d.ts +15 -0
- package/fix-esm-import-paths.js +96 -0
- package/package.json +34 -0
- package/rollup.config.js +33 -0
- package/tsconfig.json +42 -0
package/.eslintrc
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"parser": "@typescript-eslint/parser",
|
|
3
|
+
"plugins": [
|
|
4
|
+
"@typescript-eslint"
|
|
5
|
+
],
|
|
6
|
+
"extends": [
|
|
7
|
+
"plugin:@typescript-eslint/recommended",
|
|
8
|
+
"plugin:prettier/recommended",
|
|
9
|
+
"prettier"
|
|
10
|
+
],
|
|
11
|
+
"env": {
|
|
12
|
+
"mocha": true
|
|
13
|
+
},
|
|
14
|
+
"rules": {
|
|
15
|
+
"@typescript-eslint/no-var-requires": "off",
|
|
16
|
+
"@typescript-eslint/ban-ts-comment": "off",
|
|
17
|
+
"@typescript-eslint/ban-ts-ignore": "off",
|
|
18
|
+
"@typescript-eslint/no-explicit-any": "off",
|
|
19
|
+
"@typescript-eslint/no-empty-function": "off",
|
|
20
|
+
// "no-unused-expressions": "off",
|
|
21
|
+
"max-len": [0, 160, 2, { "ignoreUrls": true }]
|
|
22
|
+
}
|
|
23
|
+
}
|
package/.prettierrc
ADDED
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
+
|
|
6
|
+
## [1.22.1](https://github.com/certd/certd/compare/v1.22.0...v1.22.1) (2024-07-20)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @certd/lib-huawei
|
|
9
|
+
|
|
10
|
+
# [1.22.0](https://github.com/certd/certd/compare/v1.21.2...v1.22.0) (2024-07-19)
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* 升级midway,支持esm ([485e603](https://github.com/certd/certd/commit/485e603b5165c28bc08694997726eaf2a585ebe7))
|
|
15
|
+
* 支持postgresql ([3b19bfb](https://github.com/certd/certd/commit/3b19bfb4291e89064b3b407a80dae092d54747d5))
|
package/README.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Vue 3 + TypeScript + Vite
|
|
2
|
+
|
|
3
|
+
This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
|
|
4
|
+
|
|
5
|
+
## Recommended IDE Setup
|
|
6
|
+
|
|
7
|
+
- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar)
|
|
8
|
+
|
|
9
|
+
## Type Support For `.vue` Imports in TS
|
|
10
|
+
|
|
11
|
+
Since TypeScript cannot handle type information for `.vue` imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in `.vue` imports (for example to get props validation when using manual `h(...)` calls), you can enable Volar's Take Over mode by following these steps:
|
|
12
|
+
|
|
13
|
+
1. Run `Extensions: Show Built-in Extensions` from VS Code's command palette, look for `TypeScript and JavaScript Language Features`, then right click and select `Disable (Workspace)`. By default, Take Over mode will enable itself if the default TypeScript extension is disabled.
|
|
14
|
+
2. Reload the VS Code window by running `Developer: Reload Window` from the command palette.
|
|
15
|
+
|
|
16
|
+
You can learn more about Take Over mode [here](https://github.com/johnsoncodehk/volar/discussions/471).
|
package/build.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
09:51
|
package/dist/bundle.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("node:crypto"),t=require("dayjs");function s(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(s){if("default"!==s){var r=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(t,s,r.get?r:{enumerable:!0,get:function(){return e[s]}})}})),t.default=e,Object.freeze(t)}var r=s(e);const i={logger:{info(...e){console.log(...e)},warn(...e){console.warn(...e)},error(...e){console.error(...e)},debug(...e){console.log(...e)}}};function n(){return i.logger}let o="LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJDZ0tDQVFFQW9VWE1EWUhjdi82WFROWEZFSUI2RlpuR2FER0cwZnR5bTV1dVhPck9NaVl0UkxSb1lvSGMKNVZxenE0N00rdEFqRFBhaTBlOFhWS1c3aytUQUw3MUs0N2JCQVEyWTBxNU5Ya3lYcE5PTVdueVFMYXBwb0tWNgpPMkFJMnpFVURWMVJVa0ZtMFZTVjU0VXNzMDcrdjI2aW5aQU1CWitDMU42eWFDc2tZL3grNnVlNkVRNVcyZXdFCjZOWEhJcUU1bHdEUmU2SXJtdEpnU2doSnlHTS91azIyejN6NGEraFVPVUlWMy9DbEhYV0VhRHBBRFFsakt3NSsKeHR0dURiTHZyUmdzdWp6czB0dEI2OE1SbXE0R0FJL0JtNWVPWkhlNGxFQjBFVVhFUXdVWE1jV1N1VFZSMUE2cApUM21LRGo5MGcwVDFZUlNOdE5TMm9aRzgvRWIwOVlxK3Z3SURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K",c="kQth6FHM71IPV3qdWc";"false"===process.env.plus_use_prod&&(o="LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUJDZ0tDQVFFQXY3TGtMaUp1dGM0NzhTU3RaTExjajVGZXh1YjJwR2NLMGxwa0hwVnlZWjhMY29rRFhuUlAKUGQ5UlJSTVRTaGJsbFl2Mzd4QUhOV1ZIQ0ZsWHkrQklVU001bUlBU1NDQTV0azlJNmpZZ2F4bEFDQm1BY0lGMwozKzBjeGZIYVkrVW9YdVluMkZ6YUt2Ym5GdFZIZ0lkMDg4a3d4clZTZzlCT3BDRVZIR1pxR2I5TWN5MXVHVXhUClFTVENCbmpoTWZlZ0p6cXVPYWVOY0ZPSE5tbmtWRWpLTythbTBPeEhNS1lyS3ZnQnVEbzdoVnFENlBFMUd6V3AKZHdwZUV4QXZDSVJxL2pWTkdRK3FtMkRWOVNJZ3U5bmF4MktmSUtFeU50dUFFS1VpekdqL0VmRFhDM1cxMExhegpKaGNYNGw1SUFZU1o3L3JWVmpGbExWSVl0WDU1T054L1Z3SURBUUFCCi0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K",c="z4nXOeTeSnnpUpnmsV"),"true"===process.env.plus_off&&(c="12132");const a=c;const u=new class{isPlus=!1;expireTime=0;vipType="";message=void 0;secret=void 0};u.isPlus=!1;const l=new class{checked=!1;licenseReq=void 0;async reVerify(e){return this.checked=!1,await this.verify(e)}setPlus(e,t={}){return e&&t?(u.isPlus=!0,u.expireTime=t.expireTime,u.secret=t.secret,u.vipType=t.vipType):(u.isPlus=!1,u.expireTime=0,u.vipType="",u.message=t.message,u.secret=void 0),{...u}}async verify(e){if(!e.plusRequestService)return console.error("plusRequestService is not set"),this.setPlus(!1);if(this.licenseReq=e,this.checked)return this.setPlus(!1);const s=e?.license;if(!s)return this.checked=!0,this.setPlus(!1);const r=Buffer.from(s,"base64").toString(),i=JSON.parse(r),a=n();if(i.expireTime<Date.now())return a.warn("授权已过期"),this.setPlus(!1,{message:"授权已过期"});const u=`${c},${this.licenseReq.subjectId},${i.code},${i.secret},${i.vipType},${i.activeTime},${i.duration},${i.expireTime},${i.version}`;a.debug("content:",u);const l=Buffer.from(o,"base64").toString(),p=this.verifySignature(u,i.signature,l);return this.checked=!0,p?(a.info(`授权校验成功,到期时间:${t(i.expireTime).format("YYYY-MM-DD HH:mm:ss")}`),this.setPlus(!0,{expireTime:i.expireTime,vipType:i.vipType||"plus",secret:i.secret})):(a.warn("授权校验失败"),this.setPlus(!1,{message:"授权校验失败"}))}verifySignature(t,s,r){const i=e.createVerify("RSA-SHA256");return i.update(t),i.verify(r,s,"base64")}async verifyFromRemote(){if(this.licenseReq?.plusRequestService)try{const e=await this.licenseReq.plusRequestService.request({url:"/activation/subject/vip/check",data:{url:this.licenseReq.bindUrl}});if(!e.data?.ok){const t=e.data?.message||e.message;return console.log("vip校验失败,退回免费版:",t),this.setPlus(!1,{message:t})}p()||await this.reVerify(this.licenseReq)}catch(e){console.error(e.message)}}};function p(){return u.isPlus&&u.expireTime>Date.now()}function h(){return{isPlus:u.isPlus,vipType:u.vipType,expireTime:u.expireTime,secret:u.secret}}!function(){async function e(){if(!p())return;const e=n();if(e.info("check license"),p()&&!u.secret)return e.info("license 校验失败!!!"),function(){const e=Math.floor(1e3*Math.random()*60*60);setTimeout((()=>{console.log("11111"),process.exit(0)}),e)}();await l.verifyFromRemote()}setInterval((async()=>{await e()}),864e5),setTimeout((async()=>{await e()}),6e4)}();exports.AppKey=a,exports.PlusRequestService=class{plusServerBaseUrl;http;logger;subjectId;constructor(e){this.plusServerBaseUrl=e.plusServerBaseUrl,this.http=e.http,this.logger=e.logger,this.subjectId=e.subjectId}async requestWithoutSign(e){return e.baseURL=this.plusServerBaseUrl,e.method=e.method||"POST",await this.http.request(e)}async request(e){if(!p())throw new Error("您还不是专业版,请先激活专业版");const{url:t,data:s}=e,r=Date.now(),i=await this.sign(s,r),n={subjectId:this.subjectId,appKey:a,sign:i,timestamps:r};let o=JSON.stringify(n);o=Buffer.from(o).toString("base64");const c={"Content-Type":"application/json","X-Plus-Subject":o};return await this.http.request({url:t,baseURL:this.plusServerBaseUrl,method:"POST",data:s,headers:c})}async sign(e,t){const s=JSON.stringify(e),i=h().secret;if(!i)throw new Error("secret is not set");const n=`${s}.${t}.${i}`,o=r.createHash("sha256").update(n).digest("base64");return this.logger.info("content:",n,"sign:",o),o}},exports.getLogger=n,exports.getPlusInfo=h,exports.isCommercial=function(){return u.isPlus&&"comm"===u.vipType&&u.expireTime>Date.now()},exports.isPlus=p,exports.setLogger=function(e){i.logger=e},exports.verify=async function(e){try{const t=await l.reVerify(e);return p()&&setTimeout((()=>{l.verifyFromRemote()}),1e3),t}catch(e){return n().error(e),l.setPlus(!1,{message:"授权校验失败"})}};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PlusRequestService } from "./service.js";
|
|
2
|
+
export declare const AppKey: string;
|
|
3
|
+
export type LicenseVerifyReq = {
|
|
4
|
+
subjectId: string;
|
|
5
|
+
license: string;
|
|
6
|
+
bindUrl?: string;
|
|
7
|
+
plusRequestService?: PlusRequestService;
|
|
8
|
+
};
|
|
9
|
+
export declare function isPlus(): boolean;
|
|
10
|
+
export declare function isCommercial(): boolean;
|
|
11
|
+
export declare function getPlusInfo(): {
|
|
12
|
+
isPlus: boolean;
|
|
13
|
+
vipType: string;
|
|
14
|
+
expireTime: number;
|
|
15
|
+
secret: string;
|
|
16
|
+
};
|
|
17
|
+
export declare function verify(req: LicenseVerifyReq): Promise<{
|
|
18
|
+
isPlus: boolean;
|
|
19
|
+
expireTime: number;
|
|
20
|
+
vipType: string;
|
|
21
|
+
message?: string;
|
|
22
|
+
secret?: string;
|
|
23
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class PlusRequestService {
|
|
2
|
+
plusServerBaseUrl: string;
|
|
3
|
+
http: any;
|
|
4
|
+
logger: any;
|
|
5
|
+
subjectId: string;
|
|
6
|
+
constructor(opts: {
|
|
7
|
+
plusServerBaseUrl: string;
|
|
8
|
+
http: any;
|
|
9
|
+
logger: any;
|
|
10
|
+
subjectId: string;
|
|
11
|
+
});
|
|
12
|
+
requestWithoutSign(config: any): Promise<any>;
|
|
13
|
+
request(config: any): Promise<any>;
|
|
14
|
+
sign(body: any, timestamps: number): Promise<string>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import * as fs from "fs";
|
|
2
|
+
import * as path from "path";
|
|
3
|
+
|
|
4
|
+
// https://gist.github.com/lovasoa/8691344
|
|
5
|
+
async function* walk(dir) {
|
|
6
|
+
for await (const d of await fs.promises.opendir(dir)) {
|
|
7
|
+
const entry = path.join(dir, d.name);
|
|
8
|
+
if (d.isDirectory()) {
|
|
9
|
+
yield* walk(entry);
|
|
10
|
+
} else if (d.isFile()) {
|
|
11
|
+
yield entry;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
function resolveImportPath(sourceFile, importPath, options) {
|
|
17
|
+
const sourceFileAbs = path.resolve(process.cwd(), sourceFile);
|
|
18
|
+
const root = path.dirname(sourceFileAbs);
|
|
19
|
+
const { moduleFilter = defaultModuleFilter } = options;
|
|
20
|
+
|
|
21
|
+
if (moduleFilter(importPath)) {
|
|
22
|
+
const importPathAbs = path.resolve(root, importPath);
|
|
23
|
+
let possiblePath = [path.resolve(importPathAbs, "./index.ts"), path.resolve(importPathAbs, "./index.js"), importPathAbs + ".ts", importPathAbs + ".js"];
|
|
24
|
+
|
|
25
|
+
if (possiblePath.length) {
|
|
26
|
+
for (let i = 0; i < possiblePath.length; i++) {
|
|
27
|
+
let entry = possiblePath[i];
|
|
28
|
+
if (fs.existsSync(entry)) {
|
|
29
|
+
const resolved = path.relative(root, entry.replace(/\.ts$/, ".js"));
|
|
30
|
+
|
|
31
|
+
if (!resolved.startsWith(".")) {
|
|
32
|
+
return "./" + resolved;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return resolved;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function replace(filePath, outFilePath, options) {
|
|
45
|
+
const code = fs.readFileSync(filePath).toString();
|
|
46
|
+
const newCode = code.replace(/(import|export) (.+?) from ('[^\n']+'|"[^\n"]+");/gs, function (found, action, imported, from) {
|
|
47
|
+
const importPath = from.slice(1, -1);
|
|
48
|
+
let resolvedPath = resolveImportPath(filePath, importPath, options);
|
|
49
|
+
|
|
50
|
+
if (resolvedPath) {
|
|
51
|
+
resolvedPath = resolvedPath.replaceAll("\\", "/");
|
|
52
|
+
console.log("\t", importPath, resolvedPath);
|
|
53
|
+
return `${action} ${imported} from "${resolvedPath}";`;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return found;
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
if (code !== newCode) {
|
|
60
|
+
fs.writeFileSync(outFilePath, newCode);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Then, use it with a simple async for loop
|
|
65
|
+
async function run(srcDir, options = defaultOptions) {
|
|
66
|
+
const { sourceFileFilter = defaultSourceFileFilter } = options;
|
|
67
|
+
|
|
68
|
+
for await (const entry of walk(srcDir)) {
|
|
69
|
+
if (sourceFileFilter(entry)) {
|
|
70
|
+
console.log(entry);
|
|
71
|
+
replace(entry, entry, options);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const defaultSourceFileFilter = function (sourceFilePath) {
|
|
77
|
+
return /\.(js|ts)$/.test(sourceFilePath) && !/node_modules/.test(sourceFilePath);
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const defaultModuleFilter = function (importedModule) {
|
|
81
|
+
return !path.isAbsolute(importedModule) && !importedModule.startsWith("@") && !importedModule.endsWith(".js");
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
const defaultOptions = {
|
|
85
|
+
sourceFileFilter: defaultSourceFileFilter,
|
|
86
|
+
moduleFilter: defaultModuleFilter,
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
// Switch this to test on one file or directly run on a directory.
|
|
90
|
+
const DEBUG = false;
|
|
91
|
+
|
|
92
|
+
if (DEBUG) {
|
|
93
|
+
replace("./src/index.ts", "./out.ts", defaultOptions);
|
|
94
|
+
} else {
|
|
95
|
+
await run("./src/", defaultOptions);
|
|
96
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@certd/plus-core",
|
|
3
|
+
"private": false,
|
|
4
|
+
"version": "1.25.4",
|
|
5
|
+
"main": "./dist/bundle.js",
|
|
6
|
+
"module": "./dist/bundle.js",
|
|
7
|
+
"types": "./dist/d/index.d.ts",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"dev": "vite",
|
|
10
|
+
"build": "rollup -c ",
|
|
11
|
+
"build2": "vue-tsc --noEmit && vite build",
|
|
12
|
+
"preview": "vite preview"
|
|
13
|
+
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"@rollup/plugin-json": "^6.0.0",
|
|
16
|
+
"@rollup/plugin-terser": "^0.4.3",
|
|
17
|
+
"@rollup/plugin-typescript": "^11.0.0",
|
|
18
|
+
"@types/mocha": "^10.0.7",
|
|
19
|
+
"@types/node": "^18",
|
|
20
|
+
"chai": "4.3.10",
|
|
21
|
+
"dayjs": "^1.11.7",
|
|
22
|
+
"eslint": "^8.41.0",
|
|
23
|
+
"eslint-config-prettier": "^8.8.0",
|
|
24
|
+
"eslint-plugin-import": "^2.27.5",
|
|
25
|
+
"eslint-plugin-node": "^11.1.0",
|
|
26
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
27
|
+
"mocha": "^10.2.0",
|
|
28
|
+
"rollup": "^3.7.4",
|
|
29
|
+
"ts-node": "^10.9.1",
|
|
30
|
+
"typescript": "^5.0.4",
|
|
31
|
+
"@types/chai": "^4.3.10"
|
|
32
|
+
},
|
|
33
|
+
"gitHead": "47fe3d5826661f678d081ab53e67c847a3239d88"
|
|
34
|
+
}
|
package/rollup.config.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// const resolve = require("@rollup/plugin-node-resolve");
|
|
2
|
+
// const commonjs = require("@rollup/plugin-commonjs");
|
|
3
|
+
//const Typescript = require("rollup-plugin-typescript2");
|
|
4
|
+
const typescript = require("@rollup/plugin-typescript");
|
|
5
|
+
const json = require("@rollup/plugin-json");
|
|
6
|
+
const terser = require("@rollup/plugin-terser");
|
|
7
|
+
module.exports = {
|
|
8
|
+
input: "src/index.ts",
|
|
9
|
+
output: {
|
|
10
|
+
file: "dist/bundle.js",
|
|
11
|
+
format: "cjs",
|
|
12
|
+
},
|
|
13
|
+
plugins: [
|
|
14
|
+
typescript({
|
|
15
|
+
target: "esnext",
|
|
16
|
+
rootDir: "src",
|
|
17
|
+
declaration: true,
|
|
18
|
+
declarationDir: "dist/d",
|
|
19
|
+
exclude: ["./node_modules/**", "./src/**/*.vue", "./src/**/*.spec.ts"],
|
|
20
|
+
allowSyntheticDefaultImports: true,
|
|
21
|
+
}),
|
|
22
|
+
json(),
|
|
23
|
+
terser({
|
|
24
|
+
compress: true,
|
|
25
|
+
mangle: true,
|
|
26
|
+
output: {
|
|
27
|
+
beautify: false,
|
|
28
|
+
comments: false,
|
|
29
|
+
},
|
|
30
|
+
}),
|
|
31
|
+
],
|
|
32
|
+
external: ["vue", "lodash-es", "dayjs", "log4js", "@midwayjs/core", "@certd/pipeline", "axios"],
|
|
33
|
+
};
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compileOnSave": false,
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"target": "ESNext",
|
|
5
|
+
"module": "ESNext",
|
|
6
|
+
"moduleResolution": "node",
|
|
7
|
+
"esModuleInterop": true,
|
|
8
|
+
"experimentalDecorators": true,
|
|
9
|
+
"emitDecoratorMetadata": true,
|
|
10
|
+
"inlineSourceMap":true,
|
|
11
|
+
"noImplicitThis": true,
|
|
12
|
+
"noUnusedLocals": true,
|
|
13
|
+
"stripInternal": true,
|
|
14
|
+
"skipLibCheck": true,
|
|
15
|
+
"pretty": true,
|
|
16
|
+
"declaration": true,
|
|
17
|
+
"forceConsistentCasingInFileNames": true,
|
|
18
|
+
"typeRoots": [ "./typings", "./node_modules/@types"],
|
|
19
|
+
"outDir": "dist",
|
|
20
|
+
"rootDir": "src",
|
|
21
|
+
"composite": true,
|
|
22
|
+
"useDefineForClassFields": true,
|
|
23
|
+
"strict": false,
|
|
24
|
+
"sourceMap": true,
|
|
25
|
+
"resolveJsonModule": true,
|
|
26
|
+
"isolatedModules": false,
|
|
27
|
+
"lib": ["ESNext", "DOM"],
|
|
28
|
+
},
|
|
29
|
+
"include": [
|
|
30
|
+
"src/**/*.ts",
|
|
31
|
+
"src/**/*.d.ts",
|
|
32
|
+
"src/**/*.js",
|
|
33
|
+
"src/**/*.json"
|
|
34
|
+
],
|
|
35
|
+
"exclude": [
|
|
36
|
+
"*.ts",
|
|
37
|
+
"*.spec.ts",
|
|
38
|
+
"dist",
|
|
39
|
+
"node_modules",
|
|
40
|
+
"test"
|
|
41
|
+
],
|
|
42
|
+
}
|