From 417c641586484ede92f1bf12579d517479294703 Mon Sep 17 00:00:00 2001 From: Akayy Date: Sat, 27 Jul 2024 15:13:53 +1000 Subject: [PATCH 01/16] Vite 5 and updated all packages with eslint flat config --- docs/iles.config.ts | 2 + docs/package.json | 27 +- eslint.config.mjs | 46 + package.json | 72 +- packages/excerpt/package.json | 12 +- packages/feed/package.json | 4 +- packages/headings/package.json | 8 +- packages/hydration/package.json | 16 +- packages/icons/package.json | 2 +- packages/iles/package.json | 76 +- packages/iles/scripts/copyClient.js | 6 +- packages/iles/scripts/copyShared.js | 4 +- .../iles/src/client/app/components/App.vue | 2 + .../src/client/app/composables/devtools.ts | 2 +- packages/iles/src/client/app/index.ts | 2 +- packages/iles/src/client/tsconfig.json | 5 +- packages/iles/src/node/build/build.ts | 2 +- packages/iles/src/node/build/render.ts | 2 +- packages/iles/src/node/config.ts | 9 +- packages/iles/src/node/plugin/plugin.ts | 11 - packages/iles/src/node/plugin/wrap.ts | 3 + packages/images/package.json | 8 +- packages/mdx/package.json | 24 +- packages/mdx/src/mdx-vite-plugins.ts | 9 +- packages/pages/package.json | 20 +- packages/prerender/package.json | 16 +- packages/prism/package.json | 14 +- packages/pwa/package.json | 2 +- packages/pwa/src/pwa.ts | 9 +- playground/the-vue-point/iles.config.ts | 2 + playground/the-vue-point/package.json | 11 +- pnpm-lock.yaml | 8891 ++++++++--------- 32 files changed, 4270 insertions(+), 5049 deletions(-) create mode 100644 eslint.config.mjs diff --git a/docs/iles.config.ts b/docs/iles.config.ts index bd74cbb6..6e1d0133 100644 --- a/docs/iles.config.ts +++ b/docs/iles.config.ts @@ -10,6 +10,7 @@ import windicss from 'vite-plugin-windicss' import inspect from 'vite-plugin-inspect' import lastUpdated from './modules/lastUpdated' import site from './src/site' +import ReactivityTransform from '@vue-macros/reactivity-transform/vite' const { title, description } = site @@ -104,6 +105,7 @@ export default defineConfig({ }, }, plugins: [ + ReactivityTransform(), windicss(), Boolean(process.env.DEBUG) && inspect(), ], diff --git a/docs/package.json b/docs/package.json index 5c4a086c..3229db62 100644 --- a/docs/package.json +++ b/docs/package.json @@ -16,28 +16,29 @@ "node": "^14.18 || >= 16.0.0" }, "devDependencies": { - "@iconify-json/bx": "^1.0.3", - "@iconify-json/heroicons-outline": "^1.0.2", + "@iconify-json/bx": "^1.1.10", + "@iconify-json/heroicons-outline": "^1.1.10", "@islands/headings": "workspace:*", "@islands/icons": "workspace:*", "@islands/prism": "workspace:*", "@islands/pwa": "workspace:*", - "@preact/preset-vite": "^2.5.0", - "@types/cross-spawn": "^6.0.2", - "@vueuse/core": "^6.9.2", - "autoprefixer": "^10.4.0", + "@preact/preset-vite": "^2.9.0", + "@types/cross-spawn": "^6.0.6", + "@vue-macros/reactivity-transform": "^1.0.0", + "@vueuse/core": "^10.11.0", + "autoprefixer": "^10.4.19", "cross-spawn": "^7.0.3", "iles": "workspace:*", - "postcss-nesting": "^8.0.1", - "preact": "^10.18.1", - "preact-render-to-string": "^6.2.2", + "postcss-nesting": "^12.1.5", + "preact": "^10.23.1", + "preact-render-to-string": "^6.5.7", "rehype-external-links": "^3.0.0", - "vite-plugin-inspect": "^0.7.40", - "vite-plugin-windicss": "^1.9.0", - "vue-tsc": "^1.8.18" + "vite-plugin-inspect": "^0.8.5", + "vite-plugin-windicss": "^1.9.3", + "vue-tsc": "^2.0.29" }, "dependencies": { - "@docsearch/css": "^3.1.1", + "@docsearch/css": "^3.6.1", "@mussi/docsearch": "^3.1.2-beta.0" }, "eslintConfig": { diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000..c2503867 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,46 @@ +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import js from "@eslint/js"; +import { FlatCompat } from "@eslint/eslintrc"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}); + +export default [{ + ignores: ["**/dist", "**/node_modules", "packages/iles/turbo.js", "docs/cypress"], +}, ...compat.extends("@mussi/eslint-config"), { + languageOptions: { + globals: { + $ref: "readonly", + $computed: "readonly", + $shallowRef: "readonly", + $$: "readonly", + $: "readonly", + usePage: "readonly", + useRoute: "readonly", + useHead: "readonly", + definePageComponent: "readonly", + }, + }, + + rules: { + "prefer-const": "off", + "no-unused-vars": "off", + "import/named": "off", + "import/first": "off", + "no-restricted-syntax": "off", + "no-use-before-define": "off", + "react/react-in-jsx-scope": "off", + "@typescript-eslint/no-var-requires": "off", + "@typescript-eslint/no-unused-vars": "off", + + "vue/attribute-hyphenation": ["warn", "never", { + ignore: ["http-equiv"], + }], + }, +}]; \ No newline at end of file diff --git a/package.json b/package.json index 6233781c..15020146 100644 --- a/package.json +++ b/package.json @@ -20,66 +20,24 @@ "test": "packages/iles/bin/iles.js test" }, "devDependencies": { + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "^9.8.0", "@mussi/eslint-config": "^0.5.1", "@mussi/stylelint-config": "^0.1.1", - "@nrwl/cli": "^13.10.6", - "@nrwl/nx-cloud": "^13.3.1", - "@nrwl/tao": "^13.10.6", - "@nrwl/workspace": "^13.10.6", - "concurrently": "^6.5.1", - "conventional-changelog-cli": "^2.2.2", + "@nrwl/cli": "^15.9.3", + "@nrwl/nx-cloud": "^19.0.0", + "@nrwl/tao": "^19.5.3", + "@nrwl/workspace": "^19.5.3", + "concurrently": "^8.2.2", + "conventional-changelog-cli": "^5.0.0", "enquirer": "^2.4.1", - "eslint": "^8.51.0", - "execa": "^5.1.1", - "iles": "^0.9.5", + "eslint": "^9.8.0", + "execa": "^9.3.0", + "iles": "*", "minimist": "^1.2.8", - "pkg-dir": "^6.0.1", - "semver": "^7.5.4", - "typescript": "5.2.2", - "vitest": "^0.16.0" - }, - "resolutions": { - "eslint-plugin-vue": "7.17.0", - "typescript": "5.2.2" - }, - "eslintConfig": { - "extends": "@mussi/eslint-config", - "globals": { - "$ref": "readonly", - "$computed": "readonly", - "$shallowRef": "readonly", - "$$": "readonly", - "$": "readonly", - "usePage": "readonly", - "useRoute": "readonly", - "useHead": "readonly", - "definePageComponent": "readonly" - }, - "ignorePatterns": [ - "dist", - "node_modules", - "packages/iles/turbo.js", - "docs/cypress" - ], - "rules": { - "prefer-const": "off", - "no-unused-vars": "off", - "import/named": "off", - "import/first": "off", - "no-restricted-syntax": "off", - "no-use-before-define": "off", - "react/react-in-jsx-scope": "off", - "@typescript-eslint/no-var-requires": "off", - "@typescript-eslint/no-unused-vars": "off", - "vue/attribute-hyphenation": [ - "warn", - "never", - { - "ignore": [ - "http-equiv" - ] - } - ] - } + "pkg-dir": "^8.0.0", + "semver": "^7.6.3", + "typescript": "5.5.4", + "vitest": "^2.0.4" } } diff --git a/packages/excerpt/package.json b/packages/excerpt/package.json index 8b67ec23..a8ba3287 100644 --- a/packages/excerpt/package.json +++ b/packages/excerpt/package.json @@ -32,12 +32,12 @@ "hast-util-to-string": "^3.0.0" }, "devDependencies": { - "@types/estree": "^1.0.2", - "@types/estree-jsx": "^0.0.1", - "@types/hast": "^3.0.0", + "@types/estree": "^1.0.5", + "@types/estree-jsx": "^1.0.5", + "@types/hast": "^3.0.4", "iles": "workspace:*", - "tsup": "7.2.0", - "typescript": "^5.2.2", - "unified": "^11.0.0" + "tsup": "8.2.3", + "typescript": "^5.5.4", + "unified": "^11.0.5" } } diff --git a/packages/feed/package.json b/packages/feed/package.json index a9bdd1b1..e90585fb 100644 --- a/packages/feed/package.json +++ b/packages/feed/package.json @@ -29,7 +29,7 @@ "bugs": "https://github.com/ElMassimo/iles/issues", "devDependencies": { "iles": "workspace:*", - "vue": "^3.3.4" + "vue": "^3.4.34" }, "peerDependencies": { "iles": "workspace:*", @@ -37,6 +37,6 @@ }, "dependencies": { "feed": "^4.2", - "pathe": "^1.1.1" + "pathe": "^1.1.2" } } diff --git a/packages/headings/package.json b/packages/headings/package.json index e2e080ee..6f546e2b 100644 --- a/packages/headings/package.json +++ b/packages/headings/package.json @@ -32,11 +32,11 @@ "hast-util-to-string": "^3.0.0" }, "devDependencies": { - "@types/estree": "^1.0.2", + "@types/estree": "^1.0.5", "iles": "workspace:*", "slugo": "^0.4.0", - "tsup": "7.2.0", - "typescript": "^5.2.2", - "unified": "^11.0.0" + "tsup": "8.2.3", + "typescript": "^5.5.4", + "unified": "^11.0.5" } } diff --git a/packages/hydration/package.json b/packages/hydration/package.json index 805ca569..729b2cdf 100644 --- a/packages/hydration/package.json +++ b/packages/hydration/package.json @@ -37,13 +37,13 @@ "url": "https://github.com/ElMassimo/iles/issues" }, "devDependencies": { - "preact": "^10.18.1", - "preact-render-to-string": "^6.2.2", - "solid-js": "^1.8.0", - "svelte": "^4.2.1", - "tsup": "7.2.0", - "typescript": "^5.2.2", - "vite": "^5.0.0-beta.6", - "vue": "^3.3.4" + "preact": "^10.23.1", + "preact-render-to-string": "^6.5.7", + "solid-js": "^1.8.19", + "svelte": "^4.2.18", + "tsup": "8.2.3", + "typescript": "^5.5.4", + "vite": "^5.3.5", + "vue": "^3.4.34" } } diff --git a/packages/icons/package.json b/packages/icons/package.json index c0332d05..0d47cb99 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -28,7 +28,7 @@ "homepage": "https://github.com/ElMassimo/iles", "bugs": "https://github.com/ElMassimo/iles/issues", "dependencies": { - "unplugin-icons": "^0.17.0" + "unplugin-icons": "^0.19.0" }, "devDependencies": { "iles": "workspace:*" diff --git a/packages/iles/package.json b/packages/iles/package.json index 803b19ce..8344b706 100644 --- a/packages/iles/package.json +++ b/packages/iles/package.json @@ -61,57 +61,57 @@ "url": "https://github.com/ElMassimo/iles/issues" }, "dependencies": { - "@antfu/install-pkg": "^0.1.1", + "@antfu/install-pkg": "^0.3.3", "@islands/hydration": "workspace:^0.8.0", "@islands/mdx": "workspace:^0.9.0", "@islands/pages": "workspace:^0.8.0", "@islands/prerender": "workspace:^0.8.0", "@nuxt/devalue": "^2.0.2", - "@vitejs/plugin-vue": "^4.4.0", - "@vue/devtools-api": "^6.5.1", - "@unhead/vue": "^1.7.4", - "@unhead/ssr": "^1.7.4", - "debug": "^4.3.4", - "deep-equal": "^2.2.2", - "es-module-lexer": "^1.3.1", - "fast-glob": "^3.3.1", + "@vitejs/plugin-vue": "^5.1.0", + "@vue/devtools-api": "^6.6.3", + "@unhead/vue": "^1.9.16", + "@unhead/ssr": "^1.9.16", + "debug": "^4.3.5", + "deep-equal": "^2.2.3", + "es-module-lexer": "^1.5.4", + "fast-glob": "^3.3.2", "local-pkg": "^0.5.0", "mico-spinner": "^1.4.0", - "micromatch": "^4.0.5", + "micromatch": "^4.0.7", "minimist": "^1.2.8", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "unist-util-visit": "^4.1.0", - "unplugin-vue-components": "^0.25.2", - "vite": "^5.0.0-beta.6", - "vue": "^3.3.4", - "vue-router": "^4.2.5" + "pathe": "^1.1.2", + "picocolors": "^1.0.1", + "unist-util-visit": "^5.0.0", + "unplugin-vue-components": "^0.27.3", + "vite": "^5.3.5", + "vue": "^3.4.34", + "vue-router": "^4.4.0" }, "devDependencies": { - "@preact/preset-vite": "^2.5.0", - "@sveltejs/vite-plugin-svelte": "^2.4.6", - "@types/debug": "^4.1.9", - "@types/fs-extra": "^9.0.12", - "@types/micromatch": "^4.0.2", - "@types/node": "^18.0.0", - "@types/unist": "^3.0.0", + "@preact/preset-vite": "^2.9.0", + "@sveltejs/vite-plugin-svelte": "^3.1.1", + "@types/debug": "^4.1.12", + "@types/fs-extra": "^11.0.4", + "@types/micromatch": "^4.0.9", + "@types/node": "^20.14.12", + "@types/unist": "^3.0.2", "chokidar": "^3", - "conventional-changelog-cli": "^2.1.1", + "conventional-changelog-cli": "^5.0.0", "enquirer": "^2", - "execa": "^5", - "find-up": "6.3.0", - "fs-extra": "^10", - "globby": "^11", - "mdast-util-mdx-jsx": "^3.0.0", + "execa": "^9", + "find-up": "7.0.0", + "fs-extra": "^11", + "globby": "^14", + "mdast-util-mdx-jsx": "^3.1.2", "mdast-util-mdxjs-esm": "^2.0.1", - "micromatch": "^4.0.5", + "micromatch": "^4.0.7", "npm-run-all": "^4.1.5", - "rimraf": "^3.0.2", - "rollup": "^3.29.2", - "semver": "^7.3.5", - "tsup": "7.2.0", - "typescript": "^5.2.2", - "vfile": "^6.0.1", - "vite-plugin-solid": "^2.7.0" + "rimraf": "^6.0.1", + "rollup": "^4.19.0", + "semver": "^7.6.3", + "tsup": "8.2.3", + "typescript": "^5.5.4", + "vfile": "^6.0.2", + "vite-plugin-solid": "^2.10.2" } } diff --git a/packages/iles/scripts/copyClient.js b/packages/iles/scripts/copyClient.js index 8dbb0add..b8278504 100644 --- a/packages/iles/scripts/copyClient.js +++ b/packages/iles/scripts/copyClient.js @@ -1,10 +1,10 @@ import fs from 'fs-extra' -import glob from 'globby' +import {globbySync} from 'globby' -function toDest (file) { +function toDest(file) { return file.replace(/^src\//, 'dist/') } -glob.sync('src/client/**/!(*.ts|tsconfig.json)').forEach((file) => { +globbySync('src/client/**/!(*.ts|tsconfig.json)').forEach((file) => { fs.copy(file, toDest(file)) }) diff --git a/packages/iles/scripts/copyShared.js b/packages/iles/scripts/copyShared.js index aa6849cb..34a78b9a 100644 --- a/packages/iles/scripts/copyShared.js +++ b/packages/iles/scripts/copyShared.js @@ -1,7 +1,7 @@ import fs from 'fs-extra' -import glob from 'globby' +import {globbySync} from 'globby' -glob.sync('src/shared/**/*.ts').forEach((file) => { +globbySync('src/shared/**/*.ts').forEach((file) => { fs.copy(file, file.replace(/^src\/shared\//, 'src/node/')) fs.copy(file, file.replace(/^src\/shared\//, 'src/client/')) }) diff --git a/packages/iles/src/client/app/components/App.vue b/packages/iles/src/client/app/components/App.vue index 3e71e08d..986e7863 100644 --- a/packages/iles/src/client/app/components/App.vue +++ b/packages/iles/src/client/app/components/App.vue @@ -1,5 +1,6 @@