Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[2d] Delete legacy arfset.api.js and asm.js build targets (major version breaking change)

Open
#23 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
42/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Quiet
Tech stack
javascript, wasm, webpack

Research direction

Start by reading tools/makem.js around the compile_combine jobs and PRE_FLAGS, then compare example/example.html with the existing example_es6.html. Check issue 1b before removing jslibrary.js, and verify the remaining webpack UMD bundle still exposes window.ARFset. Done means the asm.js files and targets are gone, documentation and the major version are updated, and the ES6 example works.

Written by the indexing model from the issue text.

Description

Summary

Delete legacy js/arfset.api.js global-API file and drop asm.js build targets (major-version breaking change)

Environment

  • Product/Service: FeatureSET-Display — JavaScript API & build system
  • Files: js/arfset.api.js, js/jslibrary.js, tools/makem.js, example/example.html, build/arfset.min.js, build/arfset.debug.js

Problem Description

js/arfset.api.js is a legacy global-ARfset API tightly coupled to the asm.js outputs. It is injected via --pre-js into arfset.debug.js and arfset.min.js only (tools/makem.js:176). The wasm and ES6-wasm builds never include it. Modern browsers have full wasm support, making both the legacy API and the asm.js targets unnecessary. Only example/example.html currently consumes it; a working example_es6.html already exists as a drop-in replacement.

Expected Behavior

  • js/arfset.api.js is deleted.
  • js/jslibrary.js is deleted (once issue 1b removes writeFP/writeFS).
  • compile_combine and compile_combine_min jobs removed from tools/makem.js, along with PRE_FLAGS.
  • example/example.html migrated to the ES6 build (or replaced by example_es6.html).
  • build/arfset.min.js and build/arfset.debug.js deleted; no longer generated.
  • Legacy window.ARFset global still accessible via the existing webpack UMD bundle (dist/ARFset.js).
  • README documents the removal; version bumped to a new major version.

Actual Behavior

Legacy asm.js build targets and the arfset.api.js file are still generated and maintained, adding build complexity and a maintenance surface for outdated code.

Tasks

  • Delete js/arfset.api.js
  • Delete js/jslibrary.js once issue 1b lands (removes writeFP/writeFS; --js-library flag goes away)
  • Remove compile_combine and compile_combine_min jobs from tools/makem.js, plus the PRE_FLAGS block
  • Migrate example/example.html to the ES6 build (or replace with example_es6.html)
  • Delete build/arfset.min.js and build/arfset.debug.js; stop generating them
  • Verify window.ARFset global is still exposed via the webpack UMD bundle (dist/ARFset.js)
  • Note the removal in the README and bump to a new major version

Impact

High — Breaking change for anyone loading arfset.min.js or arfset.debug.js directly. Requires a major version bump. Simplifies the build significantly and removes dead code.

Additional Context

Dependencies: Issue 1b must land first to safely delete js/jslibrary.js. This issue can be split: delete arfset.api.js + drop asm.js targets first, then delete jslibrary.js in a follow-up after 1b.

The webpack UMD bundle (dist/ARFset.js) already exposes window.ARFset, so no separate legacy entry point is needed to maintain backward compatibility for UMD consumers.

Dominant language
JavaScript
Stars
8
Forks
2
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from webarkit/FeatureSET-Display

All issues in webarkit/FeatureSET-Display

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.