Skip to content

Latest commit

 

History

History
84 lines (68 loc) · 1.72 KB

ROADMAP.md

File metadata and controls

84 lines (68 loc) · 1.72 KB

Roadmap to v1.0.0

  • Supported usage

    • Atom
    • Sublime
    • CLI
    • Core (Node.js API)
  • Core

    • Standard Options & Languages
    • Add Option
      • Option has fields:
        • key (unique)
        • description
        • default
        • type
        • ...
    • Add Language
      • Language has fields:
        • name (unique)
        • namespace (unique)
        • extensions
        • options
    • Add Beautifier
      • Supported languages and options
      • Given ({ text, language, options, filePath, projectPath })
      • Beautifiers run in their own processes
        • Beautifier queue limiting number of simultaneous processes
    • Add Configurer
      • Configurer will obtain values for the options
  • CLI

  • Atom

    • Configurers
      • Atom Editor Settings
      • [ ]
    • External Beautifiers
      • Services (Consumer/Provider) API
  • Sublime

    • Use CLI

Models:

  • Options

  • Languages

    • name
    • namespace
    • extensions
    • atomGrammars (for Atom)
    • sublimeSyntax (for Sublime)
  • Beautifiers

    • hasMany Options
    • hasMany Languages
  • Can update Beautifier independently

  • Can update Language

Separate Options registry (centralized)

Separate Languages registry (centralized)

Separate Beautifiers (no registry, decentralized)

  • Peer/Atom dependencies:

Goal: NPM Global

npm install --global unibeautify
npm install --global beautifier-js-beautify
unibeautify --language JavaScript

Goal: Atom

apm install unibeautify
apm install beautifier-js-beautify