Skip to content

Commit 69e6dd0

Browse files
committed
feat: minimize npm package
1 parent f9b496b commit 69e6dd0

File tree

7 files changed

+523
-138
lines changed

7 files changed

+523
-138
lines changed

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,10 @@ This component can be used two different ways:
7575
const data = ['A', 'B', 'C', 'D', 'E', 'F' /* ... */];
7676
</script>
7777
78-
<VirtualList width="100%" height={600} itemCount={data.length} itemSize={50}>
79-
{#snippet row({ style, index })}
78+
<VirtualList width="100%" height={600} items={data} itemCount={data.length} itemSize={50}>
79+
{#snippet slot({ item, style, index })}
8080
<div class="row" {style}>
81-
Item: {data[index]}, Row: #{index}
81+
Item: {item}, Row: #{index}
8282
</div>
8383
{/snippet}
8484
</VirtualList>

SizeAndPositionManager.d.ts.new

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import{ALIGNMENT,type VirtualItemSize,type VirtualRange,type VirtualPosition}from'.';export default class SizeAndPositionManager{private items;private itemSize;private itemCount;private estimatedItemSize?;private itemSizeAndPositionData;private lastMeasuredIndex;private totalSize?;constructor(items:Array<any>,itemSize:VirtualItemSize,itemCount:number,estimatedItemSize?:number);get justInTime():boolean;updateConfig(itemSize:VirtualItemSize,itemCount:number,estimatedItemSize?:number):void;checkForMismatchItemSizeAndItemCount():void;getSize(index:number):number;computeTotalSizeAndPositionData():void;getLastMeasuredIndex():number;getSizeAndPositionForIndex(index:number):VirtualPosition;getJustInTimeSizeAndPositionForIndex(index:number):VirtualPosition;getSizeAndPositionOfLastMeasuredItem():VirtualPosition;getEstimatedItemSize():number;getTotalSize():number;getUpdatedOffsetForIndex(align:ALIGNMENT|undefined,containerSize:number,currentOffset:number,targetIndex:number):number;getVisibleRange(containerSize:number|undefined,offset:number,windowOverPadding:number):VirtualRange;resetItem(index:number):void;findNearestItem(offset:number):number;private binarySearch;private exponentialSearch;}

TODO.md

+2
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@
44
[x] Rename the row snippet to something else -> slot
55
[ ] add disabled
66
[ ] move the css style logic out of the component row({ item, style, index })
7+
[ ] considering, items={data} itemCount={data.length} itemSize={50}; model is data, items is the view should be transformed into model={data} modelCount={data.length} itemSize={50}, {@render item(...)}
8+
[x] implement minimization for the npm package

package.json

+7-5
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
"lint-es": "eslint --cache .",
4141
"package": "pnpm run package:build && pnpm run package:pack",
4242
"package:build": "rimraf -g ./package/* && svelte-package -o ./package/dist && copyfiles ./README.md ./LICENSE ./package/ && node scripts/package-clean-copy.js",
43-
"package:pack": "cd package && pnpm pack",
43+
"package:pack": "node ./scripts/minify-package.js && cd package && pnpm pack",
4444
"prepare": "husky",
4545
"preview": "vite preview --port 3000",
4646
"static-serv": "pnpm build && serve -l 3000 --no-clipboard docs",
@@ -60,34 +60,36 @@
6060
"@sveltejs/package": "2.3.0",
6161
"@sveltejs/vite-plugin-svelte": "^4.0.0-next.3",
6262
"@types/eslint": "^8.56.10",
63-
"@types/node": "^20.14.6",
63+
"@types/node": "^20.14.7",
6464
"@typescript-eslint/eslint-plugin": "^7.13.1",
6565
"@typescript-eslint/parser": "^7.13.1",
6666
"badge-maker": "^3.3.1",
6767
"copyfiles": "^2.4.1",
6868
"cross-env": "^7.0.3",
6969
"cz-customizable": "^7.0.0",
70+
"dts-minify": "^0.3.3",
7071
"eslint": "^9.5.0",
7172
"eslint-config-prettier": "^9.1.0",
7273
"eslint-gitignore": "^0.1.0",
7374
"eslint-plugin-svelte": "^2.40.0",
7475
"globals": "^15.6.0",
7576
"highlight.js": "^11.9.0",
7677
"husky": "^9.0.11",
78+
"minify": "^11.2.1",
7779
"prettier": "^3.3.2",
78-
"prettier-plugin-svelte": "^3.2.4",
80+
"prettier-plugin-svelte": "^3.2.5",
7981
"rimraf": "^5.0.7",
8082
"sass": "^1.77.6",
8183
"serve": "^14.2.3",
8284
"svelte-check": "^3.8.1",
8385
"svelte-highlight": "^7.6.1",
8486
"svelte-preprocess": "^6.0.1",
8587
"tslib": "^2.6.3",
86-
"typescript": "^5.4.5",
88+
"typescript": "^5.5.2",
8789
"typescript-eslint": "^8.0.0-alpha.30",
8890
"vite": "^5.3.1"
8991
},
9092
"peerDependencies": {
91-
"svelte": "5.0.0-next.160"
93+
"svelte": "5.0.0-next.162"
9294
}
9395
}

0 commit comments

Comments
 (0)