Project

General

Profile

Actions

Task #133

closed

Dynamic module installation on FE

Added by Vít Švanda over 7 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Vít Švanda
Category:
Modularity
Target version:
Start date:
09/05/2016
Due date:
% Done:

100%

Estimated time:
112.00 h
Owner:

Description

Possible ways:
  • New npm module will be added to package.json and gulp script will be run.
  • Implement requireJs (not working with browserify).
  • Implement isomorfic server.
Actions #1

Updated by Vít Švanda over 7 years ago

  • Estimated time set to 112.00 h
Actions #2

Updated by Radek Tomiška over 7 years ago

  • Description updated (diff)
Actions #4

Updated by Vít Švanda over 7 years ago

I tried implement browserify-hrm (Hot-Reload-Module).
- It worked fine for hot reaload source during develpoing. HRM publich websocket server, this server is use for propagate code changes to browser. Reload browser after source are change is not neseccary.
- It is difficult use it for add whole npm module.
- Browserify HRM is only in 0.3.1 version and is no longer developed. (Not good adept for production stage)

Actions #5

Updated by Vít Švanda over 7 years ago

This issue are completed:
  • Loading module descriptors through all node modules.
  • Create module assembler for all loaded modules.
  • Loading less
    • is not controlled via module descriptors
    • component used in core (their less) must be installed (this is not good)
Actions #6

Updated by Vít Švanda over 7 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 50
  • Gulp tasks works synchronously now (loadModules and createModuleAssembler)
  • Loading less - is controlled / defined in module descriptors
  • Loading routes and routes assembler generating is done.
Actions #7

Updated by Vít Švanda over 7 years ago

  • Default theme is loading from module by app config
Actions #8

Updated by Vít Švanda over 7 years ago

  • % Done changed from 50 to 80
After separate frontend to client module. I discovered a serious problem with npm dependency.
  • If core modules does not under client module (on file system), then core module not have dependency on react module.
  • I solved this problem. Node modules folder must be parent folder for all module (core, client, acc ...). I created symlink for easy work with this.
Next I discovered problem with style (less). When I want override some less variables (or include another less file ) in theme or module main.less, then this is not working.
  • I solved this problem, but I have to manualy (generate in gulp) add imports another less files to main app.less.
Actions #9

Updated by Vít Švanda over 7 years ago

  • % Done changed from 80 to 90
  • Created install documentation ... in README.md (frontend/).
  • Merge from master to frontend modularity branche
  • Merge to master
Actions #10

Updated by Vít Švanda over 7 years ago

Solving problem with inoperalbe Linter for submodules.
- I will have to create task for linter in gulp build file.

Actions #12

Updated by Vít Švanda over 7 years ago

  • Status changed from In Progress to Needs feedback
  • Assignee changed from Vít Švanda to Radek Tomiška

Radek please i need your feedback. This task is little duplicate with #131

Actions #13

Updated by Radek Tomiška over 7 years ago

  • Status changed from Needs feedback to Closed
  • Assignee changed from Radek Tomiška to Vít Švanda
  • % Done changed from 90 to 100

It work and code looks nice.

Actions

Also available in: Atom PDF