Commit Graph

890 Commits

Author SHA1 Message Date
Bruno Miiller
60bad0fcd3 Keep CI test stage focused: drop build step
The Lint → Test → Security pattern keeps each stage to a single concern.
`npm run build` belonged to test only to publish a PR-preview artifact;
release.yml already handles production builds, and developers can run
`npm run build` locally. Removing it from the test stage:

- aligns with code-standards/ci/pipeline-structure.md
- shaves ~70s off PR CI time
- removes the "dist" artifact upload (coverage upload stays)
2026-05-19 23:09:27 -03:00
Bruno Miiller
46f86c0091 Tighten CI: coverage ratchet at 8% and ignore build artifacts
- package.json: test:coverage adds --check-coverage --lines=8 (current
  baseline is 8.32%; floor only goes up)
- biome.json: ignore *.main.js webpack chunks, coverage/, node_modules/
- docs/CONTRIBUTING.md: document ratchet policy and long-term 70% target
2026-05-19 23:07:36 -03:00
Bruno Miiller
af79356e58 Apply biome format and lint fixes
- pro/src/account.ts: cast parens (}) as T; biome-ignore on intentional
  unreachable code after fake-license shortcut
- pro/src/fsGoogleDrive.ts: let → const; missing semicolon; == → ===
  (mimeType comparison and parent lookup)
- src/misc.ts: line break on long b.buffer.slice() chain
2026-05-19 23:07:36 -03:00
Bruno Miiller
6a6f192942 Make build pass on Node 24 and reduce npm audit surface
Build fixes:
- tsconfig.json: moduleResolution "node" → "bundler" (resolves node-diff3
  v3.2.0 exports-only package); add "es2021" to lib for AggregateError
- webpack.config.js: NormalModuleReplacementPlugin to strip "node:" URI
  prefix so resolve.fallback browserify shims apply
- Remove "aggregate-error" import in src/main.ts, src/fsS3.ts,
  pro/src/sync.ts — use native global AggregateError (Node 15+, Electron
  98+, both satisfied by Obsidian runtime)
- .gitignore: ignore *.main.js webpack chunks

Audit reduction (22 → 4 low):
- Remove npm-check-updates devDep (use `npx ncu` ad-hoc) — kills 15 vulns
  from transitive cacache/sigstore/tar/pacote chain
- Pin to versions ≥ 30 days old (supply-chain hygiene): @types/node 24.12.2,
  c8 11.0.0, mocha 11.7.5, esbuild 0.28.0, crypto-browserify 3.12.1
- package.json overrides: elliptic@6.6.1, diff@9.0.0,
  serialize-javascript@7.0.5 to push transitive fixes
- Remaining 4 lows are all elliptic (advisory marks all versions
  vulnerable; no upstream fix available)
2026-05-19 22:57:29 -03:00
A
87059c37a0 replace bigint with number 2026-05-19 22:12:40 -03:00
A
c96de5ccbc fix esbuild and typing issues 2026-05-19 22:12:40 -03:00
Bruno Miiller
f92bcd630d Add full CI pipeline (Lint → Test → Security)
- ci.yml: 3-stage GitHub Actions following code-standards/ci pattern
  - Lint (3min): biome ci
  - Test (10min): npm test with c8 coverage + webpack build + artifacts
  - Security (5min): npm audit (high) + biome lint
