Skip to content

v0.2.1

Choose a tag to compare

@axiomcode-bot axiomcode-bot released this 27 Oct 17:18
· 13 commits to dev since this release
cea9119

Improvements

  • #1985 typescript: Deno projects resolve imports the way Deno does: the import map (imports, scopes, an importMap file), workspace members by name, jsr: packages at the version the lockfile pins, npm: packages from node_modules or Deno's npm cache, and https: modules as downloaded, following redirects and x-typescript-types. jsr: and URL modules are mirrored from Deno's cache, so an import lands on a real .ts file, and --library auto stages them as libraries deno
  • #1986 typescript: Deno resolution was checked import by import against deno info on six public Deno projects, and what didn't match now does: a redirect recorded only in deno.lock is followed, a URL with ^ in its path finds its cache entry, an npm: range the hoisted copy doesn't satisfy resolves into the matching node_modules/.deno copy, and a package typed by its types twin keeps the twin. --library auto says how many Deno imports resolve to nothing deno
  • #1934 perf: graph export copies only the columns the graph reads and builds only the indexes it uses. The bundle stage is 43 to 55% faster, and impact facts are ready up to 36% sooner on large Java repos. Answers are byte-identical build
  • #1965 perf: IR is staged with perl instead of BSD awk on macOS, axiomcode-index reads the IR with a line splitter, and a fresh graph skips a VACUUM it doesn't need. Together with #1934, a cold index is 16 to 21% faster on 2.7k-file Python and 4.6k and 8k-file Java repos (median of 4 runs each), with the same graphs and answers build
  • #1969 typescript: a plain JSX tag like
    gets an element row (it still has no call site) typescript

Bugs

  • #1968 python: a method handed over as a value (register(self.handle), map(obj.method, xs)) now reaches its target, where the call graph used to stop at the reference python
  • #1963 plugin: two installed axiomcode versions over one graph no longer rebuild it back and forth. The graph rebuilds once, the message says which version built it, and an orphaned engine writes nothing (8 rebuilds in 4 turns → 5) refresh
  • #1967 plugin: a literal or comment containing quotes was stored with its quotes doubled, so searching for it found nothing (958 such literals on a mid-size Java library → 0). A graph built by an older version rebuilds itself on the first query plugin
  • #1965 refresh: AXIOMCODE_REINDEX=1 said "graph up to date" whenever the files were unchanged; it now always rebuilds, as its messages promise refresh
  • typescript: a solution-style tsconfig whose references claim files outside their own directory (Nuxt 4's tsconfig.json pointing into .nuxt/) indexed almost nothing (2 of 30 files on a stock Nuxt 4 app). Each such config is now a program of its own typescript

Contributors

@swapnilpaliwal-sd @rongzhichen @wengthree1cm @JaredHLZhang @suyashpaliwal26 @Whua689