include project files for types

pull/356/head
Vladimir Mandic 2022-11-11 11:11:27 -05:00
parent cc4650c151
commit 12ab4f0e35
8 changed files with 182 additions and 73 deletions

View File

@ -9,8 +9,9 @@
## Changelog ## Changelog
### **HEAD -> main** 2022/11/04 mandic00@live.com ### **HEAD -> main** 2022/11/10 mandic00@live.com
- refresh dependencies
- add named exports - add named exports
- add draw label templates - add draw label templates
- reduce dev dependencies - reduce dev dependencies

View File

@ -32,17 +32,26 @@ const apiExtractorIgnoreList = [ // eslint-disable-line no-unused-vars
]; ];
function copy(src, dst) { function copy(src, dst) {
if (!fs.existsSync(src)) return; if (!fs.existsSync(src)) {
log.warn('Copy:', { input: src, output: dst });
return;
}
log.state('Copy:', { input: src, output: dst });
const buffer = fs.readFileSync(src); const buffer = fs.readFileSync(src);
fs.writeFileSync(dst, buffer); fs.writeFileSync(dst, buffer);
} }
function write(str, dst) { function write(str, dst) {
log.state('Write:', { output: dst });
fs.writeFileSync(dst, str); fs.writeFileSync(dst, str);
} }
function filter(str, src) { function filter(str, src) {
if (!fs.existsSync(src)) return; if (!fs.existsSync(src)) {
log.warn('Filter:', { src });
return;
}
log.state('Filter:', { input: src });
const buffer = fs.readFileSync(src, 'UTF-8'); const buffer = fs.readFileSync(src, 'UTF-8');
const lines = buffer.split(/\r?\n/); const lines = buffer.split(/\r?\n/);
const out = []; const out = [];
@ -89,16 +98,19 @@ async function analyzeModels() {
async function main() { async function main() {
log.logFile(logFile); log.logFile(logFile);
log.data('Build', { name: packageJSON.name, version: packageJSON.version }); log.data('Build', { name: packageJSON.name, version: packageJSON.version });
// run production build // run production build
const build = new Build(); const build = new Build();
await build.run('production'); await build.run('production');
// patch tfjs typedefs // patch tfjs typedefs
log.state('Copy:', { input: 'src/tfjs', output: 'dist/tfjs.esm.d.ts' });
copy('src/tfjs/tfjs.esm.d.ts', 'dist/tfjs.esm.d.ts'); copy('src/tfjs/tfjs.esm.d.ts', 'dist/tfjs.esm.d.ts');
// log.state('Copy:', { input: '@vladmandic/tfjs/types', output: 'types/tfjs-core.esm.d.ts' }); copy('node_modules/@vladmandic/tfjs/types/tfjs-core.d.ts', 'types/tfjs-core.d.ts');
// copy('node_modules/@vladmandic/tfjs/types/tfjs-core.d.ts', 'types/tfjs-core.esm.d.ts'); copy('node_modules/@vladmandic/tfjs/types/tfjs.d.ts', 'types/tfjs.esm.d.ts');
// log.state('Copy:', { input: '@vladmandic/tfjs/types', output: 'types/tfjs.esm.d.ts' }); copy('tfjs/types-tsconfig.json', 'types/tsconfig.json');
// copy('node_modules/@vladmandic/tfjs/types/tfjs.d.ts', 'types/tfjs.esm.d.ts'); copy('tfjs/types-eslint.json', 'types/.eslintrc.json');
filter('reference types', 'types/tfjs-core.d.ts');
// run api-extractor to create typedef rollup // run api-extractor to create typedef rollup
const extractorConfig = APIExtractor.ExtractorConfig.loadFileAndPrepare('.api-extractor.json'); const extractorConfig = APIExtractor.ExtractorConfig.loadFileAndPrepare('.api-extractor.json');
const extractorResult = APIExtractor.Extractor.invoke(extractorConfig, { const extractorResult = APIExtractor.Extractor.invoke(extractorConfig, {
@ -113,24 +125,13 @@ async function main() {
}, },
}); });
log.state('API-Extractor:', { succeeeded: extractorResult.succeeded, errors: extractorResult.errorCount, warnings: extractorResult.warningCount }); log.state('API-Extractor:', { succeeeded: extractorResult.succeeded, errors: extractorResult.errorCount, warnings: extractorResult.warningCount });
// distribute typedefs
// log.state('Copy:', { input: 'types/human.d.ts' });
// copy('types/human.d.ts', 'dist/human.esm-nobundle.d.ts');
// copy('types/human.d.ts', 'dist/human.esm.d.ts');
// copy('types/human.d.ts', 'dist/human.d.ts');
// copy('types/human.d.ts', 'dist/human.node-gpu.d.ts');
// copy('types/human.d.ts', 'dist/human.node.d.ts');
// copy('types/human.d.ts', 'dist/human.node-wasm.d.ts');
log.state('Filter:', { input: 'types/human.d.ts' });
filter('reference types', 'types/human.d.ts'); filter('reference types', 'types/human.d.ts');
log.state('Link:', { input: 'types/human.d.ts' });
write('export * from \'../types/human\';', 'dist/human.esm-nobundle.d.ts'); write('export * from \'../types/human\';', 'dist/human.esm-nobundle.d.ts');
write('export * from \'../types/human\';', 'dist/human.esm.d.ts'); write('export * from \'../types/human\';', 'dist/human.esm.d.ts');
write('export * from \'../types/human\';', 'dist/human.d.ts'); write('export * from \'../types/human\';', 'dist/human.d.ts');
write('export * from \'../types/human\';', 'dist/human.node-gpu.d.ts'); write('export * from \'../types/human\';', 'dist/human.node-gpu.d.ts');
write('export * from \'../types/human\';', 'dist/human.node.d.ts'); write('export * from \'../types/human\';', 'dist/human.node.d.ts');
write('export * from \'../types/human\';', 'dist/human.node-wasm.d.ts'); write('export * from \'../types/human\';', 'dist/human.node-wasm.d.ts');
// export * from '../types/human';
// generate model signature // generate model signature
await analyzeModels(); await analyzeModels();

View File

@ -45,7 +45,6 @@ import type { Input, DrawOptions, Config, Result, FaceResult, HandResult, BodyRe
import type { Tensor, Tensor4D } from './tfjs/types'; import type { Tensor, Tensor4D } from './tfjs/types';
// type exports // type exports
export * from './exports'; export * from './exports';
// tfjs re-export
/** **Human** library main class /** **Human** library main class
* *

View File

@ -1,6 +1,8 @@
/* eslint-disable import/no-unresolved */ /* eslint-disable import/no-unresolved */
/* eslint-disable import/no-extraneous-dependencies */ /* eslint-disable import/no-extraneous-dependencies */
export * from 'types/tfjs.esm';
export declare const version: { export declare const version: {
'tfjs-core': string; 'tfjs-core': string;
'tfjs-backend-cpu': string; 'tfjs-backend-cpu': string;
@ -13,12 +15,11 @@ export declare const version: {
export * from '@tensorflow/tfjs-core'; export * from '@tensorflow/tfjs-core';
export * from '@tensorflow/tfjs-converter'; export * from '@tensorflow/tfjs-converter';
// export * from '@tensorflow/tfjs-data'; export * from '@tensorflow/tfjs-data';
// export * from '@tensorflow/tfjs-layers'; export * from '@tensorflow/tfjs-layers';
// export * from '@tensorflow/tfjs-backend-cpu'; export * from '@tensorflow/tfjs-backend-cpu';
export * from '@tensorflow/tfjs-backend-wasm'; export * from '@tensorflow/tfjs-backend-wasm';
export * from '@tensorflow/tfjs-backend-webgl'; export * from '@tensorflow/tfjs-backend-webgl';
// export * from '@tensorflow/tfjs-backend-webgpu'; export * from '@tensorflow/tfjs-backend-webgpu';
export * from '@tensorflow/tfjs-node';
// export * from 'types/tfjs-core.esm'; export * from '@tensorflow/tfjs-node-gpu';
// export * from 'types/tfjs.esm';

View File

@ -127,7 +127,7 @@ export class Env {
async updateBackend() { async updateBackend() {
// analyze backends // analyze backends
this.backends = Object.keys(tf.engine().registryFactory); this.backends = Object.keys(tf.engine().registryFactory);
try { try { // backend may not be initialized
this.tensorflow = { this.tensorflow = {
version: (tf.backend()['binding'] ? tf.backend()['binding'].TF_Version : undefined), version: (tf.backend()['binding'] ? tf.backend()['binding'].TF_Version : undefined),
gpu: (tf.backend()['binding'] ? tf.backend()['binding'].isUsingGpuDevice() : undefined), gpu: (tf.backend()['binding'] ? tf.backend()['binding'].isUsingGpuDevice() : undefined),
@ -140,12 +140,10 @@ export class Env {
this.wasm.multithread = await tf.env().getAsync('WASM_HAS_MULTITHREAD_SUPPORT') as boolean; this.wasm.multithread = await tf.env().getAsync('WASM_HAS_MULTITHREAD_SUPPORT') as boolean;
} }
const c = image.canvas(100, 100); const c = image.canvas(100, 100);
const ctx = c ? c.getContext('webgl2') : undefined; // causes too many gl contexts const gl = c ? c.getContext('webgl2') as WebGL2RenderingContext : undefined; // causes too many gl contexts
// const ctx = typeof tf.backend().getGPGPUContext !== undefined ? tf.backend().getGPGPUContext : null; this.webgl.supported = typeof gl !== 'undefined';
this.webgl.supported = typeof ctx !== 'undefined';
this.webgl.backend = this.backends.includes('webgl'); this.webgl.backend = this.backends.includes('webgl');
if (this.webgl.supported && this.webgl.backend) { if (this.webgl.supported && this.webgl.backend && gl) {
const gl = ctx as WebGL2RenderingContext;
this.webgl.version = gl.getParameter(gl.VERSION); this.webgl.version = gl.getParameter(gl.VERSION);
this.webgl.vendor = gl.getParameter(gl.VENDOR); this.webgl.vendor = gl.getParameter(gl.VENDOR);
this.webgl.renderer = gl.getParameter(gl.RENDERER); this.webgl.renderer = gl.getParameter(gl.RENDERER);

View File

@ -1,40 +1,50 @@
2022-11-10 20:16:03 DATA:  Build {"name":"@vladmandic/human","version":"3.0.0"} 2022-11-11 11:10:32 DATA:  Build {"name":"@vladmandic/human","version":"3.0.0"}
2022-11-10 20:16:03 INFO:  Application: {"name":"@vladmandic/human","version":"3.0.0"} 2022-11-11 11:10:32 INFO:  Application: {"name":"@vladmandic/human","version":"3.0.0"}
2022-11-10 20:16:03 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true} 2022-11-11 11:10:32 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2022-11-10 20:16:03 INFO:  Toolchain: {"build":"0.7.14","esbuild":"0.15.13","typescript":"4.8.4","typedoc":"0.23.20","eslint":"8.27.0"} 2022-11-11 11:10:32 INFO:  Toolchain: {"build":"0.7.14","esbuild":"0.15.13","typescript":"4.8.4","typedoc":"0.23.20","eslint":"8.27.0"}
2022-11-10 20:16:03 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]} 2022-11-11 11:10:32 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
2022-11-10 20:16:03 STATE: Clean: {"locations":["dist/*","types/*","typedoc/*"]} 2022-11-11 11:10:32 STATE: Clean: {"locations":["dist/*","types/*","typedoc/*"]}
2022-11-10 20:16:03 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":361} 2022-11-11 11:10:32 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1289,"outputBytes":361}
2022-11-10 20:16:03 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":569,"outputBytes":924} 2022-11-11 11:10:32 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":569,"outputBytes":924}
2022-11-10 20:16:03 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":79,"inputBytes":674094,"outputBytes":316829} 2022-11-11 11:10:32 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":79,"inputBytes":673984,"outputBytes":316823}
2022-11-10 20:16:03 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":577,"outputBytes":928} 2022-11-11 11:10:32 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":577,"outputBytes":928}
2022-11-10 20:16:03 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":79,"inputBytes":674098,"outputBytes":316833} 2022-11-11 11:10:32 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":79,"inputBytes":673988,"outputBytes":316827}
2022-11-10 20:16:03 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":665,"outputBytes":1876} 2022-11-11 11:10:32 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":665,"outputBytes":1876}
2022-11-10 20:16:03 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":79,"inputBytes":675046,"outputBytes":316944} 2022-11-11 11:10:32 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":79,"inputBytes":674936,"outputBytes":316938}
2022-11-10 20:16:03 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1375,"outputBytes":670} 2022-11-11 11:10:32 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1375,"outputBytes":670}
2022-11-10 20:16:03 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":79,"inputBytes":673840,"outputBytes":315438} 2022-11-11 11:10:32 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":79,"inputBytes":673730,"outputBytes":315432}
2022-11-10 20:16:03 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":1375,"outputBytes":1144900} 2022-11-11 11:10:32 STATE: Compile: {"name":"tfjs/browser/esm/bundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":10,"inputBytes":1375,"outputBytes":1144900}
2022-11-10 20:16:03 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":79,"inputBytes":1818070,"outputBytes":1457034} 2022-11-11 11:10:32 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":79,"inputBytes":1817960,"outputBytes":1457028}
2022-11-10 20:16:04 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":79,"inputBytes":1818070,"outputBytes":1914674} 2022-11-11 11:10:32 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":79,"inputBytes":1817960,"outputBytes":1914658}
2022-11-10 20:16:08 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":15} 2022-11-11 11:10:36 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":15}
2022-11-10 20:16:10 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":76,"generated":true} 2022-11-11 11:10:38 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":76,"generated":true}
2022-11-10 20:16:10 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5981,"outputBytes":2862} 2022-11-11 11:10:38 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":5981,"outputBytes":2862}
2022-11-10 20:16:10 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17134,"outputBytes":9181} 2022-11-11 11:10:38 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":17134,"outputBytes":9181}
2022-11-10 20:16:19 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":116,"errors":0,"warnings":0} 2022-11-11 11:10:46 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":116,"errors":0,"warnings":0}
2022-11-10 20:16:19 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"} 2022-11-11 11:10:46 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2022-11-10 20:16:19 STATE: Copy: {"input":"src/tfjs","output":"dist/tfjs.esm.d.ts"} 2022-11-11 11:10:46 STATE: Copy: {"input":"src/tfjs/tfjs.esm.d.ts","output":"dist/tfjs.esm.d.ts"}
2022-11-10 20:16:19 INFO:  Done... 2022-11-11 11:10:46 INFO:  Done...
2022-11-10 20:16:20 STATE: API-Extractor: {"succeeeded":true,"errors":0,"warnings":195} 2022-11-11 11:10:46 STATE: Copy: {"input":"node_modules/@vladmandic/tfjs/types/tfjs-core.d.ts","output":"types/tfjs-core.d.ts"}
2022-11-10 20:16:20 STATE: Filter: {"input":"types/human.d.ts"} 2022-11-11 11:10:46 STATE: Copy: {"input":"node_modules/@vladmandic/tfjs/types/tfjs.d.ts","output":"types/tfjs.esm.d.ts"}
2022-11-10 20:16:20 STATE: Link: {"input":"types/human.d.ts"} 2022-11-11 11:10:46 STATE: Copy: {"input":"tfjs/types-tsconfig.json","output":"types/tsconfig.json"}
2022-11-10 20:16:20 INFO:  Analyze models: {"folders":8,"result":"models/models.json"} 2022-11-11 11:10:46 STATE: Copy: {"input":"tfjs/types-eslint.json","output":"types/.eslintrc.json"}
2022-11-10 20:16:20 STATE: Models {"folder":"./models","models":12} 2022-11-11 11:10:46 STATE: Filter: {"input":"types/tfjs-core.d.ts"}
2022-11-10 20:16:20 STATE: Models {"folder":"../human-models/models","models":43} 2022-11-11 11:10:47 STATE: API-Extractor: {"succeeeded":true,"errors":0,"warnings":195}
2022-11-10 20:16:20 STATE: Models {"folder":"../blazepose/model/","models":4} 2022-11-11 11:10:47 STATE: Filter: {"input":"types/human.d.ts"}
2022-11-10 20:16:20 STATE: Models {"folder":"../anti-spoofing/model","models":1} 2022-11-11 11:10:47 STATE: Write: {"output":"dist/human.esm-nobundle.d.ts"}
2022-11-10 20:16:20 STATE: Models {"folder":"../efficientpose/models","models":3} 2022-11-11 11:10:47 STATE: Write: {"output":"dist/human.esm.d.ts"}
2022-11-10 20:16:20 STATE: Models {"folder":"../insightface/models","models":5} 2022-11-11 11:10:47 STATE: Write: {"output":"dist/human.d.ts"}
2022-11-10 20:16:20 STATE: Models {"folder":"../movenet/models","models":3} 2022-11-11 11:10:47 STATE: Write: {"output":"dist/human.node-gpu.d.ts"}
2022-11-10 20:16:20 STATE: Models {"folder":"../nanodet/models","models":4} 2022-11-11 11:10:47 STATE: Write: {"output":"dist/human.node.d.ts"}
2022-11-10 20:16:21 STATE: Models: {"count":58,"totalSize":386543911} 2022-11-11 11:10:47 STATE: Write: {"output":"dist/human.node-wasm.d.ts"}
2022-11-10 20:16:21 INFO:  Human Build complete... {"logFile":"test/build.log"} 2022-11-11 11:10:47 INFO:  Analyze models: {"folders":8,"result":"models/models.json"}
2022-11-11 11:10:47 STATE: Models {"folder":"./models","models":12}
2022-11-11 11:10:47 STATE: Models {"folder":"../human-models/models","models":43}
2022-11-11 11:10:47 STATE: Models {"folder":"../blazepose/model/","models":4}
2022-11-11 11:10:47 STATE: Models {"folder":"../anti-spoofing/model","models":1}
2022-11-11 11:10:47 STATE: Models {"folder":"../efficientpose/models","models":3}
2022-11-11 11:10:47 STATE: Models {"folder":"../insightface/models","models":5}
2022-11-11 11:10:47 STATE: Models {"folder":"../movenet/models","models":3}
2022-11-11 11:10:47 STATE: Models {"folder":"../nanodet/models","models":4}
2022-11-11 11:10:47 STATE: Models: {"count":58,"totalSize":386543911}
2022-11-11 11:10:47 INFO:  Human Build complete... {"logFile":"test/build.log"}

