[ovirt-devel] Moving oVirt JavaScript application stack forward (short and long term)

Vojtech Szocs vszocs at redhat.com
Fri Nov 11 14:55:13 UTC 2016



----- Original Message -----
> From: "Vojtech Szocs" <vszocs at redhat.com>
> To: "devel" <devel at ovirt.org>
> Sent: Wednesday, November 9, 2016 8:49:39 PM
> Subject: [ovirt-devel] Moving oVirt JavaScript application stack forward (short and long term)
> 
> Hello,
> 
> regarding oVirt JavaScript applications (like Dashboard), we'd like
> to reach a point where we'll be using latest Node.js LTS runtime and
> lock down all dependency versions, resulting in reproducible builds.
> 
> Please note that both Node.js and all JS dependencies are needed only
> when building oVirt JavaScript applications & corresponding packages.
> 
> The near future items are following:
> 
> 1, patch ovirt-engine-{nodejs,nodejs-modules} to use Node.js v6 (LTS),
>    refer to https://github.com/nodejs/LTS for more details

Posted patch https://gerrit.ovirt.org/#/c/66471/

> 
> 2, patch ovirt-engine-nodejs-modules to use Node.js runtime provided
>    by ovirt-engine-nodejs - revive https://gerrit.ovirt.org/#/c/59898/
> 
> 3, lock down dependency versions in ovirt-engine-nodejs-modules
>    via npm-shrinkwrap - finalize https://gerrit.ovirt.org/#/c/61957/
> 
> From this point, we can proceed with long term items:
> 
> 4, consolidate dependencies across projects:
> 
>    4a, update react-patternfly:
>        - https://github.com/jtomasek/react-patternfly/
>        - add common PatternFly components (e.g. out of Dashboard)
> 
>    4b, update ovirt-ui-components:
>        - https://github.com/matobet/ovirt-ui-components/
>        - depend on react-patternfly
>        - add oVirt specific components (e.g. out of Dashboard)
> 
>    4c, update ovirt-engine-nodejs-modules:
>        - depend on ovirt-ui-components
> 
>    4d, update all oVirt JS projects, like Dashboard
>        - depend on ovirt-ui-components
> 
>    *all* oVirt JS projects should depend on ovirt-ui-components.
> 
>    react-patternfly exists separately to support non-oVirt cases.
> 
> 5, develop "showcase" webapp as part of react-patternfly repo to
>    ensure it's well-aligned with PatternFly look'n'feel
> 
>    - it would be nice to host the "showcase" webapp somewhere
> 
> 6, address common problems that arise from using npm-shrinkwrap
> 
>    - deterministic (predictable) dependency resolution
>    - checksum verification to ensure integrity of dependencies
>    - dependency de-duplication (avoid multiple versions)
> 
>    Yarn [1][2] addresses all problems mentioned above. It's still
>    in early development, so I'd wait a bit and see how it matures.
> 
>    Note: ManageIQ UI is already using Yarn [3].
> 
>    [1] https://code.facebook.com/posts/1840075619545360
>    [2] https://github.com/yarnpkg/yarn
>    [3] https://github.com/ManageIQ/manageiq-ui-service/pull/296/files
> 
> Feel free to share your thoughts or concerns.
> 
> Regards,
> Vojtech
> _______________________________________________
> Devel mailing list
> Devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/devel
> 



More information about the Devel mailing list