- Replace auto-build.yml (single-job install+test+build)
- Add c8 devDep + test:coverage script (text/lcov/html)
- .c8rc.json: include src/ and pro/src/, exclude tests/langs
- Track package-lock.json (required by npm ci in CI)
- Clean up .gitignore: remove .* allowlist antipattern, list specific ignores
2026-05-19 22:12:33 -03:00
Bruno Miiller
48b4f7e19c Add docs/ARCHITECTURE, CONTRIBUTING and DEVELOPMENT
- ARCHITECTURE.md: high-level view of FakeFs abstraction, sync flow, state
- DEVELOPMENT.md: mise setup + npm commands + local install
- CONTRIBUTING.md: workflow, English commit conventions, upstream PR cherry-pick
2026-05-19 22:10:31 -03:00
Bruno Miiller
9dde1bcdc8 Add mise.toml and pin Node LTS
- mise.toml with node = "24.15.0" (current LTS)
- package.json: packageManager = "npm@11.12.1", engines.node >= 24.15.0
2026-05-19 22:10:31 -03:00
adrian-fuertes
34db181af0
fix typos in sync messages and comments (startting -> starting) (#876)
Some checks failed
BuildCI / build (20.x) (push) Failing after 5m56s
2024-11-10 18:16:22 +08:00
Liam Swayne
6631a9c5eb
typo fixes (#870) 2024-11-10 18:14:16 +08:00
fyears
e39edcea70 bump to 0.5.25
Some checks failed
Release A New Version / build (20.x) (push) Failing after 46s
2024-10-20 17:12:42 +08:00
fyears
9ac7ecf828 fix undefined 2024-10-20 16:58:22 +08:00
fyears
50c08400ff add more prefix 2024-10-20 16:42:47 +08:00
fyears
7bc2fad88b bump to 0.5.24
Some checks failed
Release A New Version / build (20.x) (push) Failing after 41s
2024-09-30 21:15:53 +08:00
fyears
6dc1c28361 add caddy 2024-09-30 21:15:23 +08:00
fyears
2220f511e3 fix webdav path with /.. leading 2024-09-30 20:51:55 +08:00
fyears
06de1a4ab0 bump to 0.5.23
Some checks failed
Release A New Version / build (20.x) (push) Failing after 47s
2024-09-30 18:11:43 +08:00
fyears
df184ff9d8 correct way to deal with .obsidian and bookmarks 2024-09-30 18:11:08 +08:00
fyears
f50ba953f1 fix ci
Some checks failed
Release A New Version / build (20.x) (push) Failing after 50s
2024-09-29 10:19:48 +08:00
fyears
55cb26bd22 bump to 0.5.22 2024-09-29 10:11:01 +08:00
fyears
36d3018efb fix ignore logic 2024-09-29 10:09:49 +08:00
fyears
421b43d937 update complex logic for config 2024-09-29 09:32:04 +08:00
xvqinghong
17708359a1
fix bug of unwished synchronizing Config Directory and Bookmarks File (#816)
In the original code, if we set syncConfigDir to false, which means we don't want to sync this directory, but it will also cause `if( syncConfigDir && isInsideObsFolder(key, configDir) )` statement NEVER be entered.  Thus, in the original code, our setting is actually be ignored.
2024-09-29 09:20:27 +08:00
fyears
9acae1b077 fix google drive expire 2024-09-29 08:59:14 +08:00
fyears
4ade975585 warn in console about expire 2024-09-29 08:58:57 +08:00
fyears
e988fc7ae9 update ci 2024-09-09 00:39:19 +08:00
fyears
5c56f2146f 0.5.21
Some checks failed
Release A New Version / build (20.x) (push) Failing after 41s
2024-09-09 00:13:09 +08:00
fyears
74125f8dff fix config dir special empty condiction 2024-09-09 00:12:38 +08:00
fyears
ace16de20c add complex logic to allow list and ignore list 2024-09-09 00:00:12 +08:00
fyears
716e5aa6c5 not detect chars in name for now 2024-09-07 15:26:19 +08:00
fyears
fcdbb71493 add star and download history 2024-09-01 18:53:19 +08:00
fyears
0040e18b49 fix link 2024-09-01 18:30:31 +08:00
fyears
b5d56843fd bump to 0.5.20
Some checks failed
Release A New Version / build (20.x) (push) Failing after 52s
2024-09-01 18:28:46 +08:00
fyears
b63b6791aa re-enable profiler 2024-09-01 18:28:08 +08:00
Matvey Romanov
2a3d1265b3
Update en.json (#794) 2024-09-01 17:34:46 +08:00
fyears
245d529821 bump to 0.5.19
Some checks failed
Release A New Version / build (20.x) (push) Failing after 43s
2024-09-01 17:29:48 +08:00
fyears
74e5231861 not transfer data to worker for safety 2024-09-01 17:26:32 +08:00
fyears
ac9c2a9248 mini support to ctimeCli 2024-09-01 17:17:08 +08:00
fyears
b2dea5a351 add allow list mode 2024-09-01 16:48:35 +08:00
fyears
e9b9cd97ac check if folder/file name is valid 2024-09-01 16:15:42 +08:00
fyears
fccebb0594 fix error notice 2024-09-01 16:15:17 +08:00
fyears
dda304c857 add cn for readme 2024-08-04 00:25:21 +08:00
fyears
c0aec40bcc bump to 0.5.18
Some checks failed
Release A New Version / build (20.x) (push) Failing after 51s
2024-07-29 22:19:02 +08:00
fyears
fb2f4ef46f fix checking 2024-07-29 22:18:33 +08:00
fyears
52f3e6a265 bump to 0.5.17
Some checks failed
Release A New Version / build (20.x) (push) Failing after 41s
2024-07-28 16:14:41 +08:00
fyears
b5099854af webdis add prefix in scan 2024-07-28 15:50:01 +08:00
fyears
d42b31cea2 update node ci
Some checks failed
Release A New Version / build (20.x) (push) Failing after 51s
2024-07-27 23:08:49 +08:00
fyears
69e0c77444 bump to 0.5.16 2024-07-27 22:58:36 +08:00
fyears
ee4394873b upgrade check connections 2024-07-27 22:58:05 +08:00