From 3cc5dbd166a27eab02ce2b08d56e4845cfc742eb Mon Sep 17 00:00:00 2001 From: sleepyfran Date: Sat, 24 Aug 2024 16:05:33 +0200 Subject: [PATCH] Add no-cycle linting rule --- .eslintrc.cjs | 1 + packages/services/bootstrap-workers/index.ts | 1 + packages/services/bootstrap-workers/package.json | 16 ++++++++++++++++ .../services/bootstrap-workers/src/vite-env.d.ts | 1 + .../src/workers-loader.ts} | 2 +- .../services/bootstrap-workers/tsconfig.json | 7 +++++++ packages/services/bootstrap/index.ts | 6 +----- packages/services/bootstrap/src/loaders/index.ts | 1 - packages/web/package.json | 2 +- packages/web/src/main.tsx | 2 +- 10 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 packages/services/bootstrap-workers/index.ts create mode 100644 packages/services/bootstrap-workers/package.json create mode 100644 packages/services/bootstrap-workers/src/vite-env.d.ts rename packages/services/{bootstrap/src/loaders/workers.ts => bootstrap-workers/src/workers-loader.ts} (70%) create mode 100644 packages/services/bootstrap-workers/tsconfig.json diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 8bb49b5..6c5a46a 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -37,5 +37,6 @@ module.exports = { ], "import/default": "off", "import/no-extraneous-dependencies": "error", + "import/no-cycle": "error", }, }; diff --git a/packages/services/bootstrap-workers/index.ts b/packages/services/bootstrap-workers/index.ts new file mode 100644 index 0000000..5e883aa --- /dev/null +++ b/packages/services/bootstrap-workers/index.ts @@ -0,0 +1 @@ +export * from "./src/workers-loader"; diff --git a/packages/services/bootstrap-workers/package.json b/packages/services/bootstrap-workers/package.json new file mode 100644 index 0000000..89baca0 --- /dev/null +++ b/packages/services/bootstrap-workers/package.json @@ -0,0 +1,16 @@ +{ + "name": "@echo/services-bootstrap-workers", + "private": true, + "version": "1.0.0", + "description": "Contains the implementation for the BootstrapWorkers service", + "main": "index.js", + "scripts": { + "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "typecheck": "tsc --noEmit" + }, + "dependencies": { + "@echo/core-types": "^1.0.0", + "@echo/workers-media-provider": "^1.0.0", + "effect": "^3.6.5" + } +} \ No newline at end of file diff --git a/packages/services/bootstrap-workers/src/vite-env.d.ts b/packages/services/bootstrap-workers/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/packages/services/bootstrap-workers/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/packages/services/bootstrap/src/loaders/workers.ts b/packages/services/bootstrap-workers/src/workers-loader.ts similarity index 70% rename from packages/services/bootstrap/src/loaders/workers.ts rename to packages/services/bootstrap-workers/src/workers-loader.ts index 625e4be..5f59975 100644 --- a/packages/services/bootstrap/src/loaders/workers.ts +++ b/packages/services/bootstrap-workers/src/workers-loader.ts @@ -1,6 +1,6 @@ import { initializeMediaProviderWorker } from "@echo/workers-media-provider"; /** - * Initializes all startup-workers with the given configuration. + * Initializes all startup-workers. */ export const initializeWorkers = () => initializeMediaProviderWorker(); diff --git a/packages/services/bootstrap-workers/tsconfig.json b/packages/services/bootstrap-workers/tsconfig.json new file mode 100644 index 0000000..6953ff5 --- /dev/null +++ b/packages/services/bootstrap-workers/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../../tsconfig.json", + "include": [ + "src", + "index.ts" + ] +} \ No newline at end of file diff --git a/packages/services/bootstrap/index.ts b/packages/services/bootstrap/index.ts index 9a4e72a..144fe27 100644 --- a/packages/services/bootstrap/index.ts +++ b/packages/services/bootstrap/index.ts @@ -1,6 +1,2 @@ export { MainLive, WorkerLive } from "./src/layers"; -export { - LazyLoadedProvider, - initializeWorkers, - LazyLoadedMediaPlayer, -} from "./src/loaders"; +export { LazyLoadedProvider, LazyLoadedMediaPlayer } from "./src/loaders"; diff --git a/packages/services/bootstrap/src/loaders/index.ts b/packages/services/bootstrap/src/loaders/index.ts index 8bb6e41..88e2b92 100644 --- a/packages/services/bootstrap/src/loaders/index.ts +++ b/packages/services/bootstrap/src/loaders/index.ts @@ -1,3 +1,2 @@ export { LazyLoadedProvider } from "./provider"; export { LazyLoadedMediaPlayer } from "./player"; -export * from "./workers"; diff --git a/packages/web/package.json b/packages/web/package.json index e68b712..633ca5a 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -15,7 +15,7 @@ "@echo/components-library": "^1.0.0", "@echo/components-provider-status": "^1.0.0", "@echo/core-types": "^1.0.0", - "@echo/services-bootstrap": "^1.0.0", + "@echo/services-bootstrap-workers": "^1.0.0", "@effect-rx/rx": "0.33.8", "@effect-rx/rx-react": "0.30.11", "effect": "^3.6.5" diff --git a/packages/web/src/main.tsx b/packages/web/src/main.tsx index ccb77ae..cb55fd9 100644 --- a/packages/web/src/main.tsx +++ b/packages/web/src/main.tsx @@ -1,7 +1,7 @@ import React from "react"; import { createRoot } from "react-dom/client"; import { App } from "./App"; -import { initializeWorkers } from "@echo/services-bootstrap"; +import { initializeWorkers } from "@echo/services-bootstrap-workers"; initializeWorkers();