From ae583aa9845be75580bbd51d9e185ca427e0dfe5 Mon Sep 17 00:00:00 2001 From: MrWangJustToDo <2711470541@qq.com> Date: Thu, 12 Dec 2024 15:45:41 +0800 Subject: [PATCH 1/5] init --- packages/angular/package.json | 3 +++ packages/solid/package.json | 3 +++ packages/svelte/package.json | 3 +++ 3 files changed, 9 insertions(+) create mode 100644 packages/angular/package.json create mode 100644 packages/solid/package.json create mode 100644 packages/svelte/package.json diff --git a/packages/angular/package.json b/packages/angular/package.json new file mode 100644 index 0000000..4f03a06 --- /dev/null +++ b/packages/angular/package.json @@ -0,0 +1,3 @@ +{ + "name": "@git-diff-view/angular" +} \ No newline at end of file diff --git a/packages/solid/package.json b/packages/solid/package.json new file mode 100644 index 0000000..e004363 --- /dev/null +++ b/packages/solid/package.json @@ -0,0 +1,3 @@ +{ + "name": "@git-diff-view/solid" +} \ No newline at end of file diff --git a/packages/svelte/package.json b/packages/svelte/package.json new file mode 100644 index 0000000..2b07d19 --- /dev/null +++ b/packages/svelte/package.json @@ -0,0 +1,3 @@ +{ + "name": "@git-diff-view/svelte" +} \ No newline at end of file From 62dda359fbfb2eb113d5276c86da674585c48406 Mon Sep 17 00:00:00 2001 From: MrWangJustToDo <2711470541@qq.com> Date: Mon, 16 Dec 2024 19:27:08 +0800 Subject: [PATCH 2/5] wip solid --- packages/solid/package.json | 58 +++++- packages/solid/postcss.config.js | 32 +++ .../solid/src/components/DiffAddWidget.tsx | 86 ++++++++ packages/solid/src/components/DiffExpand.tsx | 23 +++ packages/solid/src/components/DiffView.tsx | 4 + packages/solid/src/global.d.ts | 11 + packages/solid/src/index.ts | 7 + packages/solid/src/tailwind.css | 124 +++++++++++ packages/solid/tailwind.config.js | 8 + packages/solid/tsconfig.json | 14 ++ packages/solid/vite.config.ts | 43 ++++ pnpm-lock.yaml | 193 ++++++++++++++++++ 12 files changed, 602 insertions(+), 1 deletion(-) create mode 100644 packages/solid/postcss.config.js create mode 100644 packages/solid/src/components/DiffAddWidget.tsx create mode 100644 packages/solid/src/components/DiffExpand.tsx create mode 100644 packages/solid/src/components/DiffView.tsx create mode 100644 packages/solid/src/global.d.ts create mode 100644 packages/solid/src/index.ts create mode 100644 packages/solid/src/tailwind.css create mode 100644 packages/solid/tailwind.config.js create mode 100644 packages/solid/tsconfig.json create mode 100644 packages/solid/vite.config.ts diff --git a/packages/solid/package.json b/packages/solid/package.json index e004363..7ee033e 100644 --- a/packages/solid/package.json +++ b/packages/solid/package.json @@ -1,3 +1,59 @@ { - "name": "@git-diff-view/solid" + "name": "@git-diff-view/solid", + "description": "@git-diff-view/solid", + "author": "MrWangJustToDo", + "license": "MIT", + "version": "0.0.23", + "main": "index.js", + "type": "module", + "types": "index.d.ts", + "files": [ + "dist", + "index.cjs", + "index.d.ts" + ], + "repository": { + "type": "git", + "url": "git+https://github.com/MrWangJustToDo/git-diff-view.git", + "directory": "packages/solid" + }, + "scripts": { + "build": "vite build", + "gen:type": "dts-bundle-generator -o index.d.ts dist/index.d.ts" + }, + "homepage": "https://mrwangjusttodo.github.io/git-diff-view", + "exports": { + ".": { + "require": "./index.cjs", + "types": "./index.d.ts", + "import": "./dist/vue-git-diff-view.mjs" + }, + "./styles/*": "./dist/css/*", + "./package.json": "./package.json" + }, + "keywords": [ + "diff component", + "solid diff component" + ], + "dependencies": { + "@git-diff-view/utils": "^0.0.23", + "@git-diff-view/core": "^0.0.23", + "@types/hast": "^3.0.0", + "highlight.js": "^11.10.0", + "lowlight": "^3.2.0", + "fast-diff": "^1.3.0" + }, + "devDependencies": { + "@rollup/plugin-typescript": "^11.1.6", + "solid-js": "^1.9.0", + "vite-plugin-solid": "^2.11.0", + "autoprefixer": "^10.4.20", + "postcss": "^8.4.47", + "tailwindcss": "^3.4.14", + "vite": "^5.4.10", + "vite-plugin-dts": "^3.9.1" + }, + "peerDependencies": { + "solid-js": "^1.9.0" + } } \ No newline at end of file diff --git a/packages/solid/postcss.config.js b/packages/solid/postcss.config.js new file mode 100644 index 0000000..c917e1b --- /dev/null +++ b/packages/solid/postcss.config.js @@ -0,0 +1,32 @@ +export default { + plugins: { + tailwindcss: { config: "./tailwind.config.js" }, + "postcss-prefix-selector": { + prefix: ".diff-tailwindcss-wrapper", + transform: function (prefix, selector, prefixedSelector, _filePath, rule) { + const filePath = rule.source?.input?.file; + // ignore base css + // TODO next release update + if (rule.source?.start?.line === 1 && rule.source?.start?.column === 1) { + return selector; + } + if (selector.includes("diff-line-extend-wrapper") || selector.includes("diff-line-widget-wrapper")) { + return selector; + } + if (selector.includes("[data-theme")) { + return prefix + selector; + } + if (filePath.includes("node_modules")) { + if (filePath.includes("dark.css")) { + return `${prefix}[data-theme="dark"] .diff-line-syntax-raw ${selector}`; + } else { + return `${prefix}[data-theme="light"] .diff-line-syntax-raw ${selector}`; + } + } else { + return prefixedSelector; + } + }, + }, + autoprefixer: {}, + }, +}; diff --git a/packages/solid/src/components/DiffAddWidget.tsx b/packages/solid/src/components/DiffAddWidget.tsx new file mode 100644 index 0000000..fd7a428 --- /dev/null +++ b/packages/solid/src/components/DiffAddWidget.tsx @@ -0,0 +1,86 @@ +import { diffFontSizeName, addWidgetColorName, addWidgetBGName } from "@git-diff-view/utils"; + +import { type SplitSide } from "./DiffView"; + +import type { DiffFile } from "@git-diff-view/core"; + +export const DiffSplitAddWidget = ({ + side, + className, + lineNumber, + onWidgetClick, + onOpenAddWidget, +}: { + index: number; + className?: string; + lineNumber: number; + diffFile: DiffFile; + side: SplitSide; + onOpenAddWidget: (lineNumber: number, side: SplitSide) => void; + onWidgetClick?: (event: "onAddWidgetClick", lineNumber: number, side: SplitSide) => void; +}) => { + return ( +
+ +
+ ); +}; + +export const DiffUnifiedAddWidget = ({ + lineNumber, + side, + onWidgetClick, + onOpenAddWidget, +}: { + index: number; + diffFile: DiffFile; + lineNumber: number; + side: SplitSide; + onOpenAddWidget: (lineNumber: number, side: SplitSide) => void; + onWidgetClick?: (event: "onAddWidgetClick", lineNumber: number, side: SplitSide) => void; +}) => { + return ( + + ); +}; diff --git a/packages/solid/src/components/DiffExpand.tsx b/packages/solid/src/components/DiffExpand.tsx new file mode 100644 index 0000000..87aa105 --- /dev/null +++ b/packages/solid/src/components/DiffExpand.tsx @@ -0,0 +1,23 @@ +export const ExpandDown = ({ className }: { className: string }) => { + return ( + + ); +}; + +export const ExpandUp = ({ className }: { className?: string }) => { + return ( + + ); +}; + +export const ExpandAll = ({ className }: { className?: string }) => { + return ( + + ); +}; diff --git a/packages/solid/src/components/DiffView.tsx b/packages/solid/src/components/DiffView.tsx new file mode 100644 index 0000000..4b44f0d --- /dev/null +++ b/packages/solid/src/components/DiffView.tsx @@ -0,0 +1,4 @@ +export enum SplitSide { + old = 1, + new = 2, +} \ No newline at end of file diff --git a/packages/solid/src/global.d.ts b/packages/solid/src/global.d.ts new file mode 100644 index 0000000..1de7eae --- /dev/null +++ b/packages/solid/src/global.d.ts @@ -0,0 +1,11 @@ +declare global { + const __VERSION__: string; + + namespace NodeJS { + interface ProcessEnv { + NODE_ENV: "development" | "production" | "test"; + } + } +} + +export {}; diff --git a/packages/solid/src/index.ts b/packages/solid/src/index.ts new file mode 100644 index 0000000..37d8547 --- /dev/null +++ b/packages/solid/src/index.ts @@ -0,0 +1,7 @@ +import "highlight.js/styles/github.css"; +import "highlight.js/styles/github-dark.css"; +import "./tailwind.css"; + +export * from "./components/DiffView"; + +export * from "@git-diff-view/core"; \ No newline at end of file diff --git a/packages/solid/src/tailwind.css b/packages/solid/src/tailwind.css new file mode 100644 index 0000000..2db0027 --- /dev/null +++ b/packages/solid/src/tailwind.css @@ -0,0 +1,124 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +[data-theme="light"] .diff-style-root { + --diff-border--: #dedede; + --diff-add-content--: #e6ffec; + --diff-del-content--: #ffebe9; + --diff-add-lineNumber--: #ccffd8; + --diff-del-lineNumber--: #ffd7d5; + --diff-plain-content--: #ffffff; + --diff-expand-content--: #fafafa; + --diff-plain-lineNumber--: #fafafa; + --diff-plain-lineNumber-color--: #555555; + --diff-hunk-content--: #ddf4ff; + --diff-hunk-lineNumber--: #c7ecff; + --diff-hunk-lineNumber-hover--: #9dc4f8; + --diff-add-content-highlight--: #abf2bc; + --diff-del-content-highlight--: #ffb3ad; + --diff-add-widget--: #0969d2; + --diff-add-widget-color--: #ffffff; + --diff-empty-content--: #fafafa; + --diff-hunk-content-color--: #777777; + + color: black; +} + +.diff-style-root .diff-line-syntax-raw *, +[data-theme="light"] .diff-line-syntax-raw * { + color: var(--diff-view-light, inherit); + font-weight: var(--diff-view-light-font-weight, inherit); +} + +[data-theme="dark"] .diff-style-root { + --diff-border--: #3d444d; + --diff-add-content--: #14261f; + --diff-del-content--: #311b1f; + --diff-add-lineNumber--: #1f4429; + --diff-del-lineNumber--: #552527; + --diff-plain-content--: #0d1117; + --diff-expand-content--: #161b22; + --diff-plain-lineNumber--: #161b22; + --diff-plain-lineNumber-color--: #a0aaab; + --diff-hunk-content--: #131d2e; + --diff-hunk-lineNumber--: #204274; + --diff-hunk-lineNumber-hover--: #386de3; + --diff-add-content-highlight--: #1f572d; + --diff-del-content-highlight--: #80312f; + --diff-add-widget--: #0969d2; + --diff-add-widget-color--: #ffffff; + --diff-empty-content--: #161b22; + --diff-hunk-content-color--: #9298a0; + + color: white; +} + +[data-theme="dark"] .diff-line-syntax-raw * { + color: var(--diff-view-dark, inherit); + font-weight: var(--diff-view-dark-font-weight, inherit); +} + +table, +tr, +td { + border-color: transparent; + border-width: 0px; +} + +.diff-style-root tr { + content-visibility: auto; +} + +.diff-widget-tooltip { + position: relative; +} + +.diff-widget-tooltip::after { + display: none; + box-sizing: border-box; + background-color: #555555; + position: absolute; + content: attr(data-title); + font-size: 11px; + padding: 1px 2px; + border-radius: 4px; + overflow: hidden; + top: 50%; + white-space: nowrap; + transform: translateY(-50%); + left: calc(100% + 8px); + color: #ffffff; +} + +.diff-widget-tooltip::before { + display: none; + box-sizing: border-box; + content: ""; + position: absolute; + top: 50%; + left: calc(100% - 2px); + transform: translateY(-50%); + border: 6px solid transparent; + border-right-color: #555555; +} + +.diff-widget-tooltip:hover { + background-color: var(--diff-hunk-lineNumber-hover--); +} + +.diff-widget-tooltip:hover::before { + display: block; +} + +.diff-widget-tooltip:hover::after { + display: block; +} + +.diff-line-extend-wrapper * { + color: initial; +} + +.diff-line-widget-wrapper * { + color: initial; +} diff --git a/packages/solid/tailwind.config.js b/packages/solid/tailwind.config.js new file mode 100644 index 0000000..614c86b --- /dev/null +++ b/packages/solid/tailwind.config.js @@ -0,0 +1,8 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], + theme: { + extend: {}, + }, + plugins: [], +}; diff --git a/packages/solid/tsconfig.json b/packages/solid/tsconfig.json new file mode 100644 index 0000000..7fafd44 --- /dev/null +++ b/packages/solid/tsconfig.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "strict": true, + "rootDir": "src", + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "Bundler", + "allowSyntheticDefaultImports": true, + "jsx": "preserve", + "jsxImportSource": "solid-js", + }, + "include": ["./src"], + "exclude": ["node_modules"] +} diff --git a/packages/solid/vite.config.ts b/packages/solid/vite.config.ts new file mode 100644 index 0000000..753cf0d --- /dev/null +++ b/packages/solid/vite.config.ts @@ -0,0 +1,43 @@ +import typescript from "@rollup/plugin-typescript"; +import * as path from "path"; +import { defineConfig } from "vite"; +import dts from "vite-plugin-dts"; +import solidPlugin from "vite-plugin-solid"; + +import pkg from "./package.json"; + +export default defineConfig({ + plugins: [ + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + typescript({ tsconfig: "./tsconfig.json" }), + solidPlugin(), + dts(), + ], + server: { + port: 3000, + }, + build: { + lib: { + entry: path.resolve(__dirname, "src/index.withStyle.ts"), + name: "GitDiffView", + formats: ["es", "cjs"], + fileName: (format) => + format === "cjs" + ? `solid-git-diff-view.cjs` + : format === "es" + ? `solid-git-diff-view.mjs` + : `solid-git-diff-view.js`, + }, + sourcemap: true, + rollupOptions: { + external: ["solid-js", "@git-diff-view/core"], + output: { + assetFileNames: "css/diff-view.css", + }, + }, + }, + define: { + __VERSION__: JSON.stringify(pkg.version), + }, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6748483..008685c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -75,6 +75,8 @@ importers: specifier: 5.3.3 version: 5.3.3 + packages/angular: {} + packages/core: dependencies: '@git-diff-view/lowlight': @@ -189,6 +191,54 @@ importers: specifier: ^1.24.0 version: 1.24.0 + packages/solid: + dependencies: + '@git-diff-view/core': + specifier: ^0.0.23 + version: link:../core + '@git-diff-view/utils': + specifier: ^0.0.23 + version: link:../utils + '@types/hast': + specifier: ^3.0.0 + version: 3.0.4 + fast-diff: + specifier: ^1.3.0 + version: 1.3.0 + highlight.js: + specifier: ^11.10.0 + version: 11.10.0 + lowlight: + specifier: ^3.2.0 + version: 3.2.0 + devDependencies: + '@rollup/plugin-typescript': + specifier: ^11.1.6 + version: 11.1.6(rollup@4.24.3)(tslib@2.8.0)(typescript@5.4.2) + autoprefixer: + specifier: ^10.4.20 + version: 10.4.20(postcss@8.4.47) + postcss: + specifier: ^8.4.47 + version: 8.4.47 + solid-js: + specifier: ^1.9.0 + version: 1.9.3 + tailwindcss: + specifier: ^3.4.14 + version: 3.4.14(ts-node@10.9.2(@swc/core@1.7.42(@swc/helpers@0.5.13))(@types/node@22.10.1)(typescript@5.4.2)) + vite: + specifier: ^5.4.10 + version: 5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.47))(terser@5.27.0) + vite-plugin-dts: + specifier: ^3.9.1 + version: 3.9.1(@types/node@22.10.1)(rollup@4.24.3)(typescript@5.4.2)(vite@5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.47))(terser@5.27.0)) + vite-plugin-solid: + specifier: ^2.11.0 + version: 2.11.0(solid-js@1.9.3)(vite@5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.47))(terser@5.27.0)) + + packages/svelte: {} + packages/utils: {} packages/vue: @@ -583,6 +633,10 @@ packages: resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.18.6': + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.22.15': resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} @@ -2116,6 +2170,16 @@ packages: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} + babel-plugin-jsx-dom-expressions@0.39.3: + resolution: {integrity: sha512-6RzmSu21zYPlV2gNwzjGG9FgODtt9hIWnx7L//OIioIEuRcnpDZoY8Tr+I81Cy1SrH4qoDyKpwHHo6uAMAeyPA==} + peerDependencies: + '@babel/core': ^7.20.12 + + babel-preset-solid@1.9.3: + resolution: {integrity: sha512-jvlx5wDp8s+bEF9sGFw/84SInXOA51ttkUEroQziKMbxplXThVKt83qB6bDTa1HuLNatdU9FHpFOiQWs1tLQIg==} + peerDependencies: + '@babel/core': ^7.0.0 + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -3152,6 +3216,9 @@ packages: resolution: {integrity: sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==} engines: {node: '>=12.0.0'} + html-entities@2.3.3: + resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} + html-tags@3.3.1: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} @@ -3373,6 +3440,10 @@ packages: is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -3572,6 +3643,10 @@ packages: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} + merge-anything@5.1.7: + resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==} + engines: {node: '>=12.13'} + merge-descriptors@2.0.0: resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} engines: {node: '>=18'} @@ -3818,6 +3893,9 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse5@7.2.1: + resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} + parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} @@ -4597,6 +4675,16 @@ packages: serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + seroval-plugins@1.1.1: + resolution: {integrity: sha512-qNSy1+nUj7hsCOon7AO4wdAIo9P0jrzAMp18XhiOzA6/uO5TKtP7ScozVJ8T293oRIvi5wyCHSM4TrJo/c/GJA==} + engines: {node: '>=10'} + peerDependencies: + seroval: ^1.0 + + seroval@1.1.1: + resolution: {integrity: sha512-rqEO6FZk8mv7Hyv4UCj3FD3b6Waqft605TLfsCe/BiaylRpyyMC0b+uA5TJKawX3KzMrdi3wsLbCaLplrQmBvQ==} + engines: {node: '>=10'} + serve-static@2.1.0: resolution: {integrity: sha512-A3We5UfEjG8Z7VkDv6uItWw6HY2bBSBJT1KtVESn6EOoOr2jAxNhxWCLY3jDE2WcuHXByWju74ck3ZgLwL8xmA==} engines: {node: '>= 18'} @@ -4657,6 +4745,14 @@ packages: smob@1.4.1: resolution: {integrity: sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==} + solid-js@1.9.3: + resolution: {integrity: sha512-5ba3taPoZGt9GY3YlsCB24kCg0Lv/rie/HTD4kG6h4daZZz7+yK02xn8Vx8dLYBc9i6Ps5JwAbEiqjmKaLB3Ag==} + + solid-refresh@0.6.3: + resolution: {integrity: sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA==} + peerDependencies: + solid-js: ^1.3 + sonic-boom@4.0.1: resolution: {integrity: sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==} @@ -5149,6 +5245,9 @@ packages: v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + validate-html-nesting@1.2.2: + resolution: {integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==} + validator@13.11.0: resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} engines: {node: '>= 0.10'} @@ -5173,6 +5272,16 @@ packages: vite: optional: true + vite-plugin-solid@2.11.0: + resolution: {integrity: sha512-G+NiwDj4EAeUE0wt3Ur9f+Lt9oMUuLd0FIxYuqwJSqRacKQRteCwUFzNy8zMEt88xWokngQhiFjfJMhjc1fDXw==} + peerDependencies: + '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* + solid-js: ^1.7.2 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + '@testing-library/jest-dom': + optional: true + vite-tsconfig-paths@5.0.1: resolution: {integrity: sha512-yqwv+LstU7NwPeNqajZzLEBVpUFU6Dugtb2P84FXuvaoYA+/70l9MHE+GYfYAycVyPSDYZ7mjOFuYBRqlEpTig==} peerDependencies: @@ -5212,6 +5321,14 @@ packages: terser: optional: true + vitefu@1.0.4: + resolution: {integrity: sha512-y6zEE3PQf6uu/Mt6DTJ9ih+kyJLr4XcSgHR2zUkM8SWDhuixEJxfJ6CZGMHh1Ec3vPLoEA0IHU5oWzVqw8ulow==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + vite: + optional: true + vue-template-compiler@2.7.16: resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} @@ -5440,6 +5557,10 @@ snapshots: dependencies: '@babel/types': 7.23.9 + '@babel/helper-module-imports@7.18.6': + dependencies: + '@babel/types': 7.25.6 + '@babel/helper-module-imports@7.22.15': dependencies: '@babel/types': 7.23.9 @@ -5555,6 +5676,11 @@ snapshots: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 @@ -7075,6 +7201,21 @@ snapshots: axobject-query@4.1.0: {} + babel-plugin-jsx-dom-expressions@0.39.3(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.18.6 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.25.2) + '@babel/types': 7.25.6 + html-entities: 2.3.3 + parse5: 7.2.1 + validate-html-nesting: 1.2.2 + + babel-preset-solid@1.9.3(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 + babel-plugin-jsx-dom-expressions: 0.39.3(@babel/core@7.25.2) + balanced-match@1.0.2: {} balanced-match@2.0.0: {} @@ -8379,6 +8520,8 @@ snapshots: highlight.js@11.10.0: {} + html-entities@2.3.3: {} + html-tags@3.3.1: {} html-void-elements@3.0.0: {} @@ -8576,6 +8719,8 @@ snapshots: call-bind: 1.0.7 get-intrinsic: 1.2.4 + is-what@4.1.16: {} + isarray@2.0.5: {} isexe@2.0.0: {} @@ -8750,6 +8895,10 @@ snapshots: meow@13.2.0: {} + merge-anything@5.1.7: + dependencies: + is-what: 4.1.16 + merge-descriptors@2.0.0: {} merge2@1.4.1: {} @@ -8983,6 +9132,10 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse5@7.2.1: + dependencies: + entities: 4.5.0 + parseurl@1.3.3: {} path-browserify@1.0.1: {} @@ -9808,6 +9961,12 @@ snapshots: dependencies: randombytes: 2.1.0 + seroval-plugins@1.1.1(seroval@1.1.1): + dependencies: + seroval: 1.1.1 + + seroval@1.1.1: {} + serve-static@2.1.0: dependencies: encodeurl: 2.0.0 @@ -9909,6 +10068,21 @@ snapshots: smob@1.4.1: {} + solid-js@1.9.3: + dependencies: + csstype: 3.1.3 + seroval: 1.1.1 + seroval-plugins: 1.1.1(seroval@1.1.1) + + solid-refresh@0.6.3(solid-js@1.9.3): + dependencies: + '@babel/generator': 7.25.6 + '@babel/helper-module-imports': 7.24.7 + '@babel/types': 7.25.6 + solid-js: 1.9.3 + transitivePeerDependencies: + - supports-color + sonic-boom@4.0.1: dependencies: atomic-sleep: 1.0.0 @@ -10604,6 +10778,8 @@ snapshots: v8-compile-cache-lib@3.0.1: {} + validate-html-nesting@1.2.2: {} + validator@13.11.0: {} vary@1.1.2: {} @@ -10635,6 +10811,19 @@ snapshots: - rollup - supports-color + vite-plugin-solid@2.11.0(solid-js@1.9.3)(vite@5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.47))(terser@5.27.0)): + dependencies: + '@babel/core': 7.25.2 + '@types/babel__core': 7.20.5 + babel-preset-solid: 1.9.3(@babel/core@7.25.2) + merge-anything: 5.1.7 + solid-js: 1.9.3 + solid-refresh: 0.6.3(solid-js@1.9.3) + vite: 5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.47))(terser@5.27.0) + vitefu: 1.0.4(vite@5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.47))(terser@5.27.0)) + transitivePeerDependencies: + - supports-color + vite-tsconfig-paths@5.0.1(typescript@5.3.3)(vite@5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.47))(terser@5.27.0)): dependencies: debug: 4.3.6 @@ -10657,6 +10846,10 @@ snapshots: sugarss: 4.0.1(postcss@8.4.47) terser: 5.27.0 + vitefu@1.0.4(vite@5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.47))(terser@5.27.0)): + optionalDependencies: + vite: 5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.47))(terser@5.27.0) + vue-template-compiler@2.7.16: dependencies: de-indent: 1.0.2 From 68d9f982cffad009be31f0834a93af858605e3ca Mon Sep 17 00:00:00 2001 From: MrWangJustToDo <2711470541@qq.com> Date: Tue, 17 Dec 2024 19:58:55 +0800 Subject: [PATCH 3/5] wip. --- .eslintrc.cjs | 2 +- packages/solid/.eslintrc.cjs | 5 + packages/solid/package.json | 1 + .../solid/src/components/DiffAddWidget.tsx | 28 +-- packages/solid/src/components/DiffContent.tsx | 234 ++++++++++++++++++ packages/solid/src/components/DiffExpand.tsx | 18 +- .../solid/src/components/DiffNoNewLine.tsx | 8 + packages/utils/index.d.ts | 2 +- packages/utils/src/symbol.ts | 2 +- pnpm-lock.yaml | 131 ++++++++++ scripts/build.ts | 10 +- 11 files changed, 404 insertions(+), 37 deletions(-) create mode 100644 packages/solid/.eslintrc.cjs create mode 100644 packages/solid/src/components/DiffContent.tsx create mode 100644 packages/solid/src/components/DiffNoNewLine.tsx diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 1fd5869..d72e069 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -5,5 +5,5 @@ module.exports = { }, // eslint will auto add `eslint-config` for a no scope package(which not start with '@' chart), so here use absolute file path extends: [require.resolve("project-tool/baseLint")], - ignorePatterns: ["dist", "dev", "scripts", "node_modules", "next-app-example", "next-page-example"], + ignorePatterns: ["dist", "dev", "scripts", "node_modules", "next-app-example", "next-page-example", "packages/solid"], }; diff --git a/packages/solid/.eslintrc.cjs b/packages/solid/.eslintrc.cjs new file mode 100644 index 0000000..e256508 --- /dev/null +++ b/packages/solid/.eslintrc.cjs @@ -0,0 +1,5 @@ +module.exports = { + plugins: ["solid"], + extends: ["../../.eslintrc.cjs", "plugin:solid/typescript"], + ignorePatterns: ["dist", "dev", "node_modules"], +}; diff --git a/packages/solid/package.json b/packages/solid/package.json index 7ee033e..2c56fd5 100644 --- a/packages/solid/package.json +++ b/packages/solid/package.json @@ -48,6 +48,7 @@ "solid-js": "^1.9.0", "vite-plugin-solid": "^2.11.0", "autoprefixer": "^10.4.20", + "eslint-plugin-solid": "^0.14.5", "postcss": "^8.4.47", "tailwindcss": "^3.4.14", "vite": "^5.4.10", diff --git a/packages/solid/src/components/DiffAddWidget.tsx b/packages/solid/src/components/DiffAddWidget.tsx index fd7a428..c23bb16 100644 --- a/packages/solid/src/components/DiffAddWidget.tsx +++ b/packages/solid/src/components/DiffAddWidget.tsx @@ -1,16 +1,9 @@ import { diffFontSizeName, addWidgetColorName, addWidgetBGName } from "@git-diff-view/utils"; -import { type SplitSide } from "./DiffView"; - +import type { SplitSide } from "./DiffView"; import type { DiffFile } from "@git-diff-view/core"; -export const DiffSplitAddWidget = ({ - side, - className, - lineNumber, - onWidgetClick, - onOpenAddWidget, -}: { +export const DiffSplitAddWidget = (props: { index: number; className?: string; lineNumber: number; @@ -23,7 +16,7 @@ export const DiffSplitAddWidget = ({
{ - onOpenAddWidget(lineNumber, side); - onWidgetClick?.("onAddWidgetClick", lineNumber, side); + props.onOpenAddWidget(props.lineNumber, props.side); + props.onWidgetClick?.("onAddWidgetClick", props.lineNumber, props.side); }} > + @@ -47,12 +40,7 @@ export const DiffSplitAddWidget = ({ ); }; -export const DiffUnifiedAddWidget = ({ - lineNumber, - side, - onWidgetClick, - onOpenAddWidget, -}: { +export const DiffUnifiedAddWidget = (props: { index: number; diffFile: DiffFile; lineNumber: number; @@ -75,8 +63,8 @@ export const DiffUnifiedAddWidget = ({ "background-color": `var(${addWidgetBGName})`, }} onClick={() => { - onOpenAddWidget(lineNumber, side); - onWidgetClick?.("onAddWidgetClick", lineNumber, side); + props.onOpenAddWidget(props.lineNumber, props.side); + props.onWidgetClick?.("onAddWidgetClick", props.lineNumber, props.side); }} > + diff --git a/packages/solid/src/components/DiffContent.tsx b/packages/solid/src/components/DiffContent.tsx new file mode 100644 index 0000000..973ff18 --- /dev/null +++ b/packages/solid/src/components/DiffContent.tsx @@ -0,0 +1,234 @@ +import { DiffLineType, NewLineSymbol, type DiffFile, type DiffLine, type SyntaxLine } from "@git-diff-view/core"; +import { + addContentHighlightBGName, + delContentHighlightBGName, + diffFontSizeName, + getSymbol, +} from "@git-diff-view/utils"; +import { For, Show } from "solid-js"; + +import { DiffNoNewLine } from "./DiffNoNewLine"; + +const DiffString = (props: { + rawLine: string; + diffLine?: DiffLine; + operator?: "add" | "del"; + enableWrap?: boolean; +}) => { + const getRange = () => props.diffLine?.changes?.range; + + const getStr1 = () => props.rawLine.slice(0, getRange?.()?.location); + + const getStr2 = () => + props.rawLine.slice(getRange?.()?.location, (getRange?.()?.location || 0) + (getRange?.()?.length || 0)); + + const getStr3 = () => props.rawLine.slice((getRange?.()?.location || 0) + (getRange?.()?.length || 0)); + + const getIsLast = () => getStr2().includes("\n"); + + const get_Str2 = () => (getIsLast() ? getStr2().replace("\n", "").replace("\r", "") : getStr2()); + + const getIsNewLineSymbolChanged = () => (getStr3() === "" ? props.diffLine?.changes?.newLineSymbol : null); + + return ( + {props.rawLine}} + > + + + {getStr1()} + + {getIsLast() ? `${get_Str2()}${getSymbol(getIsNewLineSymbolChanged())}` : getStr2()} + + {getStr3()} + + {getIsNewLineSymbolChanged() === NewLineSymbol.NEWLINE && ( + + + + )} + + + ); +}; + +const DiffSyntax = (props: { + rawLine: string; + diffLine?: DiffLine; + syntaxLine?: SyntaxLine; + operator?: "add" | "del"; + enableWrap?: boolean; +}) => { + const getRange = () => props.diffLine?.changes?.range; + + const getIsNewLineSymbolChanged = () => props.diffLine?.changes?.newLineSymbol; + + return ( + } + > + + + {({ node, wrapper }) => ( + + {node.value} + + )} + + + } + > + + + + {({ node, wrapper }) => { + if ( + node.endIndex < getRange()!.location || + getRange()!.location + getRange()!.length < node.startIndex + ) { + return ( + + {node.value} + + ); + } else { + const index1 = getRange()!.location - node.startIndex; + const index2 = index1 < 0 ? 0 : index1; + const str1 = node.value.slice(0, index2); + const str2 = node.value.slice(index2, index1 + getRange()!.length); + const str3 = node.value.slice(index1 + getRange()!.length); + const isStart = str1.length || getRange()!.location === node.startIndex; + const isEnd = str3.length || node.endIndex === getRange()!.location + getRange()!.length - 1; + const isLast = str2.includes("\n"); + const _str2 = isLast ? str2.replace("\n", "").replace("\r", "") : str2; + return ( + + {str1} + + {isLast ? `${_str2}${getSymbol(getIsNewLineSymbolChanged())}` : str2} + + {str3} + + ); + } + }} + + + {getIsNewLineSymbolChanged() === NewLineSymbol.NEWLINE && ( + + + + )} + + + + ); +}; + +export const DiffContent = (props: { + rawLine: string; + syntaxLine?: SyntaxLine; + diffLine?: DiffLine; + diffFile: DiffFile; + enableWrap: boolean; + enableHighlight: boolean; +}) => { + const getIsAdded = () => props.diffLine?.type === DiffLineType.Add; + + const getIsDelete = () => props.diffLine?.type === DiffLineType.Delete; + + const getIsMaxLineLengthToIgnoreSyntax = () => + props.syntaxLine?.nodeList ? props.syntaxLine?.nodeList?.length > 150 : false; + + return ( +
+ + {getIsAdded() ? "+" : getIsDelete() ? "-" : " "} + + {props.enableHighlight && props.syntaxLine && !getIsMaxLineLengthToIgnoreSyntax() ? ( + + ) : ( + + )} +
+ ); +}; diff --git a/packages/solid/src/components/DiffExpand.tsx b/packages/solid/src/components/DiffExpand.tsx index 87aa105..b480b9a 100644 --- a/packages/solid/src/components/DiffExpand.tsx +++ b/packages/solid/src/components/DiffExpand.tsx @@ -1,23 +1,23 @@ -export const ExpandDown = ({ className }: { className: string }) => { +export const ExpandDown = (props: { className: string }) => { return ( -
DiffView
; } \ No newline at end of file diff --git a/packages/solid/src/components/tool.ts b/packages/solid/src/components/tool.ts new file mode 100644 index 0000000..e69de29 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7b50ee4..64c26be 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -486,6 +486,25 @@ importers: specifier: ^5.0.1 version: 5.0.1(typescript@5.3.3)(vite@5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.47))(terser@5.27.0)) + ui/solid-example: + dependencies: + solid-js: + specifier: ^1.9.3 + version: 1.9.3 + devDependencies: + typescript: + specifier: 5.3.3 + version: 5.3.3 + vite: + specifier: ^5.4.10 + version: 5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.49))(terser@5.27.0) + vite-plugin-inspect: + specifier: ^0.8.9 + version: 0.8.9(rollup@4.24.3)(vite@5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.49))(terser@5.27.0)) + vite-plugin-solid: + specifier: ^2.11.0 + version: 2.11.0(solid-js@1.9.3)(vite@5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.49))(terser@5.27.0)) + ui/vue-example: dependencies: '@git-diff-view/vue': @@ -571,6 +590,9 @@ packages: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} + '@antfu/utils@0.7.10': + resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + '@babel/code-frame@7.24.7': resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} @@ -1448,6 +1470,15 @@ packages: rollup: optional: true + '@rollup/pluginutils@5.1.4': + resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/rollup-android-arm-eabi@4.21.2': resolution: {integrity: sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==} cpu: [arm] @@ -2260,6 +2291,10 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -2580,10 +2615,22 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} + default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} + + default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} + define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} @@ -2719,6 +2766,9 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-stack-parser-es@0.1.5: + resolution: {integrity: sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==} + es-abstract@1.23.3: resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} engines: {node: '>= 0.4'} @@ -3403,6 +3453,11 @@ packages: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -3426,6 +3481,11 @@ packages: resolution: {integrity: sha512-S+OpgB5i7wzIue/YSE5hg0e5ZYfG3hhpNh9KGl6ayJ38p7ED6wxQLd1TV91xHpcTvw90KMJ9EwN3F/iNflHBVg==} engines: {node: '>=8'} + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + is-map@2.0.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} @@ -3494,6 +3554,10 @@ packages: resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} engines: {node: '>=12.13'} + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} @@ -3915,6 +3979,10 @@ packages: oniguruma-to-es@0.7.0: resolution: {integrity: sha512-HRaRh09cE0gRS3+wi2zxekB+I5L8C/gN60S+vb11eADHUaB/q4u8wGGOX3GvwvitG8ixaeycZfeoyruKQzUgNg==} + open@10.1.0: + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} + optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} @@ -3997,6 +4065,9 @@ packages: resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} engines: {node: '>=12'} + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -4690,6 +4761,10 @@ packages: resolution: {integrity: sha512-dIM5zVoG8xhC6rnSN8uoAgFARwTE7BQs8YwHEvK0VCmfxQXMaOuA1uiR1IPwsW7JyK5iTt7Od/TC9StasS2NPQ==} engines: {node: '>= 0.10'} + run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -5352,6 +5427,16 @@ packages: vite: optional: true + vite-plugin-inspect@0.8.9: + resolution: {integrity: sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + vite-plugin-solid@2.11.0: resolution: {integrity: sha512-G+NiwDj4EAeUE0wt3Ur9f+Lt9oMUuLd0FIxYuqwJSqRacKQRteCwUFzNy8zMEt88xWokngQhiFjfJMhjc1fDXw==} peerDependencies: @@ -5521,6 +5606,8 @@ snapshots: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.22 + '@antfu/utils@0.7.10': {} + '@babel/code-frame@7.24.7': dependencies: '@babel/highlight': 7.24.7 @@ -6476,6 +6563,14 @@ snapshots: optionalDependencies: rollup: 4.24.3 + '@rollup/pluginutils@5.1.4(rollup@4.24.3)': + dependencies: + '@types/estree': 1.0.6 + estree-walker: 2.0.2 + picomatch: 4.0.2 + optionalDependencies: + rollup: 4.24.3 + '@rollup/rollup-android-arm-eabi@4.21.2': optional: true @@ -7396,6 +7491,10 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + bundle-name@4.1.0: + dependencies: + run-applescript: 7.0.0 + busboy@1.6.0: dependencies: streamsearch: 1.1.0 @@ -7719,12 +7818,21 @@ snapshots: deepmerge@4.3.1: {} + default-browser-id@5.0.0: {} + + default-browser@5.2.1: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.0 + define-data-property@1.1.4: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 gopd: 1.0.1 + define-lazy-prop@3.0.0: {} + define-properties@1.2.1: dependencies: define-data-property: 1.1.4 @@ -7834,6 +7942,8 @@ snapshots: dependencies: is-arrayish: 0.2.1 + error-stack-parser-es@0.1.5: {} + es-abstract@1.23.3: dependencies: array-buffer-byte-length: 1.0.1 @@ -8783,6 +8893,8 @@ snapshots: dependencies: has-tostringtag: 1.0.2 + is-docker@3.0.0: {} + is-extglob@2.1.1: {} is-finalizationregistry@1.0.2: @@ -8803,6 +8915,10 @@ snapshots: dependencies: html-tags: 3.3.1 + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + is-map@2.0.2: {} is-module@1.0.0: {} @@ -8861,6 +8977,10 @@ snapshots: is-what@4.1.16: {} + is-wsl@3.1.0: + dependencies: + is-inside-container: 1.0.0 + isarray@2.0.5: {} isexe@2.0.0: {} @@ -9235,6 +9355,13 @@ snapshots: regex: 5.0.2 regex-recursion: 4.3.0 + open@10.1.0: + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 3.1.0 + optionator@0.9.3: dependencies: '@aashutoshrathi/word-wrap': 1.2.6 @@ -9307,6 +9434,8 @@ snapshots: path-type@5.0.0: {} + perfect-debounce@1.0.0: {} + picocolors@1.0.0: {} picocolors@1.0.1: {} @@ -10054,6 +10183,8 @@ snapshots: setprototypeof: 1.2.0 utils-merge: 1.0.1 + run-applescript@7.0.0: {} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 @@ -10983,6 +11114,22 @@ snapshots: - rollup - supports-color + vite-plugin-inspect@0.8.9(rollup@4.24.3)(vite@5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.49))(terser@5.27.0)): + dependencies: + '@antfu/utils': 0.7.10 + '@rollup/pluginutils': 5.1.4(rollup@4.24.3) + debug: 4.3.7 + error-stack-parser-es: 0.1.5 + fs-extra: 11.2.0 + open: 10.1.0 + perfect-debounce: 1.0.0 + picocolors: 1.1.1 + sirv: 3.0.0 + vite: 5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.49))(terser@5.27.0) + transitivePeerDependencies: + - rollup + - supports-color + vite-plugin-solid@2.11.0(solid-js@1.9.3)(vite@5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.47))(terser@5.27.0)): dependencies: '@babel/core': 7.25.2 @@ -10996,6 +11143,19 @@ snapshots: transitivePeerDependencies: - supports-color + vite-plugin-solid@2.11.0(solid-js@1.9.3)(vite@5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.49))(terser@5.27.0)): + dependencies: + '@babel/core': 7.25.2 + '@types/babel__core': 7.20.5 + babel-preset-solid: 1.9.3(@babel/core@7.25.2) + merge-anything: 5.1.7 + solid-js: 1.9.3 + solid-refresh: 0.6.3(solid-js@1.9.3) + vite: 5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.49))(terser@5.27.0) + vitefu: 1.0.4(vite@5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.49))(terser@5.27.0)) + transitivePeerDependencies: + - supports-color + vite-tsconfig-paths@5.0.1(typescript@5.3.3)(vite@5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.47))(terser@5.27.0)): dependencies: debug: 4.3.6 @@ -11033,6 +11193,10 @@ snapshots: optionalDependencies: vite: 5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.47))(terser@5.27.0) + vitefu@1.0.4(vite@5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.49))(terser@5.27.0)): + optionalDependencies: + vite: 5.4.10(@types/node@22.10.1)(sugarss@4.0.1(postcss@8.4.49))(terser@5.27.0) + vue-template-compiler@2.7.16: dependencies: de-indent: 1.0.2 diff --git a/ui/solid-example/.gitignore b/ui/solid-example/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/ui/solid-example/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/ui/solid-example/README.md b/ui/solid-example/README.md new file mode 100644 index 0000000..167c567 --- /dev/null +++ b/ui/solid-example/README.md @@ -0,0 +1,28 @@ +## Usage + +```bash +$ npm install # or pnpm install or yarn install +``` + +### Learn more on the [Solid Website](https://solidjs.com) and come chat with us on our [Discord](https://discord.com/invite/solidjs) + +## Available Scripts + +In the project directory, you can run: + +### `npm run dev` + +Runs the app in the development mode.
+Open [http://localhost:5173](http://localhost:5173) to view it in the browser. + +### `npm run build` + +Builds the app for production to the `dist` folder.
+It correctly bundles Solid in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.
+Your app is ready to be deployed! + +## Deployment + +Learn more about deploying your application with the [documentations](https://vite.dev/guide/static-deploy.html) diff --git a/ui/solid-example/index.html b/ui/solid-example/index.html new file mode 100644 index 0000000..7021737 --- /dev/null +++ b/ui/solid-example/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + Solid + TS + + +
+ + + diff --git a/ui/solid-example/package.json b/ui/solid-example/package.json new file mode 100644 index 0000000..a139a17 --- /dev/null +++ b/ui/solid-example/package.json @@ -0,0 +1,20 @@ +{ + "name": "solid-example", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "preview": "vite preview" + }, + "dependencies": { + "solid-js": "^1.9.3" + }, + "devDependencies": { + "typescript": "5.3.3", + "vite": "^5.4.10", + "vite-plugin-inspect": "^0.8.9", + "vite-plugin-solid": "^2.11.0" + } +} diff --git a/ui/solid-example/public/vite.svg b/ui/solid-example/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/ui/solid-example/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ui/solid-example/src/App.css b/ui/solid-example/src/App.css new file mode 100644 index 0000000..613607d --- /dev/null +++ b/ui/solid-example/src/App.css @@ -0,0 +1,27 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.solid:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/ui/solid-example/src/App.tsx b/ui/solid-example/src/App.tsx new file mode 100644 index 0000000..1f906bf --- /dev/null +++ b/ui/solid-example/src/App.tsx @@ -0,0 +1,38 @@ +import { createSignal } from 'solid-js' + +import solidLogo from './assets/solid.svg' + +// eslint-disable-next-line import/no-unresolved +import viteLogo from '/vite.svg' +import './App.css' + +function App() { + const [count, setCount] = createSignal(0) + + return ( + <> +
+ + + + + + +
+

Vite + Solid

+
+ +

+ Edit src/App.tsx and save to test HMR +

+
+

+ Click on the Vite and Solid logos to learn more +

+ + ) +} + +export default App diff --git a/ui/solid-example/src/assets/solid.svg b/ui/solid-example/src/assets/solid.svg new file mode 100644 index 0000000..025aa30 --- /dev/null +++ b/ui/solid-example/src/assets/solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ui/solid-example/src/index.css b/ui/solid-example/src/index.css new file mode 100644 index 0000000..6119ad9 --- /dev/null +++ b/ui/solid-example/src/index.css @@ -0,0 +1,68 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/ui/solid-example/src/index.tsx b/ui/solid-example/src/index.tsx new file mode 100644 index 0000000..0e0597e --- /dev/null +++ b/ui/solid-example/src/index.tsx @@ -0,0 +1,9 @@ +/* @refresh reload */ +import { render } from 'solid-js/web' + +import './index.css' +import App from './App.tsx' + +const root = document.getElementById('root') + +render(() => , root!) diff --git a/ui/solid-example/src/vite-env.d.ts b/ui/solid-example/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/ui/solid-example/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/ui/solid-example/tsconfig.app.json b/ui/solid-example/tsconfig.app.json new file mode 100644 index 0000000..542583a --- /dev/null +++ b/ui/solid-example/tsconfig.app.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "preserve", + "jsxImportSource": "solid-js", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["src"] +} diff --git a/ui/solid-example/tsconfig.json b/ui/solid-example/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/ui/solid-example/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/ui/solid-example/tsconfig.node.json b/ui/solid-example/tsconfig.node.json new file mode 100644 index 0000000..db0becc --- /dev/null +++ b/ui/solid-example/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/ui/solid-example/vite.config.ts b/ui/solid-example/vite.config.ts new file mode 100644 index 0000000..5f1ca99 --- /dev/null +++ b/ui/solid-example/vite.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from "vite"; +import inspect from "vite-plugin-inspect"; +import solid from "vite-plugin-solid"; + +export default defineConfig({ + plugins: [solid(), inspect()], +}); From a9e308721dbfdf5772e3ec4a262f016d6d0f7b64 Mon Sep 17 00:00:00 2001 From: MrWangJustToDo <2711470541@qq.com> Date: Mon, 23 Dec 2024 22:24:00 +0800 Subject: [PATCH 5/5] update --- packages/core/package.json | 4 ++-- packages/file/package.json | 4 ++-- packages/lowlight/package.json | 2 +- packages/react/package.json | 4 ++-- packages/shiki/package.json | 2 +- packages/solid/package.json | 5 ++--- packages/utils/package.json | 4 ++-- packages/vue/package.json | 4 ++-- pnpm-lock.yaml | 15 ++++++--------- 9 files changed, 20 insertions(+), 24 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index 8b182b7..a2db078 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -3,7 +3,7 @@ "description": "@git-diff-view/core", "author": "MrWangJustToDo", "license": "MIT", - "version": "0.0.24", + "version": "0.0.25", "main": "index.js", "types": "index.d.ts", "files": [ @@ -52,7 +52,7 @@ "diff parse" ], "dependencies": { - "@git-diff-view/lowlight": "^0.0.24", + "@git-diff-view/lowlight": "^0.0.25", "highlight.js": "^11.11.0", "lowlight": "^3.3.0", "fast-diff": "^1.3.0" diff --git a/packages/file/package.json b/packages/file/package.json index 53c24a8..04d79da 100644 --- a/packages/file/package.json +++ b/packages/file/package.json @@ -3,7 +3,7 @@ "description": "@git-diff-view/file", "author": "MrWangJustToDo", "license": "MIT", - "version": "0.0.24", + "version": "0.0.25", "main": "index.js", "types": "index.d.ts", "files": [ @@ -52,7 +52,7 @@ "diff parse" ], "dependencies": { - "@git-diff-view/core": "^0.0.24", + "@git-diff-view/core": "^0.0.25", "diff": "^7.0.0", "highlight.js": "^11.11.0", "lowlight": "^3.3.0", diff --git a/packages/lowlight/package.json b/packages/lowlight/package.json index c1bcf37..c5daace 100644 --- a/packages/lowlight/package.json +++ b/packages/lowlight/package.json @@ -3,7 +3,7 @@ "description": "@git-diff-view/lowlight", "author": "MrWangJustToDo", "license": "MIT", - "version": "0.0.24", + "version": "0.0.25", "main": "index.js", "types": "index.d.ts", "files": [ diff --git a/packages/react/package.json b/packages/react/package.json index 059ba48..71fe85c 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -3,7 +3,7 @@ "description": "@git-diff-view/react", "author": "MrWangJustToDo", "license": "MIT", - "version": "0.0.24", + "version": "0.0.25", "main": "index.js", "types": "index.d.ts", "files": [ @@ -63,7 +63,7 @@ "react diff component" ], "dependencies": { - "@git-diff-view/core": "^0.0.24", + "@git-diff-view/core": "^0.0.25", "@types/hast": "^3.0.0", "fast-diff": "^1.3.0", "highlight.js": "^11.11.0", diff --git a/packages/shiki/package.json b/packages/shiki/package.json index 7cae8e5..bf289a0 100644 --- a/packages/shiki/package.json +++ b/packages/shiki/package.json @@ -3,7 +3,7 @@ "description": "@git-diff-view/shiki", "author": "MrWangJustToDo", "license": "MIT", - "version": "0.0.24", + "version": "0.0.25", "types": "index.d.ts", "type": "module", "files": [ diff --git a/packages/solid/package.json b/packages/solid/package.json index 61942de..192a3fa 100644 --- a/packages/solid/package.json +++ b/packages/solid/package.json @@ -3,7 +3,7 @@ "description": "@git-diff-view/solid", "author": "MrWangJustToDo", "license": "MIT", - "version": "0.0.23", + "version": "0.0.25", "main": "index.js", "type": "module", "types": "index.d.ts", @@ -36,8 +36,7 @@ "solid diff component" ], "dependencies": { - "@git-diff-view/utils": "^0.0.23", - "@git-diff-view/core": "^0.0.23", + "@git-diff-view/core": "^0.0.25", "@types/hast": "^3.0.0", "highlight.js": "^11.11.0", "lowlight": "^3.3.0", diff --git a/packages/utils/package.json b/packages/utils/package.json index 4d09476..ea724f4 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -3,7 +3,7 @@ "description": "@git-diff-view/utils", "author": "MrWangJustToDo", "license": "MIT", - "version": "0.0.24", + "version": "0.0.25", "types": "index.d.ts", "type": "module", "files": [ @@ -40,6 +40,6 @@ ] }, "dependencies": { - "@git-diff-view/core": "^0.0.24" + "@git-diff-view/core": "^0.0.25" } } diff --git a/packages/vue/package.json b/packages/vue/package.json index b2bb513..16cc3e5 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -3,7 +3,7 @@ "description": "@git-diff-view/vue", "author": "MrWangJustToDo", "license": "MIT", - "version": "0.0.24", + "version": "0.0.25", "main": "index.js", "type": "module", "types": "index.d.ts", @@ -49,7 +49,7 @@ "vue diff component" ], "dependencies": { - "@git-diff-view/core": "^0.0.24", + "@git-diff-view/core": "^0.0.25", "@types/hast": "^3.0.0", "highlight.js": "^11.11.0", "lowlight": "^3.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ad71e97..6515b05 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -83,7 +83,7 @@ importers: packages/core: dependencies: '@git-diff-view/lowlight': - specifier: ^0.0.24 + specifier: ^0.0.25 version: link:../lowlight fast-diff: specifier: ^1.3.0 @@ -102,7 +102,7 @@ importers: packages/file: dependencies: '@git-diff-view/core': - specifier: ^0.0.24 + specifier: ^0.0.25 version: link:../core diff: specifier: ^7.0.0 @@ -139,7 +139,7 @@ importers: packages/react: dependencies: '@git-diff-view/core': - specifier: ^0.0.24 + specifier: ^0.0.25 version: link:../core '@types/hast': specifier: ^3.0.0 @@ -194,11 +194,8 @@ importers: packages/solid: dependencies: '@git-diff-view/core': - specifier: ^0.0.23 + specifier: ^0.0.25 version: link:../core - '@git-diff-view/utils': - specifier: ^0.0.23 - version: link:../utils '@types/hast': specifier: ^3.0.0 version: 3.0.4 @@ -245,13 +242,13 @@ importers: packages/utils: dependencies: '@git-diff-view/core': - specifier: ^0.0.24 + specifier: ^0.0.25 version: link:../core packages/vue: dependencies: '@git-diff-view/core': - specifier: ^0.0.24 + specifier: ^0.0.25 version: link:../core '@types/hast': specifier: ^3.0.0