Skip to content

Split the codebase #378

@jzaefferer

Description

@jzaefferer

Up for discussion: Currently the QUnit code base is just a single js file (with companion css). That makes it possible to include QUnit as a submodule, from tag or latest, no need to build anything. It also makes maintenance kind of a pain, as we're now dealing with 2k+ LoC in a single file. Finding things isn't easy. A good bunch of code lends itself to be moved to separate modules, like QUnit.eqiv or QUnit.jsDump. That would make cleanup of the remaining pieces a lot easier.

When working on QUnit, we could use grunt watch to trigger a build for every change, similar how development on jQuery Core works.

As for usage of the QUnit "binary":

  • jQuery Core uses QUnit as a submodule: That could be replaced by npm install qunitjs and referencing node_modules/qunit/ directly or copying the files to whereever they're supposed to live. npm modules can contain "binaries", so whatever the build outputs can be published through npm, without commiting it to Git.
  • jQuery UI and jQuery Mobile include QUnit as copies in its externals folder. That is updated manually by copying over the files, so that shouldn't be a problem at all.

What else is there that we need to take into account?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions