-
Notifications
You must be signed in to change notification settings - Fork 85
[FSSDK-12107] refactor build system #1130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
33c8155 to
775a6c5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request refactors the build system by replacing the Rollup TypeScript plugin with direct TypeScript compilation followed by bundling. It also adds a TypeScript example project to verify TypeScript support and integrates a CI check for it.
Changes:
- Replaced
rollup-plugin-typescript2with directtsccompilation to.build/directory, then bundling from there - Updated Rollup plugins to newer versions and migrated from deprecated plugins to
@rollup/plugin-terser - Added
ts-example/directory with comprehensive TypeScript usage examples and test infrastructure
Reviewed changes
Copilot reviewed 12 out of 16 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.json | Added importHelpers: true and split output between .build and dist directories |
| rollup.config.mjs | Refactored to use ES modules, updated plugins, changed input paths to .build/ |
| package.json | Updated build scripts, added tslib, updated plugin dependencies, added ts-example script |
| package-lock.json | Updated all rollup plugins and rollup itself to latest versions |
| ts-example/* | New TypeScript example project demonstrating SDK usage patterns |
| scripts/run-ts-example.js | New script to build SDK and run TypeScript example with datafile server |
| .github/workflows/javascript.yml | Added ts-check job to CI pipeline |
| .gitignore | Added .build/ directory to ignore list |
| lib/index.browser.ts | Removed extraneous blank line |
Files not reviewed (1)
- ts-example/package-lock.json: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| /** | ||
| * Simple HTTP server to serve the datafile for testing polling project config manager | ||
| * Runs at http://localhost:8910 |
Copilot
AI
Jan 12, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The comment at the top of this file says it will be "running at http://localhost:8910" but actually the constant PORT is defined on line 17 as 8910. While this is consistent, if someone changes the PORT constant, they should also update the comment. Consider referencing the PORT constant in the comment or making it dynamically reflect the actual port in the startup message (which it already does on line 46).
| * Runs at http://localhost:8910 | |
| * Runs at http://localhost on the port specified by the PORT constant below |
scripts/run-ts-example.js
Outdated
| await startDatafileServer(); | ||
|
|
||
| // Step 5: Run the ts-example | ||
| console.log('\nStep 4: Running ts-example...'); |
Copilot
AI
Jan 12, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the script output on line 91, it says "Step 4: Running ts-example" but this is actually Step 5 according to the comments in the code (Step 4 is starting the datafile server on line 87). This inconsistency between the step numbers in comments and console output could confuse users.
| console.log('\nStep 4: Running ts-example...'); | |
| console.log('\nStep 5: Running ts-example...'); |
Summary
ts-example/directory with an example typescript project, which is used to check that typescript support is working properly.Test plan
Issues