1
1
mirror of https://github.com/leon-ai/leon.git synced 2024-10-03 20:57:55 +03:00

chore: update dependencies + usage of tsx instead of ts-node

This commit is contained in:
Théo LUDWIG 2023-11-15 01:10:06 +01:00
parent 3e23950519
commit 2923c6504b
No known key found for this signature in database
GPG Key ID: ADFE5A563D718F3B
17 changed files with 99 additions and 107 deletions

View File

@ -18,10 +18,7 @@
"browser": true
},
"parserOptions": {
"ecmaVersion": 2021
},
"globals": {
"io": true
"ecmaVersion": "latest"
},
"plugins": ["@typescript-eslint", "unicorn", "import"],
"ignorePatterns": "*.spec.js",

View File

@ -6,6 +6,6 @@ if ! [ -x "$(command -v npm)" ]; then
echo "If you use a version manager tool such as nvm and a git GUI such as GitKraken, please read: https://typicode.github.io/husky/#/?id=command-not-found" >&2
exit 1
else
npx ts-node scripts/commit-msg.js
npx tsx scripts/commit-msg.js
fi

View File

@ -343,7 +343,9 @@ small {
padding: 2px 8px;
font-size: inherit;
cursor: pointer;
transition: background-color 0.2s, color 0.2s;
transition:
background-color 0.2s,
color 0.2s;
}
.suggestion:hover {
color: var(--black-color);

View File

@ -1,4 +1,4 @@
<!DOCTYPE html>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />

View File

@ -1,5 +1,3 @@
import type React from 'react'
interface Props {
children: React.ReactNode
}

View File

@ -1,5 +1,4 @@
import { io } from 'socket.io-client'
import React from 'react'
import { createRoot } from 'react-dom/client'
import { Button } from './aurora/button'

View File

@ -14,11 +14,6 @@
"exactOptionalPropertyTypes": false,
"declaration": true
},
"ts-node": {
"swc": true,
"require": ["tsconfig-paths/register"],
"files": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}

View File

@ -3,5 +3,5 @@
"watch": ["server/src"],
"ext": "ts,js,json",
"ignore": [".git", "node_modules", "server/src/tmp", "server/dist"],
"exec": "ts-node server/src/index.ts"
"exec": "tsx server/src/index.ts"
}

View File

