dirsql 0.4.104 → 0.4.106

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -49,6 +49,13 @@ docs/nested/deep.md
49
49
  docs/nested/.cache/x.md
50
50
  node_modules/pkg/index.js
51
51
  real/r.md
52
+ uni/1.md
53
+ uni/a.md
54
+ uni/é.md
55
+ uni/É.md
56
+ uni/中.md
57
+ uni/٣.md
58
+ uni/¡.md
52
59
  linkdir -> real
53
60
  link.md -> top.md
54
61
  broken -> nowhere
@@ -69,13 +76,21 @@ A test runs every row against dirsql as a path-table and, with the leading
69
76
  | Pattern | Rows | Divergence |
70
77
  | --- | --- | --- |
71
78
  | `./*.md` | `1.md`, `2.md`, `3.md`, `4.md`, `[a].md`, `[z.md`, `a.md`, `b.md`, `c.md`, `link.md`, `my file.md`, `top.md`, `{q}.md` | |
72
- | `./**/*.md` | `1.md`, `2.md`, `3.md`, `4.md`, `[a].md`, `[z.md`, `a.md`, `b.md`, `c.md`, `docs/api.md`, `docs/guide.md`, `docs/nested/deep.md`, `link.md`, `linkdir/r.md`, `my file.md`, `real/r.md`, `top.md`, `{q}.md` | |
73
- | `./**` | `1.md`, `2.md`, `3.md`, `4.md`, `[a].md`, `[z.md`, `a.md`, `b.md`, `c.md`, `docs/api.md`, `docs/guide.md`, `docs/nested/deep.md`, `link.md`, `my file.md`, `node_modules/pkg/index.js`, `real/r.md`, `top.md`, `x.txt`, `{q}.md` | |
79
+ | `./**/*.md` | `1.md`, `2.md`, `3.md`, `4.md`, `[a].md`, `[z.md`, `a.md`, `b.md`, `c.md`, `docs/api.md`, `docs/guide.md`, `docs/nested/deep.md`, `link.md`, `linkdir/r.md`, `my file.md`, `real/r.md`, `top.md`, `uni/1.md`, `uni/a.md`, `uni/¡.md`, `uni/É.md`, `uni/é.md`, `uni/٣.md`, `uni/中.md`, `{q}.md` | |
80
+ | `./**` | `1.md`, `2.md`, `3.md`, `4.md`, `[a].md`, `[z.md`, `a.md`, `b.md`, `c.md`, `docs/api.md`, `docs/guide.md`, `docs/nested/deep.md`, `link.md`, `my file.md`, `node_modules/pkg/index.js`, `real/r.md`, `top.md`, `uni/1.md`, `uni/a.md`, `uni/¡.md`, `uni/É.md`, `uni/é.md`, `uni/٣.md`, `uni/中.md`, `x.txt`, `{q}.md` | |
74
81
  | `./?.md` | `1.md`, `2.md`, `3.md`, `4.md`, `a.md`, `b.md`, `c.md` | |
75
82
  | `./[ab].md` | `a.md`, `b.md` | |
76
83
  | `./[!a].md` | `1.md`, `2.md`, `3.md`, `4.md`, `b.md`, `c.md` | |
77
84
  | `./\[a\].md` | `[a].md` | |
78
85
  | `./[z.md` | `[z.md` | |
86
+ | `./uni/[[:alpha:]].md` | `uni/a.md`, `uni/É.md`, `uni/é.md`, `uni/٣.md`, `uni/中.md` | |
87
+ | `./uni/[[:alnum:]].md` | `uni/1.md`, `uni/a.md`, `uni/É.md`, `uni/é.md`, `uni/٣.md`, `uni/中.md` | |
88
+ | `./uni/[[:lower:]].md` | `uni/a.md`, `uni/é.md` | |
89
+ | `./uni/[[:upper:]].md` | `uni/É.md` | |
90
+ | `./uni/[[:digit:]].md` | `uni/1.md` | |
91
+ | `./uni/[[:punct:]].md` | `uni/¡.md` | |
92
+ | `./uni/[[:word:]].md` | `uni/1.md`, `uni/a.md`, `uni/É.md`, `uni/é.md`, `uni/٣.md`, `uni/中.md` | |
93
+ | `./uni/[![:alpha:]].md` | `uni/1.md`, `uni/¡.md` | |
79
94
  | `./[d/x]ocs/api.md` | none | |
80
95
  | `./docs[/]api.md` | none | |
81
96
  | `./[!/]*/api.md` | none | |
@@ -106,9 +121,11 @@ A test runs every row against dirsql as a path-table and, with the leading
106
121
  | `./docs/*/../api.md` | `docs/nested/../api.md` | |
107
122
  | `./docs` | `docs/api.md`, `docs/guide.md` | directory-name |
