From 18bd95acbc4770f9d49a0dc711c702279d4e6dba Mon Sep 17 00:00:00 2001 From: fabiocuciuffo Date: Fri, 29 Nov 2024 10:33:51 +0100 Subject: [PATCH 1/3] est ce que c'est le bazard ? --- .env | 2 ++ .prettierrc => packages/api/.prettierrc | 0 packages/cli/.prettierrc | 6 +++++ packages/cli/cli.js | 29 +++++++++++++++++++++++++ packages/cli/eslint.config.js | 7 ++++++ packages/cli/tsconfig.json | 1 + packages/core/.prettierrc | 6 +++++ packages/core/eslint.config.js | 7 ++++++ packages/core/tsconfig.json | 1 + pnpm-workspace.yml | 4 ++++ 10 files changed, 63 insertions(+) create mode 100644 .env rename .prettierrc => packages/api/.prettierrc (100%) create mode 100644 packages/cli/.prettierrc create mode 100644 packages/cli/cli.js create mode 100644 packages/cli/eslint.config.js create mode 100644 packages/cli/tsconfig.json create mode 100644 packages/core/.prettierrc create mode 100644 packages/core/eslint.config.js create mode 100644 packages/core/tsconfig.json create mode 100644 pnpm-workspace.yml diff --git a/.env b/.env new file mode 100644 index 0000000..8f362dc --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +HOST=localhost +PORT=8000 diff --git a/.prettierrc b/packages/api/.prettierrc similarity index 100% rename from .prettierrc rename to packages/api/.prettierrc diff --git a/packages/cli/.prettierrc b/packages/cli/.prettierrc new file mode 100644 index 0000000..e74ed9f --- /dev/null +++ b/packages/cli/.prettierrc @@ -0,0 +1,6 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true +} diff --git a/packages/cli/cli.js b/packages/cli/cli.js new file mode 100644 index 0000000..c2bde29 --- /dev/null +++ b/packages/cli/cli.js @@ -0,0 +1,29 @@ +#!/usr/bin/env node + +import { Command } from 'commander' +<<<<<<<< HEAD:packages/cli.ts +import { jsDocToMarkdown } from './filesystem' +======== +import { jsDocToMarkdown } from './filesystem.js' +>>>>>>>> 9e44316 (est ce que c'est le bazard ?):packages/cli/cli.js +const program = new Command() + +program + .name('jsdoc-magnifier') + .description('CLI JDDoc magnifier') + .version('1.0.0') + +program + .argument('', "Chemin du fichier d'entrée") + .option('-o, --output ', 'Chemin du fichier de sortie') + .action((input, options) => { + let outputFilename + + if (options.output) { + outputFilename = options.output + } + + jsDocToMarkdown(input, outputFilename) + }) + +program.parse() diff --git a/packages/cli/eslint.config.js b/packages/cli/eslint.config.js new file mode 100644 index 0000000..e8004cc --- /dev/null +++ b/packages/cli/eslint.config.js @@ -0,0 +1,7 @@ +import globals from 'globals' +import pluginJs from '@eslint/js' + +export default [ + { languageOptions: { globals: {...globals.node} } }, + pluginJs.configs.recommended, +] diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/packages/cli/tsconfig.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/packages/core/.prettierrc b/packages/core/.prettierrc new file mode 100644 index 0000000..e74ed9f --- /dev/null +++ b/packages/core/.prettierrc @@ -0,0 +1,6 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true +} diff --git a/packages/core/eslint.config.js b/packages/core/eslint.config.js new file mode 100644 index 0000000..e8004cc --- /dev/null +++ b/packages/core/eslint.config.js @@ -0,0 +1,7 @@ +import globals from 'globals' +import pluginJs from '@eslint/js' + +export default [ + { languageOptions: { globals: {...globals.node} } }, + pluginJs.configs.recommended, +] diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/packages/core/tsconfig.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/pnpm-workspace.yml b/pnpm-workspace.yml new file mode 100644 index 0000000..0fd335b --- /dev/null +++ b/pnpm-workspace.yml @@ -0,0 +1,4 @@ +packages: + - 'packages/api' + - 'packages/cli' + - 'packages/core' From ffd8023a48ec03e1d6dc540089116859e2b795fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Romain=F0=9F=94=A5?= Date: Fri, 29 Nov 2024 11:58:13 +0100 Subject: [PATCH 2/3] feat: monorepo almost clean --- packages/api/.prettierrc => .prettierrc | 0 package.json | 76 +++++++++++-------------- packages/cli/.prettierrc | 6 -- packages/cli/eslint.config.js | 7 --- packages/cli/package.json | 20 +++++++ packages/cli/tsconfig.json | 1 - packages/core/.prettierrc | 6 -- packages/core/eslint.config.js | 7 --- packages/core/package.json | 13 +++++ packages/core/tsconfig.json | 1 - pnpm-workspace.yml | 4 -- tsconfig.json | 21 ++++--- 12 files changed, 76 insertions(+), 86 deletions(-) rename packages/api/.prettierrc => .prettierrc (100%) delete mode 100644 packages/cli/.prettierrc delete mode 100644 packages/cli/eslint.config.js create mode 100644 packages/cli/package.json delete mode 100644 packages/cli/tsconfig.json delete mode 100644 packages/core/.prettierrc delete mode 100644 packages/core/eslint.config.js create mode 100644 packages/core/package.json delete mode 100644 packages/core/tsconfig.json delete mode 100644 pnpm-workspace.yml diff --git a/packages/api/.prettierrc b/.prettierrc similarity index 100% rename from packages/api/.prettierrc rename to .prettierrc diff --git a/package.json b/package.json index 4cab4cc..5f39b82 100644 --- a/package.json +++ b/package.json @@ -1,45 +1,35 @@ { - "name": "jsdoc-magnifier", - "version": "0.0.0", - "description": "A project to learn node", - "main": "index.ts", - "type": "module", - "bin": { - "jsdoc-magnifier": "./cli.ts" - }, - "scripts": { - "test": "node --test", - "prepare": "husky", - "lint": "npx eslint \"**/*.ts\"", - "prettier": "prettier ./ --write", - "start:api": "tsx --env-file=.env packages/api/server.ts", - "dev:api": "tsx watch --env-file=.env packages/api/server.ts", - "test:api": "node --env-file=.env api/index.test.ts" - }, - "author": "ECV M2 Dev", - "license": "ISC", - "devDependencies": { - "@eslint/js": "^9.15.0", - "@types/node": "^22.10.1", - "eslint": "^9.15.0", - "globals": "^15.11.0", - "husky": "^9.1.6", - "lint-staged": "^15.2.10", - "prettier": "^3.3.3", - "tsx": "^4.19.2", - "typescript": "^5.7.2", - "typescript-eslint": "^8.16.0" - }, - "lint-staged": { - "*.{js,jsx,ts,tsx}": [ - "eslint --fix" - ] - }, - "dependencies": { - "@hono/node-server": "^1.13.7", - "commander": "^12.1.0", - "hono": "^4.6.10", - "remark": "^15.0.1", - "remark-html": "^16.0.1" - } + "name": "jsdoc-magnifier", + "version": "0.0.0", + "author": "ECV M2 Dev", + "license": "ISC", + "description": "A project to learn node", + "type": "module", + "scripts": { + "build": "pnpm -r build", + "test": "pnpm -r test", + "prepare": "husky install", + "lint": "eslint .", + "lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix", + "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\"" + }, + "devDependencies": { + "@types/node": "^22.10.1", + "@typescript-eslint/eslint-plugin": "^8.16.0", + "@typescript-eslint/parser": "^8.16.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.2.1", + "eslint": "^9.15.0", + "prettier": "^3.4.1", + "typescript": "^5.7.2", + "lint-staged": "^15.2.10" + }, + "dependencies": { + "globals": "^15.12.0", + "husky": "^9.1.7" + }, + "lint-staged": { + "**/*.{js,jsx,ts,tsx}": ["eslint --fix", "prettier --write"], + "**/*.{json,md,yml}": ["prettier --write"] + } } diff --git a/packages/cli/.prettierrc b/packages/cli/.prettierrc deleted file mode 100644 index e74ed9f..0000000 --- a/packages/cli/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true -} diff --git a/packages/cli/eslint.config.js b/packages/cli/eslint.config.js deleted file mode 100644 index e8004cc..0000000 --- a/packages/cli/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -import globals from 'globals' -import pluginJs from '@eslint/js' - -export default [ - { languageOptions: { globals: {...globals.node} } }, - pluginJs.configs.recommended, -] diff --git a/packages/cli/package.json b/packages/cli/package.json new file mode 100644 index 0000000..03f1d19 --- /dev/null +++ b/packages/cli/package.json @@ -0,0 +1,20 @@ +{ + "name": "@jsdoc-magnifier/cli", + "version": "0.0.0", + "description": "A project to learn node", + "main": "index.js", + "type": "module", + "bin": { + "jsdoc-magnifier": "./cli.js" + }, + "scripts": { + "test": "node --test", + "dev": "node index.ts" + }, + "author": "ECV M2 Dev", + "license": "ISC", + "dependencies": { + "@jsdoc-magnifier/core": "workspace:*", + "commander": "^12.1.0" + } +} diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json deleted file mode 100644 index 9e26dfe..0000000 --- a/packages/cli/tsconfig.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/packages/core/.prettierrc b/packages/core/.prettierrc deleted file mode 100644 index e74ed9f..0000000 --- a/packages/core/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "trailingComma": "es5", - "tabWidth": 4, - "semi": false, - "singleQuote": true -} diff --git a/packages/core/eslint.config.js b/packages/core/eslint.config.js deleted file mode 100644 index e8004cc..0000000 --- a/packages/core/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -import globals from 'globals' -import pluginJs from '@eslint/js' - -export default [ - { languageOptions: { globals: {...globals.node} } }, - pluginJs.configs.recommended, -] diff --git a/packages/core/package.json b/packages/core/package.json new file mode 100644 index 0000000..8019426 --- /dev/null +++ b/packages/core/package.json @@ -0,0 +1,13 @@ +{ + "name": "@jsdoc-magnifier/core", + "version": "0.0.0", + "description": "A project to learn node", + "main": "index.js", + "type": "module", + "scripts": { + "test": "node --test", + "dev": "node index.ts" + }, + "author": "ECV M2 Dev", + "license": "ISC" +} diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json deleted file mode 100644 index 9e26dfe..0000000 --- a/packages/core/tsconfig.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/pnpm-workspace.yml b/pnpm-workspace.yml deleted file mode 100644 index 0fd335b..0000000 --- a/pnpm-workspace.yml +++ /dev/null @@ -1,4 +0,0 @@ -packages: - - 'packages/api' - - 'packages/cli' - - 'packages/core' diff --git a/tsconfig.json b/tsconfig.json index 2343106..9ae2d7f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,15 +1,14 @@ { "compilerOptions": { + "target": "es2020", "module": "commonjs", - "noImplicitAny": true, - "removeComments": true, - "preserveConstEnums": true, - "sourceMap": true, - "lib": [ - "es2021" - ] + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "outDir": "./dist", + "rootDir": "./packages" }, - "include": [ - "packages/**/*.ts" - ] -} \ No newline at end of file + "include": ["packages/**/*", "playground/**/*"], + "exclude": ["node_modules", "**/*.spec.ts"] +} From 73b767306a78ce0285a3ae115ca1a17ab16660c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Romain=F0=9F=94=A5?= Date: Fri, 29 Nov 2024 12:55:03 +0100 Subject: [PATCH 3/3] feat: convert to ts --- eslint.config.js | 7 ------- eslint.config.ts | 20 ++++++++++++-------- packages/cli/cli.js | 29 ----------------------------- 3 files changed, 12 insertions(+), 44 deletions(-) delete mode 100644 eslint.config.js delete mode 100644 packages/cli/cli.js diff --git a/eslint.config.js b/eslint.config.js deleted file mode 100644 index 22a7d8f..0000000 --- a/eslint.config.js +++ /dev/null @@ -1,7 +0,0 @@ -import eslint from '@eslint/js' -import tseslint from 'typescript-eslint' - -export default tseslint.config( - eslint.configs.recommended, - tseslint.configs.recommended -) diff --git a/eslint.config.ts b/eslint.config.ts index fca75f6..b04959c 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -1,9 +1,13 @@ +import pluginJs from "@eslint/js"; +import globals from "globals"; -import eslint from '@eslint/js'; -import tseslint from 'typescript-eslint'; - -export default tseslint.config( - eslint.configs.recommended, - tseslint.configs.recommended, - { languageOptions: { globals: { ...global.node } } }, -); \ No newline at end of file +export default [ + { languageOptions: { globals: { ...globals.node } } }, + pluginJs.configs.recommended, + { + files: ["**/*.js", "**/*.ts"], + rules: { + "no-unused-vars": "error", + }, + }, +]; diff --git a/packages/cli/cli.js b/packages/cli/cli.js deleted file mode 100644 index c2bde29..0000000 --- a/packages/cli/cli.js +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env node - -import { Command } from 'commander' -<<<<<<<< HEAD:packages/cli.ts -import { jsDocToMarkdown } from './filesystem' -======== -import { jsDocToMarkdown } from './filesystem.js' ->>>>>>>> 9e44316 (est ce que c'est le bazard ?):packages/cli/cli.js -const program = new Command() - -program - .name('jsdoc-magnifier') - .description('CLI JDDoc magnifier') - .version('1.0.0') - -program - .argument('', "Chemin du fichier d'entrée") - .option('-o, --output ', 'Chemin du fichier de sortie') - .action((input, options) => { - let outputFilename - - if (options.output) { - outputFilename = options.output - } - - jsDocToMarkdown(input, outputFilename) - }) - -program.parse()