@ -21,23 +21,23 @@
"npm": ">=8.0.0"
},
"scripts": {
"lint": "ts-node scripts/lint.js",
"lint": "tsx scripts/lint.js",
"test": "npm run test:json && npm run test:over-http && npm run test:unit && npm run test:e2e",
"test:unit": "npm run train en && cross-env PIPENV_PIPFILE=bridges/python/src/Pipfile LEON_NODE_ENV=testing jest --forceExit --silent --projects test/unit/unit.jest.json && npm run train",
"test:e2e": "npm run test:e2e:nlp-modules && npm run test:e2e:modules",
"test:e2e:modules": "ts-node scripts/run-clean-test-dbs.js && npm run train en && cross-env PIPENV_PIPFILE=bridges/python/src/Pipfile LEON_NODE_ENV=testing jest --forceExit --silent --verbose --projects test/e2e/modules/e2e.modules.jest.json && ts-node scripts/run-clean-test-dbs.js && npm run train",
"test:e2e:modules": "tsx scripts/run-clean-test-dbs.js && npm run train en && cross-env PIPENV_PIPFILE=bridges/python/src/Pipfile LEON_NODE_ENV=testing jest --forceExit --silent --verbose --projects test/e2e/modules/e2e.modules.jest.json && tsx scripts/run-clean-test-dbs.js && npm run train",
"test:e2e:nlp-modules": "npm run train en && cross-env PIPENV_PIPFILE=bridges/python/src/Pipfile LEON_NODE_ENV=testing jest --forceExit --silent --verbose --setupTestFrameworkScriptFile=./test/paths.setup.js test/e2e/nlp-modules.spec.js && npm run train",
"test:json": "jest --silent --projects test/json/json.jest.json",
"test:over-http": "npm run generate:skills-endpoints && npm run train && cross-env PIPENV_PIPFILE=bridges/python/src/Pipfile LEON_NODE_ENV=testing LEON_HOST=http://localhost LEON_PORT=1338 LEON_HTTP_API_KEY=72aeb5ba324580963114481144385d7179c106fc jest --forceExit --silent --verbose --notify=false --bail --collectCoverage=false test/e2e/over-http.spec.js",
"test:module": "ts-node scripts/test-module.js",
"setup:offline": "ts-node scripts/setup-offline/setup-offline.js",
"setup:offline-stt": "ts-node scripts/setup-offline/run-setup-stt.js",
"setup:offline-tts": "ts-node scripts/setup-offline/run-setup-tts.js",
"setup:offline-hotword": "ts-node scripts/setup-offline/run-setup-hotword.js",
"setup:python-bridge": "ts-node scripts/setup/setup-python-dev-env.js python-bridge",
"setup:tcp-server": "ts-node scripts/setup/setup-python-dev-env.js tcp-server",
"test:module": "tsx scripts/test-module.js",
"setup:offline": "tsx scripts/setup-offline/setup-offline.js",
"setup:offline-stt": "tsx scripts/setup-offline/run-setup-stt.js",
"setup:offline-tts": "tsx scripts/setup-offline/run-setup-tts.js",
"setup:offline-hotword": "tsx scripts/setup-offline/run-setup-hotword.js",
"setup:python-bridge": "tsx scripts/setup/setup-python-dev-env.js python-bridge",
"setup:tcp-server": "tsx scripts/setup/setup-python-dev-env.js tcp-server",
"preinstall": "node scripts/setup/preinstall.js",
"postinstall": "ts-node scripts/setup/setup.js",
"postinstall": "tsx scripts/setup/setup.js",
"dev:app": "vite --config app/vite.config.js",
"dev:server": "npm run train && npm run generate:skills-endpoints && cross-env LEON_NODE_ENV=development tsc-watch --noClear --onSuccess \"nodemon\"",
"dev:server:no-lint": "npm run train && npm run generate:skills-endpoints && cross-env LEON_NODE_ENV=development \"nodemon\"",
@ -45,25 +45,25 @@
"delete-dist:server": "shx rm -rf ./server/dist",
"clean:python-deps": "shx rm -rf ./bridges/python/src/.venv && npm run postinstall",
"prepare": "husky install",
"generate:skills-endpoints": "ts-node scripts/generate/run-generate-skills-endpoints.js",
"generate:http-api-key": "ts-node scripts/generate/run-generate-http-api-key.js",
"generate:json-schemas": "ts-node scripts/generate/run-generate-json-schemas.js",
"generate:skills-endpoints": "tsx scripts/generate/run-generate-skills-endpoints.js",
"generate:http-api-key": "tsx scripts/generate/run-generate-http-api-key.js",
"generate:json-schemas": "tsx scripts/generate/run-generate-json-schemas.js",
"build": "npm run build:app && npm run build:server",
"build:app": "cross-env LEON_NODE_ENV=production ts-node scripts/app/run-build-app.js",
"build:app": "cross-env LEON_NODE_ENV=production tsx scripts/app/run-build-app.js",
"build:server": "npm run delete-dist:server && npm run train && npm run generate:skills-endpoints && tsc --project tsconfig.json && resolve-tspaths && shx rm -rf server/dist/core server/dist/package.json && shx mv -f server/dist/server/src/* server/dist && shx rm -rf server/dist/server && shx mkdir -p server/dist/tmp",
"build:nodejs-bridge": "ts-node scripts/build-binaries.js nodejs-bridge",
"build:python-bridge": "ts-node scripts/build-binaries.js python-bridge",
"build:tcp-server": "ts-node scripts/build-binaries.js tcp-server",
"build:nodejs-bridge": "tsx scripts/build-binaries.js nodejs-bridge",
"build:python-bridge": "tsx scripts/build-binaries.js python-bridge",
"build:tcp-server": "tsx scripts/build-binaries.js tcp-server",
"start:tcp-server": "cross-env PIPENV_PIPFILE=tcp_server/src/Pipfile pipenv run python tcp_server/src/main.py",
"start": "cross-env LEON_NODE_ENV=production node server/dist/pre-check.js && node server/dist/index.js",
"python-bridge": "cross-env PIPENV_PIPFILE=bridges/python/src/Pipfile pipenv run python bridges/python/src/main.py server/src/intent-object.sample.json",
"train": "ts-node scripts/train/run-train.js",
"prepare-release": "ts-node scripts/release/prepare-release.js",
"skill-package": "ts-node scripts/skill-package.js",
"pre-release:nodejs-bridge": "ts-node scripts/release/pre-release-binaries.js nodejs-bridge",
"pre-release:python-bridge": "ts-node scripts/release/pre-release-binaries.js python-bridge",
"pre-release:tcp-server": "ts-node scripts/release/pre-release-binaries.js tcp-server",
"check": "ts-node scripts/check.js",
"train": "tsx scripts/train/run-train.js",
"prepare-release": "tsx scripts/release/prepare-release.js",
"skill-package": "tsx scripts/skill-package.js",
"pre-release:nodejs-bridge": "tsx scripts/release/pre-release-binaries.js nodejs-bridge",
"pre-release:python-bridge": "tsx scripts/release/pre-release-binaries.js python-bridge",
"pre-release:tcp-server": "tsx scripts/release/pre-release-binaries.js tcp-server",
"check": "tsx scripts/check.js",
"docker:build": "docker build -t leon-ai/leon .",
"docker:run": "docker compose up",
"docker:dev": "docker compose --file=docker-compose.dev.yml up",
@ -71,7 +71,7 @@
},
"dependencies": {
"@aws-sdk/client-polly": "3.18.0",
"@fastify/static": "6.9.0",
"@fastify/static": "6.12.0",
"@ffmpeg-installer/ffmpeg": "1.1.0",
"@ffprobe-installer/ffprobe": "1.4.1",
"@google-cloud/speech": "4.2.0",
@ -80,19 +80,19 @@
"@nlpjs/core-loader": "4.22.7",
"@nlpjs/lang-all": "4.22.12",
"@nlpjs/nlp": "4.22.17",
"@segment/ajv-human-errors": "2.1.2",
"@sinclair/typebox": "0.25.8",
"ajv": "8.11.0",
"@segment/ajv-human-errors": "2.11.3",
"@sinclair/typebox": "0.31.23",
"ajv": "8.12.0",
"ajv-formats": "2.1.1",
"archiver": "5.3.1",
"async": "3.2.4",
"axios": "1.1.2",
"archiver": "6.0.1",
"async": "3.2.5",
"axios": "1.6.2",
"cross-env": "7.0.3",
"dayjs": "1.11.5",
"dotenv": "10.0.0",
"execa": "5.0.0",
"dayjs": "1.11.10",
"dotenv": "16.3.1",
"execa": "5.1.1",
"extract-zip": "2.0.1",
"fastify": "4.15.0",
"fastify": "4.24.3",
"fluent-ffmpeg": "2.1.2",
"getos": "3.2.1",
"googleapis": "67.1.1",
@ -103,50 +103,49 @@
"pretty-ms": "7.0.1",
"react": "18.2.0",
"react-dom": "18.2.0",
"socket.io": "4.5.2",
"socket.io-client": "4.5.2",
"socket.io": "4.7.2",
"socket.io-client": "4.7.2",
"stt": "1.4.0",
"tree-kill": "1.2.2"
},
"devDependencies": {
"@nlpjs/utils": "4.24.1",
"@swc/core": "1.3.14",
"@tsconfig/node16-strictest": "1.0.4",
"@types/archiver": "5.3.2",
"@types/cli-spinner": "0.2.1",
"@types/fluent-ffmpeg": "2.1.20",
"@types/getos": "3.0.1",
"@types/node": "18.7.13",
"@types/node-wav": "0.0.0",
"@types/react": "18.2.6",
"@types/react-dom": "18.2.4",
"@typescript-eslint/eslint-plugin": "5.55.0",
"@typescript-eslint/parser": "5.55.0",
"@vercel/ncc": "0.36.1",
"@vitejs/plugin-react": "4.0.0",
"@tsconfig/node16": "16.1.1",
"@tsconfig/strictest": "2.0.2",
"@types/archiver": "6.0.1",
"@types/cli-spinner": "0.2.3",
"@types/fluent-ffmpeg": "2.1.24",
"@types/getos": "3.0.4",
"@types/node": "20.9.0",
"@types/node-wav": "0.0.2",
"@types/react": "18.2.37",
"@types/react-dom": "18.2.15",
"@typescript-eslint/eslint-plugin": "6.11.0",
"@typescript-eslint/parser": "6.11.0",
"@vercel/ncc": "0.38.1",
"@vitejs/plugin-react": "4.1.1",
"cli-spinner": "0.2.10",
"eslint": "8.22.0",
"eslint-config-prettier": "8.5.0",
"eslint-import-resolver-typescript": "3.5.1",
"eslint-plugin-import": "2.26.0",
"eslint-plugin-unicorn": "43.0.2",
"eslint": "8.53.0",
"eslint-config-prettier": "9.0.0",
"eslint-import-resolver-typescript": "3.6.1",
"eslint-plugin-import": "npm:eslint-plugin-i@2.29.0",
"eslint-plugin-unicorn": "49.0.0",
"git-changelog": "2.0.0",
"husky": "7.0.0",
"inquirer": "8.1.0",
"husky": "8.0.3",
"inquirer": "8.2.3",
"jest": "27.4.7",
"jest-canvas-mock": "2.3.1",
"jest-extended": "2.0.0",
"json": "10.0.0",
"lint-staged": "13.0.3",
"nodemon": "2.0.19",
"prettier": "2.8.7",
"resolve-tspaths": "0.8.8",
"semver": "7.3.5",
"shx": "0.3.3",
"ts-node": "10.9.1",
"tsc-watch": "6.0.0",
"tsconfig-paths": "4.1.2",
"typescript": "5.0.2",
"vite": "4.3.5"
"json": "11.0.0",
"lint-staged": "15.1.0",
"nodemon": "3.0.1",
"prettier": "3.1.0",
"resolve-tspaths": "0.8.17",
"semver": "7.5.4",
"shx": "0.3.4",
"tsc-watch": "6.0.4",
"tsx": "4.1.2",
"typescript": "5.2.2",
"vite": "4.5.0"
}
}