108
123
  | `./docs/` | `docs/api.md`, `docs/guide.md` | directory-name |
109
- | `./*/` | `docs/api.md`, `docs/guide.md`, `linkdir/r.md`, `real/r.md` | directory-name |
124
+ | `./*/` | `docs/api.md`, `docs/guide.md`, `linkdir/r.md`, `real/r.md`, `uni/1.md`, `uni/a.md`, `uni/¡.md`, `uni/É.md`, `uni/é.md`, `uni/٣.md`, `uni/中.md` | directory-name |
110
125
  | `./d*` | none | files-only |
111
126
  | `./*.log` | none | gitignore |
127
+ | `./ignored.log` | `ignored.log` | |
128
+ | `./{ignored,x}.log` | `ignored.log` | |
112
129
  | `./**/*.js` | `node_modules/pkg/index.js` | |
113
130
  | `./node_modules/*/index.js` | `node_modules/pkg/index.js` | |
114
131
  | `./docs/**/*.md` | `docs/api.md`, `docs/guide.md`, `docs/nested/deep.md` | |
@@ -121,7 +138,7 @@ A test runs every row against dirsql as a path-table and, with the leading
121
138
 
122
139
  | Tag | Rule | Why |
123
140
  | --- | --- | --- |
124
- | `gitignore` | Inside a git repo, `.gitignore` files hide matching files and directories. `--no-ignore` turns it off. | A query over a repo should not drown in build output. |
141
+ | `gitignore` | Inside a git repo, `.gitignore` files hide files and directories a wildcard matches, never one the pattern spells out. `--no-ignore` turns it off. | A query over a repo should not drown in build output. |
125
142
  | `directory-name` | A pattern's last component that names a directory lists the files directly inside it, like `ls docs`. A trailing `/` is `*` appended. | A table is rows of files, and `ls` is the shell habit. |
126
143
  | `files-only` | A pattern that matches a directory but no file returns nothing. | Every row is a file. |
127
144
  | `absolute` | `/`, `~/` and `../` patterns report absolute `path` values, with `..` folded out textually. | The scanned root is derived from the pattern, so there is no relative base. |
@@ -144,6 +161,9 @@ stderr; the exit code is unchanged. Path-tables never warn.
144
161
  `{a..c}` expand, as do zero-padded
145
162
  `{01..10}` and stepped `{1..10..2}` ranges. Groups nest.
146
163
  - `\[` is a literal bracket.
164
+ - POSIX classes (`[[:alpha:]]`) match Unicode characters, as bash does in a UTF-8
165
+ locale: `[[:alpha:]]` matches `é` and `中`. `[[:digit:]]`, `[[:xdigit:]]` and
166
+ `[[:ascii:]]` stay ASCII.
147
167
  - A dot-named file or directory is listed only where a component spells the
148
168
  dot at that depth: `./**/.*` finds `docs/.draft.md` but does not enter
149
169
  `.config/`.
@@ -262,6 +262,9 @@ directory, deeper files override shallower ones, `!pattern` re-includes, and
262
262
  an ignored directory is pruned rather than walked. In a typical repo this
263
263
  excludes build output, virtualenvs, and caches with zero ceremony.
264
264
 
265
+ A `.gitignore` never hides a path the pattern spells out: `'./debug.log'` lists
266
+ that file even when `*.log` is ignored, while `'./*.log'` does not.
267
+
265
268
  A `.gitignore` is in force only when a directory holding `.git` encloses it.
266
269
  Outside a repo none applies, at the scan's start, above it or below it: a
267
270
  `~/.claude` whose `.gitignore` is `*` still lists its files when `~/.claude`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dirsql",
3
- "version": "0.4.104",
3
+ "version": "0.4.106",
4
4
  "description": "Ephemeral SQL index over a local directory",
5
5
  "license": "MIT",
6
6
  "repository": "https://github.com/thekevinscott/dirsql",
@@ -221,10 +221,10 @@
221
221
  ]
222
222
  },
223
223
  "optionalDependencies": {
224
- "@dirsql/lib-linux-x64-gnu": "0.4.104",
225
- "@dirsql/lib-linux-arm64-gnu": "0.4.104",
226
- "@dirsql/lib-darwin-x64": "0.4.104",
227
- "@dirsql/lib-darwin-arm64": "0.4.104",
228
- "@dirsql/lib-win32-x64-msvc": "0.4.104"
224
+ "@dirsql/lib-linux-x64-gnu": "0.4.106",
225
+ "@dirsql/lib-linux-arm64-gnu": "0.4.106",
226
+ "@dirsql/lib-darwin-x64": "0.4.106",
227
+ "@dirsql/lib-darwin-arm64": "0.4.106",
228
+ "@dirsql/lib-win32-x64-msvc": "0.4.106"
229
229
  }
230
230
  }