Partial ClojureScript Support TNS-35
Platform-neutral namespaces were converted to conditional-read
(.cljc) files: c.t.n.dependency, c.t.n.track, and
c.t.n.parse. These namespaces can be used in ClojureScript
programs.
Added support for finding, parsing, and analyzing
ClojureScript source files (.cljs and .cljc) in
c.t.n.file, c.t.n.parse, c.t.n.dir, and c.t.n.find with
optional "platform" arguments. These namespaces still only
run on the Clojure(JVM) platform.
Reloading and interactive features remain Clojure(JVM) only for now: c.t.n.move, c.t.n.reload, and c.t.n.repl
Uses tools.reader for platform-independent parsing and conditional-reader support.
Minimum Clojure version is 1.7.0
Breaking change: c.t.n.parse/read-ns-decl no longer returns
nil on syntax errors. Instead, exceptions are allowed to
propagate up from tools.reader. This change only affects code
which calls read-ns-decl directly. c.t.n.file and c.t.n.find
will catch and ignore reader exeptions when trying to read
namespace declarations.
Enhancement TNS-36: Use java.classpath for better JVM classpath resolution
Possible breaking change: parse/read-ns-decl does not capture reader errors
Some definitions deprecated; see source code or Var metadata for details.
Fix TNS-20: Undefined 'unload' order after namespaces are first added to an new, empty tracker.
Improvement TNS-21: Support ns clauses which use vectors
instead of lists for clauses, contrary to docs.
Improvement TNS-32: Support ns clauses which use symbols as
clause heads instead of keywords, contrary to docs.
Improvement TNS-31: Specific error message when :after symbol
passed to refresh cannot be resolved.
Fix TNS-26: namespace alias recovery after failed reload did not work due to local binding shadowing global Var
clojure.tools.namespace.parse/read-ns-decl asserts that its
argument is a PushbackReader, instead of silently returning nil
Fix TNS-22: broken clojure.string/replace with Windows path
separator
New clojure.tools.namespace.repl/clear empties the state of the
REPL dependency tracker. This can help repair the dependency
tracker after a failed load or a circular dependency error.
Enhancement TNS-19: deps-from-ns-decl should return an empty
set instead of nil. This may be a breaking change for some but
is consistent with the original docstring.
Enhancement TNS-18: Compute transitive dependencies in linear time.
Enhancement TNS-17: The ns form doesn't need to be the first
top-level form in a file.
Fix TNS-16: Don't depend on specific hash ordering in tests. Exposed by new hash functions in Clojure 1.6.0.
Fix TNS-15: Handle spaces in classpath directories (old
clojure.tools.namespace)
Fix TNS-12: Duplicate definition of jar-file?
Fix TNS-10: Forbid circular dependency when a namespace depends on itself
Fix TNS-8: In move-ns, do not modify files whose contents does
not change
New: Add :after option to refresh
New: Add clojure.tools.namespace.move
Fix TNS-4, reflection warnings
Fix: Restore deprecated 0.1.x APIs in clojure.tools.namespace
Fix TNS-3, actually use refresh-dirs
Not recommended for use: this release introduced breaking API changes (renaming core namespaces and functions) without backwards-compatibility. Applications with dependencies on both the 0.2.x and 0.1.x APIs cannot use this version.
New dependency tracking & reloading features
Eliminate dependency on java.classpath
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |