sandflow / imscJS

JavaScript library for rendering IMSC Text and Image Profile documents to HTML5
BSD 2-Clause "Simplified" License
84 stars 31 forks source link

Update timeBase values and establish project dependencies #231

Closed claylevering closed 2 years ago

claylevering commented 2 years ago

Hi team - this PR should be associated with #230 but it also includes a small amount of project baselines that should probably be included in the repo:

  1. timeBase updates:
    • Apparently the timeBase attribute should accept three values (media, smpte and clock)
    • Currently the library only supports media
  2. Project dependency updates:
    1. I've updated the NPM scripts to run the Grunt tasks. This ensures that the version of Grunt that is installed via package.json is the one executing the scripts (rather than a possible global install with potential version mismatch)
    2. I've established Node and NPM engine versions to help ensure reliable development
      • NOTE: Technically I would recommend using a version of NPM (8) that exceeds the standard version distributed with Node 12 (6). I have tested this and it works, but I did not upgrade the package-lock.json to version 8's format
    3. I've included a .nvmrc file to help fully establish Node versions
      • Please use / install either NVM or FNM (preferred - multiplatform) to leverage the .nvmrc file.
      • When installing dependencies from scratch, please use npm ci / npm clean-install to leverage package-lock.json (shrinkwrap)
    4. I've updated qunit to a modern version and added npm test script to execute at least one of the unit tests
claylevering commented 2 years ago

Relates to #230

claylevering commented 2 years ago

@nigelmegitt Would you still be interested in the package / project dependency changes / inclusions?

palemieux commented 2 years ago

@nigelmegitt Would you still be interested in the package / project dependency changes / inclusions?

Improvements to the build system are very much welcome. Could you start by filing issues that the PR is intended to address?