Skip to content

Publishing shacl-vue and its dependencies to npm ​

Relevant npm packages are:

RDF and form data handling functionalities underlying the core shacl-vue features are provided by the shacl-tulip library (like "shacl-vue-lib", but flowery), a core dependency of shacl-vue. It is completely independent of VueJS, yet class constructors allow passing reactive objects as arguments, which shacl-tulip handles seamlessly. It also focuses purely on library-level functionality and contains no frontend code.

For table import and export support, shacl-vue uses the FlatSON specification, for which flatson-js provides helper functionality.

Lastly, while the shacl-vue deployment steps above describe a git-repository-based process, it is also possible to use the shacl-vue package as a dependency in other VueJS projects. For that reason it is also published to npm.

Publishing any of these packages to npm requires:

  • A registered npm user
  • Maintainer privileges for that user to the relevant npm package
  • Acquiring a local clone of the package's source code repository
  • Updating the package source code, and in particular bumping the package major/minor version in the package.json file (e.g. here)
  • A local environment with nodejs installed
  • Running: npm publish from the local root directory of the git clone

Note that 2FA might be involved in the authentication step

If the published version of either shacl-tulip or flatson-js is changed, the dependency in shacl-vue also needs to be updated (e.g. here), which in turn will require a new commit to the shacl-vue repository and an updated version published to npm. This will in turn require projects using shacl-vue to pin the latest version, either by updating the submodule described in the git-repository-based process above or by accessing the latest shacl-vue package version from npm.