Skip to content

Commit d2fadcf

Browse files
wip
1 parent 6ecf1b8 commit d2fadcf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1925
-94
lines changed

.eslintrc.cjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ module.exports = {
55
},
66
// eslint will auto add `eslint-config` for a no scope package(which not start with '@' chart), so here use absolute file path
77
extends: [require.resolve("project-tool/baseLint")],
8-
ignorePatterns: ["dist", "dev", "scripts", "node_modules", "next-app-example", "next-page-example", "packages/solid"],
8+
ignorePatterns: ["dist", "dev", "scripts", "node_modules", "next-app-example", "next-page-example", "packages/solid", "packages/svelte"],
99
};

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"@git-diff-view/react": "workspace:*",
3131
"@git-diff-view/solid": "workspace:*",
3232
"@git-diff-view/vue": "workspace:*",
33+
"@git-diff-view/svelte": "workspace:*",
3334
"@git-diff-view/utils": "workspace:*",
3435
"@swc/core": "^1.10.15",
3536
"@types/lodash": "^4.17.15",

packages/solid/src/components/DiffSplitHunkLineNormal.tsx

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
hunkLineNumberBGName,
88
plainLineNumberColorName,
99
} from "@git-diff-view/utils";
10-
import { createEffect, createMemo, createSignal, Show } from "solid-js";
10+
import { createEffect, createMemo, createSignal, onCleanup, Show } from "solid-js";
1111

1212
import { useMode, useSyncHeight } from "../hooks";
1313

@@ -45,7 +45,7 @@ const DiffSplitHunkLineGitHub = (props: { index: number; side: SplitSide; diffFi
4545

4646
const currentIsPureHunk = createMemo(() => {
4747
const hunk = currentHunk();
48-
return hunk && !hunk.splitInfo;
48+
return hunk && props.diffFile._getIsPureDiffRender() && !hunk.splitInfo;
4949
});
5050

5151
const currentIsLastLine = createMemo(() => {
@@ -63,9 +63,7 @@ const DiffSplitHunkLineGitHub = (props: { index: number; side: SplitSide; diffFi
6363

6464
const cb = props.diffFile.subscribe(init);
6565

66-
return () => {
67-
cb();
68-
};
66+
onCleanup(cb);
6967
});
7068

7169
const currentSyncHeightSide = createMemo(() => SplitSide[SplitSide.old]);
@@ -232,9 +230,7 @@ const DiffSplitHunkLineGitLab = (props: { index: number; side: SplitSide; diffFi
232230

233231
const cb = props.diffFile.subscribe(init);
234232

235-
return () => {
236-
cb();
237-
};
233+
onCleanup(cb);
238234
});
239235

240236
useSyncHeight({

packages/solid/src/components/DiffSplitHunkLineWrap.tsx

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
hunkLineNumberBGName,
88
plainLineNumberColorName,
99
} from "@git-diff-view/utils";
10-
import { createEffect, createMemo, createSignal, Show } from "solid-js";
10+
import { createEffect, createMemo, createSignal, onCleanup, Show } from "solid-js";
1111

1212
import { useMode } from "../hooks";
1313

@@ -59,9 +59,7 @@ const DiffSplitHunkLineGitHub = (props: { index: number; diffFile: DiffFile; lin
5959

6060
const cb = props.diffFile.subscribe(init);
6161

62-
return () => {
63-
cb();
64-
};
62+
onCleanup(cb);
6563
});
6664

6765
return (
@@ -173,7 +171,7 @@ const DiffSplitHunkLineGitLab = (props: { index: number; diffFile: DiffFile; lin
173171

174172
const currentIsPureHunk = createMemo(() => {
175173
const hunk = currentHunk();
176-
return hunk && !hunk.splitInfo;
174+
return hunk && props.diffFile._getIsPureDiffRender() && !hunk.splitInfo;
177175
});
178176

179177
const currentIsLastLine = createMemo(() => {
@@ -191,9 +189,7 @@ const DiffSplitHunkLineGitLab = (props: { index: number; diffFile: DiffFile; lin
191189

192190
const cb = props.diffFile.subscribe(init);
193191

194-
return () => {
195-
cb();
196-
};
192+
onCleanup(cb);
197193
});
198194

199195
return (

packages/svelte/eslint.config.js

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import importPlugin from 'eslint-plugin-import';
55
import svelte from 'eslint-plugin-svelte';
66
import globals from 'globals';
77
import { fileURLToPath } from 'node:url';
8+
import parser from 'svelte-eslint-parser';
89
import ts from 'typescript-eslint';
910

1011
import svelteConfig from './svelte.config.js';
@@ -25,7 +26,19 @@ export default ts.config(
2526
rules: { 'no-undef': 'off' }
2627
},
2728
{
28-
files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'],
29+
files: ['**/*.svelte'],
30+
languageOptions: {
31+
parser: parser,
32+
ecmaVersion: 5,
33+
sourceType: 'script',
34+
parserOptions: {
35+
parser: '@typescript-eslint/parser',
36+
svelteConfig
37+
}
38+
}
39+
},
40+
{
41+
files: ['**/*.svelte.ts', '**/*.svelte.js'],
2942
languageOptions: {
3043
parserOptions: {
3144
projectService: true,
@@ -36,12 +49,14 @@ export default ts.config(
3649
}
3750
},
3851
{
39-
files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js', '**/*.ts', '**/*.js'],
52+
files: ['**/*.svelte.ts', '**/*.svelte.js', '**/*.ts', '**/*.js'],
4053
extends: [importPlugin.flatConfigs.recommended, importPlugin.flatConfigs.typescript],
4154
settings: {
4255
'import/extensions': ['.js', '.ts', '.svelte'],
4356
'import/parsers': {
44-
'@typescript-eslint/parser': ['.ts', '.js', '.svelte']
57+
'@typescript-eslint/parser': ['.ts', '.js'],
58+
// https://github.com/import-js/eslint-plugin-import/issues/2837#issuecomment-1646122243
59+
'svelte-eslint-parser': ['.svelte']
4560
},
4661
'import/resolver': {
4762
typescript: {

packages/svelte/package.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,14 @@
1010
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
1111
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
1212
"format": "prettier --write .",
13-
"lint": "prettier --check . && eslint ."
13+
"lint": "prettier --check . && eslint .",
14+
"gen:css1": "postcss src/tailwind.css -o dist/css/diff-view.css",
15+
"gen:css2": "postcss src/tailwind_pure.css -o dist/css/diff-view-pure.css",
16+
"gen:css": "npm run gen:css1 && npm run gen:css2"
1417
},
1518
"files": [
1619
"dist",
20+
"styles",
1721
"!dist/**/*.test.*",
1822
"!dist/**/*.spec.*"
1923
],

0 commit comments

Comments
 (0)