Problem/Motivation

The bundled rrule.js library is currently committed as raw vendor files in lib/rrule.js/. There is no lockfile or documented update process, so it is hard to tell which upstream release the files came from or how maintainers should update them.

Composer is not a great fit for this because the dependency is JavaScript, not PHP. Keeping JavaScript dependencies managed with npm gives maintainers a clearer update path without changing how site builders install the module.

Proposed resolution

Add npm tooling for project maintainers:

  • Add package.json and package-lock.json with rrule as a development dependency.
  • Copy the built rrule.js artifact into lib/rrule.js/ during npm install.
  • Keep the built file committed so Composer and drupal.org installs continue to work without Node.
  • Document the update workflow in CONTRIBUTING.md.
  • Add node_modules/ to .gitignore.

The intent is that npm is only used by maintainers when updating the bundled library. End users installing the module should see no change.

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

joelpittet created an issue.