View File

@ -76,10 +76,10 @@ export const PYTHON_BRIDGE_BIN_PATH = path.join(
export const NODEJS_BRIDGE_BIN_PATH = `${path.join(
process.cwd(),
'node_modules',
'ts-node',
'tsx',
'dist',
'bin.js'
)} --swc ${path.join(NODEJS_BRIDGE_DIST_PATH, 'bin', NODEJS_BRIDGE_BIN_NAME)}`
'cli.mjs'
)} ${path.join(NODEJS_BRIDGE_DIST_PATH, 'bin', NODEJS_BRIDGE_BIN_NAME)}`
export const LEON_VERSION = process.env['npm_package_version']

View File

@ -30,7 +30,10 @@ export default class HTTPServer {
public httpServer = this.fastify.server
constructor(public readonly host: string, public readonly port: number) {
constructor(
public readonly host: string,
public readonly port: number
) {
if (!HTTPServer.instance) {
LogHelper.title('HTTP Server')
LogHelper.success('New instance')

View File

@ -33,7 +33,10 @@ export default class TCPClient {
return this.tcpSocket.readyState
}
constructor(private readonly host: string, private readonly port: number) {
constructor(
private readonly host: string,
private readonly port: number
) {
if (!TCPClient.instance) {
LogHelper.title('TCP Client')
LogHelper.success('New instance')

View File

@ -1,4 +1,3 @@
import type { Stream } from 'node:stream'
import path from 'node:path'
import fs from 'node:fs'
@ -64,7 +63,7 @@ export default class WatsonTTSSynthesizer extends TTSSynthesizerBase {
text: speech,
accept: 'audio/wav'
})
const result = response.result as Stream
const result = response.result as NodeJS.ReadableStream
const wStream = fs.createWriteStream(audioFilePath)
result.pipe(wStream)

View File

@ -18,7 +18,7 @@ export class LoaderHelper {
private static spinner = new Spinner('\x1b[95m%s\x1b[0m\r').setSpinnerString(
18
)
private static interval: NodeJS.Timer | undefined
private static interval: NodeJS.Timeout | undefined
/**
* Start the loader

View File

@ -36,9 +36,7 @@ export class SkillDomainHelper {
const skillDomains = new Map<string, SkillDomain>()
await Promise.all(
(
await fs.promises.readdir(SKILLS_PATH)
).map(async (entity) => {
(await fs.promises.readdir(SKILLS_PATH)).map(async (entity) => {
const domainPath = path.join(SKILLS_PATH, entity)
if ((await fs.promises.stat(domainPath)).isDirectory()) {

View File

@ -48,9 +48,12 @@ import { LogHelper } from '@/helpers/log-helper'
Telemetry.error(lastError)
})
setInterval(() => {
Telemetry.heartbeat()
}, 1_000 * 3_600 * 6)
setInterval(
() => {
Telemetry.heartbeat()
},
1_000 * 3_600 * 6
)
;[
'exit',
'SIGINT',

View File

@ -1,26 +1,22 @@
{
"extends": "@tsconfig/node16-strictest/tsconfig.json",
"extends": ["@tsconfig/strictest/tsconfig", "@tsconfig/node16/tsconfig"],
"compilerOptions": {
"rootDir": ".",
"outDir": "./server/dist",
"baseUrl": ".",
"moduleResolution": "Node",
"module": "CommonJS",
"paths": {
"@@/*": ["./*"],
"@/*": ["./server/src/*"],
"@bridge/*": ["./bridges/nodejs/src/*"],
"@sdk/*": ["./bridges/nodejs/src/sdk/*"]
},
"ignoreDeprecations": "5.0",
"allowJs": true,
"checkJs": false,
"resolveJsonModule": true,
"declaration": true
},
"ts-node": {
"swc": true,
"require": ["tsconfig-paths/register"],
"files": true
},
"files": ["server/src/global.d.ts"],
"include": ["server/src/**/*"],
"exclude": ["node_modules", "server/dist", "bridges", "tcp_server"]