TODO list

Truss — like any project — always presents a path for improvement. This is a dynamically generated list of TODO items, each with context.



  # #### Invoke hook `trussDoxSourceList`.
  sourceFiles = _.flatten pkgman.invokeFlat 'trussDoxSourceList'

TODO: Worth to generalize this?

  positive = sourceFiles.filter (f) -> f.charCodeAt(0) isnt '!'.charCodeAt(0)
  negative = sourceFiles.filter (f) -> f.charCodeAt(0) is '!'.charCodeAt(0)
  negative = negative.map (f) -> f.substr 1

the above found in packages/truss-dox/dynamic/index.coffee:25


    lineStream

processorsPromise = sourceStreamsPromise.then (streams) ->

TODO: This should be dynamic/hook-based

  SourcesToMarkdown = require './processor/sources/to-markdown'

  DoxPageTodos = require './processor/page/todos'

the above found in packages/truss-dox/dynamic/index.coffee:47



    promises = for hook in hooks
      do (hook) -> new Promise (resolve, reject) ->

TODO: Dynamic hook locations.

        fs.readFile "packages/truss-dox/docs/hook/#{
          hook
        }.md", (error, output) ->

the above found in packages/truss-dox/dynamic/processor/page/hooks.coffee:34


_ = require 'lodash'

DoxPage = require '.'

TODO: I think this should be done centrally, using an interface on each processor

module.exports = class DoxPageMkdocs extends DoxPage

  # Build the source hierarchy.

the above found in packages/truss-dox/dynamic/processor/page/mkdocs.coffee:11


    output: ->

      outputs = for todo in @todos()

TODO: Dynamic...

        highlight = if @stream.file.match /\.(?:lit)?coffee$/
           'coffeescript'
        else if @stream.file.match /\.js$/

the above found in packages/truss-dox/dynamic/processor/page/todos.coffee:46



# Resolve the module name.
_resolveModuleName = (name, parentFilename) ->

TODO: NODE_PATH implementation.

  # Strip `/index` from the end, if necessary.
  checkModuleName = (name) ->
    return name if _requires[name]?

the above found in packages/truss-frontend/client/require.coffee:7