[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