Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-Architect loading tools into tC core #3927

Open
da1nerd opened this issue Feb 27, 2018 · 1 comment
Open

Re-Architect loading tools into tC core #3927

da1nerd opened this issue Feb 27, 2018 · 1 comment

Comments

@da1nerd
Copy link
Contributor

da1nerd commented Feb 27, 2018

Dependencies of tools created for tC core such as wordAlignment or translationWords are not being installed. The current tools only work by accident because tC core happens to use the same dependencies. We need to redesign how tools are loaded into the core so that tools don't crash if using other libraries.

There are two approaches which could be taken in steps for simplicity.

  1. add a script in package.json to install the tool dependencies. This would be fairly easy.
  2. Move the tools out of the core and load them from an external location on the file system.

The final step would provide additional benefits:

  1. Easy for developers to create and add new tools.
  2. Tools could be piped through webpack to entirely remove the concern for dependencies.
  3. Tools could be updated apart from the core.
@da1nerd da1nerd changed the title Re-architect Re-Architect loading tools into tC core Feb 27, 2018
@da1nerd da1nerd added the bug label Feb 27, 2018
@jag3773 jag3773 added Kind/Refactor and removed bug labels Mar 1, 2018
@benjore
Copy link

benjore commented Apr 12, 2018

  • Core (functions that EVERY tool requires, but no tool business logic)
  • Independent NPM modules
    • Business logic required by MULTIPLE tools or Core (each an NPM module)
      • Selections (M)
      • Word alignment helpers (L)
      • Tokenization
      • Word-map
      • USFM
      • tC tool
    • tC UI-ish toolkit (one NPM module) [initial setup] (L)
      • Scripture pane (L)
      • Scripture pain plugin - HOC (L)
      • Verse check (L)
      • Verse editor (M)
      • Menu (M)
      • translationHelps code (s)
      • Comment (M)
      • Bookmark (S)
      • Checkinfo card thingy (Smurf bar) (S)
    • Tool - Business logic not required by any other tool
      • tW (would need rewritten to use above components) (L)
      • tN tools (already need rewritten)
      • Alignment Tool (L)
  • One abstract interface in tC tool (needs architected/designed)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants