Managing UIO in a project

Managing UIO in a project

Desired qualities:

  • We can look at a project using UIO and know which version is being used

  • We can look at a project using UIO and know which build of infusion (i.e. which modules from a custom build have been included) is being used

  • Have a clear idea/instructions of how to update UIO in a project that is using it

Options:

  • Packaged ZIP file

  • Check out the project source code and use Grunt to make a custom build

    • Check out the appropriate revision of the Infusion source code

    • npm install

    • grunt custom --include="uiOptions"

    • The custom build will be written to the build directory, copy these files to the appropriate place

    • Would need to record the build command in a VERSION.md or similar file to identify how to rebuild the package when upgrading

  • Use the UIO build from the NPM package

    • Add a package.json file to the project, with a dependency on the appropriate version of Infusion

    • npm install

      • Will download Infusion and write to node_modules

    • Copy files from node_modules/infusion to the appropriate place

      • UIO: infusion/dist/infusion-uio.js

      • and/or infusion/dist/infusion-uio.min.js

      • Stylus built CSS: infusion/dist/assets

      • Two options here: