@tmcw/d12

0.0.1 • Public • Published


_ _ ____
__| / |___ \
/ _` | | __) |
| (_| | |/ __/
\__,_|_|_____|



d12 - dx spec implementation experiment

| this is an experiment that may or may not
| become a successor to documentation.js. i want to build
| a successor to documentation.js, because i think jsdoc's
| time has passed, the documentation.js approach is
| complex in certain irreducible ways, and that hosted documentation
| and dynamic documentation (autocomplete-based) should be
| solved.

the ideas so far are:

- let javascript itself define hierarchy and type
- prioritize runtime documentation access
- simplify, simplify, simply
- be opinionated when it helps us simplify
- host early


deal with later:

- documentation format. let's just get basic comments working first.


--------------------------------------------------------------------------------


_______
| ___ o|
|[_-_]_ |
______________ |[_____]|
|.------------.| |[_____]|
|| || |[====o]|
|| || |[_.--_]|
|| || |[_____]|
|| || | :|
||____________|| | :|
.==.|"" ...... |.==.| :|
|::| '-.________.-' |::|| :|
|''| (__________)-.|''||______:|
`""`_.............._\""`______
/:::::::::::'':::\`;'-.-. `\
/::=========.:.-::"\ \ \--\ \
\`""""""""""""""""`/ \ \__) \
jgs `""""""""""""""""` '========'


--------------------------------------------------------------------------------


how it works so far:

1. uses rollup to start with an entry point and
traverse dependencies

2. uses a transform to associate comments with objects
in an exported map

3. traverses the exported surface of the module to
produce static documentation


--------------------------------------------------------------------------------


speculative future:

- proposal-import-meta may provide a way forward
to standardize the way that this information is
passed around

- runtime access ideally relies on a runtime
transformation, which is tbd


--------------------------------------------------------------------------------


non-goals:

- i don't think that i want to support babel
anymore. it was fun for a while, but the infinite
configurations weigh heavily one me, and on
node_modules. i want something with near-zero
configuration that can be shared by as many people as
possible.


--------------------------------------------------------------------------------


harsh requirements:

- on the topic of building for the future, i'm building for the future. that
means that 'legacy' module formats - including much-loved commonjs -
are not particularly well-supported. my expectation is that you set up your
modules such that they're consumable to MICROBUNDLE, with the following
crucial stipulation:

> the 'source' field of package.json is a entry point into the raw source
> of the module, in es6 format, using only stable features and stage 4 (finalized)
> javascript features.

Readme

Keywords

none

Package Sidebar

Install

npm i @tmcw/d12

Weekly Downloads

0

Version

0.0.1

License

MIT

Unpacked Size

113 kB

Total Files

17

Last publish

Collaborators

  • tmcw