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:
        • Copy the whole infusion directory to use in the project
          • Note: As of Jan 14, 2019, in this option, the OpenSans font will not be successfully loaded. See: FLUID-6361 - Getting issue details... STATUS
        • Copy only the files needed for UIO