|
1 | 1 | # TODO |
2 | 2 |
|
3 | | -1. switch to `eslint` as main JS linter |
4 | | - |
5 | | - - add to CI |
6 | | - - support reformatting ala `go fmt` => `--fix` |
| 3 | +1. consider automatic formatting support ala `go fmt` => `eslint --fix` |
7 | 4 |
|
8 | 5 | 1. add NPM style [guide](https://github.com/voorhoede/npm-style-guide) with [versioning info](https://github.com/compute-io/contributing#versioning) |
9 | 6 |
|
|
31 | 28 | - typed-array |
32 | 29 | - ... |
33 | 30 |
|
34 | | -1. how to handle modules with CLIs? |
35 | | - |
36 | | - - will want some sort of CLI test framework to test `stdin`, `stdout`, args, etc. |
| 31 | +1. add unit tests for all pkg CLIs |
37 | 32 |
|
38 | 33 | 1. how to handle browser tests for non-browser fcns |
39 | 34 |
|
40 | 35 | - e.g., `fs` functions like `fs/exists`, or `cwd` |
| 36 | + - one option is to simply skip tests (which is most likely appropriate for most cases) |
| 37 | + - another option is to use a virtual fs backend in which, to a user, fs commands "behave" just like in Node (which is appropriate for other contexts; e.g., a browser REPL with a virtual filesystem) |
41 | 38 |
|
42 | 39 | 1. migrate JSDoc; use one of |
43 | 40 |
|
|
79 | 76 |
|
80 | 77 | 1. See [tinycolor](https://github.com/bgrins/TinyColor/blob/master/tinycolor.js) |
81 | 78 |
|
82 | | -1. lint filenames |
83 | | - |
84 | | - - [eslint plugin](https://github.com/selaux/eslint-plugin-filenames) |
85 | | - |
86 | 79 | 1. consider changing `isNumber` to `isNumeric` |
87 | 80 |
|
88 | 81 | 1. prngs |
|
150 | 143 |
|
151 | 144 | 1. `type-of` should check for `toStringTag` support |
152 | 145 |
|
153 | | -1. update `utils/tools` |
154 | | - |
155 | 146 | 1. generic `is-finite` util should include note about how differs from global `isFinite` |
156 | 147 |
|
157 | 148 | 1. create better examples for constants |
|
181 | 172 |
|
182 | 173 | 1. `Makefile` does not list top-level `examples`; is this intentional? |
183 | 174 |
|
184 | | -1. move test fixture runners into sub-directories based on language |
185 | | - |
186 | | - - e.g., `./fixtures/julia/*` |
187 | | - |
188 | 175 | 1. add Saucelabs with zuul (?) |
189 | 176 |
|
190 | 177 | 1. [gh-pages](https://github.com/tschaub/gh-pages) |
|
230 | 217 | - given a Markdown file, create a list of two things: the unique citation identifiers used throughout the text and any citations included in the `links` section |
231 | 218 | - ignore internal links to other Markdown sections |
232 | 219 | - if an id is found in bib docs, use that reference |
233 | | - - will want canonical way to reference project modules, which may be tricky, as modules may move, etc; this is important for automating "see also" type sections |
234 | 220 | - otherwise, leave the existing ref as is |
235 | | - - as part of this, should be able to lint (although `remark` does this already) |
| 221 | + - as part of this, should be able to lint |
236 | 222 | - once finished, save to disk |
237 | 223 | - does require a separate build step, but can be automated `pre-push` or via `watch` |
238 | 224 | - how would we distinguish (in markup) between just wanting a link and wanting a full-blown reference citation? => maybe if within a `references` section, similar to `links` |
|
305 | 291 |
|
306 | 292 | 1. consider using things like [shellcheck](https://github.com/koalaman/shellcheck) for linting files other than JavaScript |
307 | 293 |
|
308 | | - - markdown linting |
309 | | - |
310 | 294 | - [alex](https://github.com/wooorm/alex) |
311 | | - |
312 | 295 | - [retext-readability](https://github.com/wooorm/retext-readability) |
313 | | - |
314 | | - - [standard-markdown](https://github.com/zeke/standard-markdown) |
315 | | - |
316 | | - - [retext-lint-code](https://github.com/Qard/remark-lint-code) |
317 | | - |
318 | | - - uses eslint |
319 | | - |
320 | | - - js code in markdown linting |
321 | | - |
322 | 296 | - [css linting](https://github.com/stylelint/stylelint) and [stylefmt](https://github.com/morishitter/stylefmt) |
323 | | - |
324 | 297 | - [list](https://github.com/SalGnt/cscs) of style guidelines |
325 | | - |
326 | | - - Pep8 for Python, [pycodestyle](https://github.com/PyCQA/pycodestyle), and see [autopep8](https://github.com/hhatto/autopep8) for automatic formatting |
| 298 | + - see [autopep8](https://github.com/hhatto/autopep8) for automatic formatting |
327 | 299 |
|
328 | 300 | 1. on src doc build for `gh-pages`, also do the same for `develop`; e.g., `/docs/src/develop`, which could map to `http://a.b.c/docs/src/develop` |
329 | 301 |
|
|
411 | 383 | - have a script which mines the individual `package.json` engine fields and determines, in aggregate, the supported engine range for all pkgs and assign as the engine range for the "aggregate" |
412 | 384 | - can also lint (search pkg deps, check engine field, and see if compatible) |
413 | 385 |
|
414 | | -1. consider adding a license prefix to each file |
415 | | - |
416 | | - - [julia](https://github.com/JuliaLang/julia/blob/master/contrib/add_license_to_files.jl) |
417 | | - - [license-check](https://github.com/magemello/license-check) |
418 | | - |
419 | 386 | 1. intro how-tos |
420 | 387 |
|
421 | 388 | - [gifs](https://github.com/chjj/ttystudio) |
|
426 | 393 |
|
427 | 394 | 1. investigate [xonsh](https://github.com/scopatz/xonsh) |
428 | 395 |
|
| 396 | +1. investigate async but [awaitful](https://github.com/ramitos/apr) |
| 397 | + |
429 | 398 | 1. `list-modules` Makefile recipe |
430 | 399 |
|
431 | 400 | - can be used in conjunction with dep analysis to see which modules are **not** required by a file, etc; e.g., which modules are not included in a namespace. |
432 | 401 |
|
433 | | -1. investigate async but [awaitful](https://github.com/ramitos/apr) |
434 | | - |
435 | | -1. `list-required-modules` Makefile recipe |
| 402 | +1. `list-required-modules` (name?) Makefile recipe |
436 | 403 |
|
437 | 404 | - should analyze `require` graph (ala `browserify`) to determine dependencies |
438 | 405 | - should work for a single file or a directory |
439 | 406 | - for directory, may want to dedupe (flat array), a tree result which states which modules require which modules (similar to a node dependency graph), or, for every found module, the deps for that module (array of arrays) |
440 | 407 | - see automation/package.json item below |
| 408 | + - a tree representation could be useful as would allow metrics such as tree "depth", in which we can identify files/modules/pkgs with "deep" trees |
441 | 409 |
|
442 | 410 | 1. investigate [npm-publish-please](https://github.com/inikulin/publish-please) and `np` (Sindre) |
443 | 411 |
|
|
494 | 462 | - can use `simple-http-server` (or even `disposable-http-server`) |
495 | 463 | - [packify](https://github.com/maxogden/packify) |
496 | 464 | - option to stream to multiple browsers (tabs) in parallel (akin to parallel builds) |
| 465 | + - would also be nice to have editor support (e.g., keyboard shortcut to run current file in a browser) |
497 | 466 |
|
498 | 467 | 1. build step which runs examples in browsers and catches any errors |
499 | 468 |
|
|
687 | 656 |
|
688 | 657 | 1. Add Markdown style guide, including notes about comment annotations, equations, etc. |
689 | 658 |
|
690 | | -1. Add note about ES201. features in JS style guide |
| 659 | +1. Add note about ES2015 features in JS style guide |
691 | 660 |
|
692 | 661 | - Backward compatibility is important |
693 | 662 | - Only use if can polyfill |
|
702 | 671 | - go |
703 | 672 | - r |
704 | 673 |
|
705 | | -1. Add type specs to `@stdlib/` folder |
706 | | -
|
707 | | - - `abstract-ndarray` |
708 | | - - `abstract-complex` |
709 | | - - etc. |
710 | | -
|
711 | | -1. Add [git hooks](https://cbednarski.com/articles/makefiles-for-everyone/) to Makefile |
712 | | -
|
713 | | - - will prob want a way to undo setting of hooks (i.e., a reset) |
714 | | - - [intro to git hooks](https://www.sitepoint.com/introduction-git-hooks/) |
715 | | - - [git pre-push](http://blog.ittybittyapps.com/blog/2013/09/03/git-pre-push/) |
716 | | -
|
717 | 674 | 1. [mkdirp](https://github.com/sindresorhus/make-dir/blob/master/index.js) |
718 | 675 |
|
719 | 676 | 1. C/C++ linting |
|
777 | 734 |
|
778 | 735 | 1. check that JSDoc annotations include `@throws` |
779 | 736 |
|
780 | | -1. include READMEs in namespace dirs |
781 | | -
|
782 | 737 | 1. need a convention for defining README examples which are for illustration purposes only and not meant to be run |
783 | 738 |
|
784 | 739 | - e.g., an example which is path dependent and cannot be known ahead of time, as it depends on user environment, etc. |
785 | 740 |
|
786 | | -1. proposal: add `stdlib` field to `package.json` |
| 741 | +1. add `__stdlib__` field to `package.json` |
787 | 742 |
|
788 | 743 | - allowing setting whether a module is browser-only, nodejs-only, etc and whether a module is suitable for a REPL context, etc. |
789 | 744 |
|
|
795 | 750 |
|
796 | 751 | 1. investigate [starscope](https://github.com/eapache/starscope) |
797 | 752 |
|
798 | | -1. review |
799 | | -
|
800 | | - - [ ] crypto |
801 | | - - [x] datasets (~bib) |
802 | | - - [x] fs |
803 | | - - [x] math/base/blas |
804 | | - - [ ] math/base/dist |
805 | | - - [x] random/base |
806 | | - - [ ] math/base/special |
807 | | - - [ ] math/base/tools |
808 | | - - [ ] math/base/utils |
809 | | - - [x] math/constants |
810 | | - - [ ] math/statistics |
811 | | - - [ ] math/utils |
812 | | - - [ ] ml |
813 | | - - [ ] namespace |
814 | | - - [x] net |
815 | | - - [ ] plot |
816 | | - - [x] regexp |
817 | | - - [x] repl |
818 | | - - [ ] streams (~) |
819 | | - - [ ] string (~) |
820 | | - - [ ] tools (~) |
821 | | - - [ ] utils |
822 | | -
|
823 | 753 | 1. profiling |
824 | 754 |
|
825 | 755 | - [v8-profiler](https://github.com/node-inspector/v8-profiler) |
|
1016 | 946 |
|
1017 | 947 | 1. [Sieve of Eratosthenes](http://www.mahabal.io/eras) |
1018 | 948 |
|
1019 | | -1. files containing `new Buffer` should `var Buffer = require( 'buffer' ).Buffer`. Note that this will prob require overruling a lint rule against redefining globals. |
1020 | | -
|
1021 | 949 | 1. See [casual](https://github.com/boo1ean/casual) for dataset inspiration |
1022 | 950 |
|
1023 | 951 | 1. GitHub issues [Gantt diagrams](https://github.com/neyric/gh-issues-gantt) |
|
1173 | 1101 |
|
1174 | 1102 | 1. dependency docs (static site; use simple server) |
1175 | 1103 |
|
1176 | | -1. mk recipe to read a dep readme and launch in an electron window/browser |
| 1104 | +1. make recipe to read a dep readme and launch in an electron window/browser |
1177 | 1105 |
|
1178 | 1106 | 1. nlp levi dist (see also [damlev](https://github.com/WatchBeam/damlev) and [leven](https://github.com/sindresorhus/leven/blob/master/index.js)) |
1179 | 1107 |
|
|
1525 | 1453 |
|
1526 | 1454 | 1. simple server |
1527 | 1455 |
|
1528 | | -1. abstract-ndarray |
| 1456 | +1. ndarray |
1529 | 1457 |
|
1530 | 1458 | 1. terminal sparklines |
1531 | 1459 |
|
|
1669 | 1597 | - should support option to return data of a specified type; e.g., `float32`, etc. |
1670 | 1598 | - returned value should be compliant with `abstract-ndarray` |
1671 | 1599 |
|
1672 | | -1. remainder (c) and rem |
| 1600 | +1. remainder (see c) and rem |
1673 | 1601 |
|
1674 | 1602 | 1. equivalents to various low-level [Julia](http://docs.julialang.org/en/release-0.5/stdlib/math/?highlight=maximum#Base.mod2pi) funcs |
1675 | 1603 |
|
@@ -1995,103 +1923,3 @@ Will need a `tools` directory in individual repositories to |
1995 | 1923 | - [insert-module-globals](https://github.com/substack/insert-module-globals/pull/48) |
1996 | 1924 | - [TC39](https://github.com/tc39/proposal-global) |
1997 | 1925 | - [symstem.global](https://github.com/ljharb/System.global) |
1998 | | -
|
1999 | | -* * * |
2000 | | -
|
2001 | | -## Project Structure |
2002 | | -
|
2003 | | -> Sample project structure. |
2004 | | -
|
2005 | | -|-stdlib |
2006 | | -|---lib |
2007 | | -|-----assert |
2008 | | -|-------is-array-like |
2009 | | -|-------is-function |
2010 | | -|-----datasets |
2011 | | -|-------anscombes-quartet |
2012 | | -|-----math |
2013 | | -|-------base |
2014 | | -|---------assert |
2015 | | -|-----------is-even |
2016 | | -|-----------is-integer |
2017 | | -|-----------is-number |
2018 | | -|-----------is-odd |
2019 | | -|---------blas |
2020 | | -|-----------scal |
2021 | | -|---------complex |
2022 | | -|-----------acos |
2023 | | -|-----------sin |
2024 | | -|---------dist |
2025 | | -|-----------norm |
2026 | | -|-------------cdf |
2027 | | -|-------------pdf |
2028 | | -|-----------poisson |
2029 | | -|---------random |
2030 | | -|-----------lcg |
2031 | | -|---------special |
2032 | | -|-----------erf |
2033 | | -|-----------erfc |
2034 | | -|-----------sin |
2035 | | -|---------tools |
2036 | | -|-----------evalpoly |
2037 | | -|-----------evalrational |
2038 | | -|---------utils |
2039 | | -|-----------float32-to-word |
2040 | | -|-----------float64-from-words |
2041 | | -|-----------float64-to-words |
2042 | | -|-------constants |
2043 | | -|---------e |
2044 | | -|---------pi |
2045 | | -|---------two-pi |
2046 | | -|-------fast |
2047 | | -|---------special |
2048 | | -|-----------cos |
2049 | | -|-----------sin |
2050 | | -|-------core |
2051 | | -|---------add |
2052 | | -|---------mult |
2053 | | -|---------subtract |
2054 | | -|---------sum |
2055 | | -|-------dist |
2056 | | -|---------normal |
2057 | | -|---------poisson |
2058 | | -|-------linalg |
2059 | | -|-------random |
2060 | | -|---------lcg |
2061 | | -|-------special |
2062 | | -|---------erf |
2063 | | -|---------erfc |
2064 | | -|-------statistics |
2065 | | -|---------mean |
2066 | | -|---------stdev |
2067 | | -|---------variance |
2068 | | -|-----namespace |
2069 | | -|-----regexp |
2070 | | -|-------eol |
2071 | | -|-------regexp |
2072 | | -|-----repl |
2073 | | -|-----streams |
2074 | | -|-------math |
2075 | | -|---------mean |
2076 | | -|---------stdev |
2077 | | -|-------utils |
2078 | | -|---------split |
2079 | | -|---------join |
2080 | | -|-----string |
2081 | | -|-------left-pad |
2082 | | -|-------pad |
2083 | | -|-------repeat |
2084 | | -|-------right-pad |
2085 | | -|-----tools |
2086 | | -|-----types |
2087 | | -|-------array |
2088 | | -|-------complex |
2089 | | -|-------dataframe |
2090 | | -|-------matrix |
2091 | | -|-------ndarray |
2092 | | -|-----utils |
2093 | | -|-------copy |
2094 | | -|-------deep-get |
2095 | | -|-------deep-set |
2096 | | -|-------merge |
2097 | | -|-------pluck |
0 commit comments