50
tfjs/types-eslint.json Normal file
View File

@ -0,0 +1,50 @@
{
"globals": {},
"env": {
"browser": true,
"commonjs": true,
"node": true,
"es2022": true
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest"
},
"plugins": [
"@typescript-eslint"
],
"extends": [
"airbnb-base",
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended"
],
"rules": {
"max-len": [1, 1000, 3],
"@typescript-eslint/ban-types":"off",
"@typescript-eslint/no-empty-interface":"off",
"@typescript-eslint/no-explicit-any":"off",
"@typescript-eslint/no-extraneous-class":"off",
"@typescript-eslint/no-unnecessary-type-constraint":"off",
"@typescript-eslint/no-unused-vars":"off",
"@typescript-eslint/prefer-function-type":"off",
"@typescript-eslint/unified-signatures":"off",
"camelcase":"off",
"comma-dangle":"off",
"import/extensions":"off",
"import/no-duplicates":"off",
"import/no-mutable-exports":"off",
"import/no-unresolved":"off",
"indent":"off",
"lines-between-class-members":"off",
"max-classes-per-file":"off",
"no-multiple-empty-lines":"off",
"no-shadow":"off",
"no-tabs":"off",
"no-underscore-dangle":"off",
"no-use-before-define":"off",
"object-curly-newline":"off",
"quotes":"off",
"semi":"off"
}
}

49
tfjs/types-tsconfig.json Normal file
View File

@ -0,0 +1,49 @@
{
"compilerOptions": {
"module": "esnext",
"target": "esnext",
"moduleResolution": "node",
"baseUrl": "./",
"lib": ["esnext", "dom"],
"allowJs": true,
"allowSyntheticDefaultImports": false,
"allowUnreachableCode": false,
"allowUnusedLabels": false,
"alwaysStrict": true,
"declaration": true,
"declarationMap": true,
"emitDecoratorMetadata": true,
"esModuleInterop": false,
"exactOptionalPropertyTypes": true,
"experimentalDecorators": true,
"forceConsistentCasingInFileNames": true,
"importHelpers": true,
"importsNotUsedAsValues": "error",
"isolatedModules": false,
"noEmitHelpers": true,
"noEmitOnError": false,
"noFallthroughCasesInSwitch": true,
"noImplicitAny": false,
"noImplicitOverride": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"noPropertyAccessFromIndexSignature": false,
"noUncheckedIndexedAccess": false,
"noUnusedLocals": true,
"noUnusedParameters": true,
"preserveConstEnums": true,
"pretty": true,
"removeComments": false,
"resolveJsonModule": true,
"skipLibCheck": true,
"sourceMap": true,
"strictBindCallApply": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"strictPropertyInitialization": true,
"stripInternal": false,
"useDefineForClassFields": true,
"useUnknownInCatchVariables": true
},
"exclude": ["node_modules/", "dist/**/*.js"]
}