Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
a212536cfa | |||
18297d54c4 |
6
.serena/memories/done_checklist.md
Normal file
6
.serena/memories/done_checklist.md
Normal file
@@ -0,0 +1,6 @@
|
||||
Before finishing a task:
|
||||
- Run `pnpm run build` to ensure TypeScript compile + bundling succeed.
|
||||
- Verify `dist_ts_web/` and `dist_bundle/bundle.js` updated.
|
||||
- Optionally run `pnpm run test` and inspect failures.
|
||||
- Avoid changing public APIs unless required; keep changes scoped.
|
||||
- Update readme or inline docs only if user-facing behavior changes.
|
11
.serena/memories/project_overview.md
Normal file
11
.serena/memories/project_overview.md
Normal file
@@ -0,0 +1,11 @@
|
||||
Project: @design.estate/dees-catalog
|
||||
Purpose: A component library of dynamic Web Components (TypeScript) for building modern web apps.
|
||||
Tech stack: TypeScript (ES2022, NodeNext), decorators, custom elements via @design.estate/dees-element (Lit-style), bundling with esbuild via @git.zone/tsbundle, TypeScript building via @git.zone/tsbuild (tsfolders), tests with @git.zone/tstest, various UI libs (tiptap, apexcharts, monaco-editor runtime via CDN), DOM helpers via @design.estate/dees-domtools.
|
||||
Structure:
|
||||
- ts_web/: source of web components and pages
|
||||
- dist_ts_web/: transpiled TS output
|
||||
- dist_bundle/: production bundle (bundle.js + map)
|
||||
- test/: tests
|
||||
- html/: static demo assets
|
||||
Key configs: tsconfig.json sets ES2022, NodeNext module/resolution, decorators enabled, skipLibCheck enabled to avoid third-party d.ts issues.
|
||||
Entrypoints: ts_web/index.ts for bundling; custom elements annotated with @customElement.
|
5
.serena/memories/style_and_conventions.md
Normal file
5
.serena/memories/style_and_conventions.md
Normal file
@@ -0,0 +1,5 @@
|
||||
Language: TypeScript, ES2022 target, NodeNext module + resolution.
|
||||
Patterns: Web Components with @customElement decorators; class-based components extending DeesElement; styles via css/cssManager; template render via html tagged literal.
|
||||
Typing: Prefer explicit types where practical; tolerate `any` for external browser-injected libs (e.g., monaco) to keep build healthy.
|
||||
Config: skipLibCheck enabled to avoid third-party d.ts breakages; exclude built declaration outputs.
|
||||
Formatting/Linting: Not explicitly configured; follow existing style (2-space indents, single quotes often, semicolons present).
|
6
.serena/memories/suggested_commands.md
Normal file
6
.serena/memories/suggested_commands.md
Normal file
@@ -0,0 +1,6 @@
|
||||
Build: pnpm run build
|
||||
Watch: pnpm run watch
|
||||
Test: pnpm run test
|
||||
Docs: pnpm run buildDocs
|
||||
Inspect bundle size: ls -lh dist_bundle/bundle.js
|
||||
Open demo (if applicable): serve static `html/` with any web server
|
@@ -1,5 +1,13 @@
|
||||
# Changelog
|
||||
|
||||
## 2025-09-16 - 1.11.6 - fix(dees-table)
|
||||
Improve Lucene range comparisons, pin monaco-editor to 0.52.2, and add local dev metadata
|
||||
|
||||
- Fix lucene inRange behavior to correctly compare homogeneous types (strings, numbers, dates) and fall back to string comparison when needed (ts_web/elements/dees-table/lucene.ts).
|
||||
- Pin monaco-editor to 0.52.2 in package.json to avoid a breaking upgrade regression observed with ^0.53.0.
|
||||
- Add local development/tooling metadata and conveniences: .claude/settings.local.json (tool permissions) and .serena/ memory files (done_checklist, project_overview, style_and_conventions, suggested_commands).
|
||||
- Minor housekeeping: update project dev docs / memories to capture build/test/checklist guidance.
|
||||
|
||||
## 2025-09-16 - 1.11.5 - fix(ci)
|
||||
Add local Claude agent settings for CI tooling
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@design.estate/dees-catalog",
|
||||
"version": "1.11.5",
|
||||
"version": "1.11.6",
|
||||
"private": false,
|
||||
"description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
|
||||
"main": "dist_ts_web/index.js",
|
||||
@@ -37,7 +37,7 @@
|
||||
"highlight.js": "11.11.1",
|
||||
"ibantools": "^4.5.1",
|
||||
"lucide": "^0.544.0",
|
||||
"monaco-editor": "^0.53.0",
|
||||
"monaco-editor": "0.52.2",
|
||||
"pdfjs-dist": "^4.10.38",
|
||||
"xterm": "^5.3.0",
|
||||
"xterm-addon-fit": "^0.8.0"
|
||||
|
17
pnpm-lock.yaml
generated
17
pnpm-lock.yaml
generated
@@ -75,8 +75,8 @@ importers:
|
||||
specifier: ^0.544.0
|
||||
version: 0.544.0
|
||||
monaco-editor:
|
||||
specifier: ^0.53.0
|
||||
version: 0.53.0
|
||||
specifier: 0.52.2
|
||||
version: 0.52.2
|
||||
pdfjs-dist:
|
||||
specifier: ^4.10.38
|
||||
version: 4.10.38
|
||||
@@ -2417,9 +2417,6 @@ packages:
|
||||
'@types/triple-beam@1.3.5':
|
||||
resolution: {integrity: sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==}
|
||||
|
||||
'@types/trusted-types@1.0.6':
|
||||
resolution: {integrity: sha512-230RC8sFeHoT6sSUlRO6a8cAnclO06eeiq1QDfiv2FGCLWFvvERWgwIQD4FWqD9A69BN7Lzee4OXwoMVnnsWDw==}
|
||||
|
||||
'@types/trusted-types@2.0.7':
|
||||
resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
|
||||
|
||||
@@ -4218,8 +4215,8 @@ packages:
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
|
||||
monaco-editor@0.53.0:
|
||||
resolution: {integrity: sha512-0WNThgC6CMWNXXBxTbaYYcunj08iB5rnx4/G56UOPeL9UVIUGGHA1GR0EWIh9Ebabj7NpCRawQ5b0hfN1jQmYQ==}
|
||||
monaco-editor@0.52.2:
|
||||
resolution: {integrity: sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==}
|
||||
|
||||
mongodb-connection-string-url@2.6.0:
|
||||
resolution: {integrity: sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==}
|
||||
@@ -9361,8 +9358,6 @@ snapshots:
|
||||
|
||||
'@types/triple-beam@1.3.5': {}
|
||||
|
||||
'@types/trusted-types@1.0.6': {}
|
||||
|
||||
'@types/trusted-types@2.0.7': {}
|
||||
|
||||
'@types/turndown@5.0.5': {}
|
||||
@@ -11532,9 +11527,7 @@ snapshots:
|
||||
|
||||
mkdirp@1.0.4: {}
|
||||
|
||||
monaco-editor@0.53.0:
|
||||
dependencies:
|
||||
'@types/trusted-types': 1.0.6
|
||||
monaco-editor@0.52.2: {}
|
||||
|
||||
mongodb-connection-string-url@2.6.0:
|
||||
dependencies:
|
||||
|
@@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@design.estate/dees-catalog',
|
||||
version: '1.11.5',
|
||||
version: '1.11.6',
|
||||
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
||||
}
|
||||
|
@@ -99,12 +99,24 @@ export function compileLucenePredicate<T>(
|
||||
const a = coerce(val);
|
||||
const lo = coerce(lower);
|
||||
const up = coerce(upper);
|
||||
// if types differ, compare string forms
|
||||
if (a.t !== lo.t || a.t !== up.t) {
|
||||
// All strings: lexical compare
|
||||
if (a.t === 's' && lo.t === 's' && up.t === 's') {
|
||||
const av = a.v as string;
|
||||
return cmp(av, lo.v as string) >= 0 && cmp(av, up.v as string) <= 0;
|
||||
}
|
||||
// All numbers
|
||||
if (a.t === 'n' && lo.t === 'n' && up.t === 'n') {
|
||||
const av = a.v as number;
|
||||
return av >= (lo.v as number) && av <= (up.v as number);
|
||||
}
|
||||
// All dates (as numbers)
|
||||
if (a.t === 'd' && lo.t === 'd' && up.t === 'd') {
|
||||
const av = a.v as number;
|
||||
return av >= (lo.v as number) && av <= (up.v as number);
|
||||
}
|
||||
// Fallback: compare string forms
|
||||
const as = String(val ?? '').toLowerCase();
|
||||
return cmp(as, lower) >= 0 && cmp(as, upper) <= 0;
|
||||
}
|
||||
return a.v >= (lo.v as number) && a.v <= (up.v as number);
|
||||
};
|
||||
return (row: T) => {
|
||||
for (const clause of ast.clauses) {
|
||||
|
Reference in New Issue
Block a user