14 Commits

Author SHA1 Message Date
Matt Godbolt
9e9e035b28 Rephrase frontend imports (#7824)
- Removes `rootDirs` so all imports will be relative in the frontend
- Updates (and unifies) imports to be `../types/...` etc instead of
relying on "types" being in the rootDir for the frontend.
- Fixes one type that was being picked up from `lib` in the frontend.
- Adds a precommit hook to check in future

Paves the way to writing _unit_ tests for the frontend for the subset of
the frontend code we can import from `node` (which might be a lot of
it!)
2025-06-18 09:04:23 -05:00
Patrick Quist
bd9e2d4cbc fix remote libraries listing backend and frontend (#7688) 2025-05-16 16:53:40 +02:00
Mats Jun Larsen
5eea63328f Migrate to Biome for linting and formatting (#7033) 2025-02-02 17:54:31 +00:00
Ofek
c1985d64a1 Tsification binge #7 (#6974) 2024-10-25 12:19:04 +03:00
Mats Jun Larsen
633eb82d18 Transition to ECMAScript Modules (#4780)
Makes the Compiler Explorer app, and all the tooling ESM compatible.
Things that have been done:

1. The package.json has `type: module` now
2. All relative imports have a .js ending
3. All directory imports are now directory/index.js to comply with ESM
standards
4. Dependency node-graceful is now imported into tree, because the
package is broken under esm
5. Dependency p-queue has been bumped to 7.x with ESM support
6. Dependency profanities has been bumped to 3.x with ESM support
7. Webpack config is now both ESM and CommonJS compatible
8. Non-ESM compatible imports have been rewritten
9. ESLint configuration has been tweaked to not fail on .js imports
10. Mocha is now hacked together and ran with ts-node-esm
11. Webpack is now hacked together and ran with ts-node-esm
12. Webpack config is now ESM compatible, so that it can be used in the
dev server
13. Cypress code still runs commonjs, and has been excluded from the
tsconfig
14. All sinon mock tests have been commented out, because sinon module
mocks do not work with ESModules (because ESModules are immutable)

A lot of tests are now giving warnings/errors to stdout, yet still pass.
Docenizer codegenerator scripts have been updated, but I did not re-run
them, and instead just changed their code.

---------

Co-authored-by: Matt Godbolt <matt@godbolt.org>
2023-02-27 18:06:38 -06:00
Jeremy Rifkin
384c297906 Fix trailing comma issue (#4775)
Make trailing commas more consistent throughout the project, fixes
config conflict between eslint and prettier. Resolves an oversight in
#4766.
2023-02-26 12:21:35 -05:00
Rubén Rincón Blanco
2dbca646f0 Address some low-hanging fruits from webstorm code inspection (#3582)
* Address some low-hanging fruits from webstorm code inspection
* Change editor code to silence eslint

Co-authored-by: Matt Godbolt <matt@godbolt.org>
2022-04-29 14:24:29 -05:00
Mats Larsen
c199b54440 Enable Prettier for TypeScript frontend (#3524) 2022-04-20 22:39:10 +02:00
Jeremy Rifkin
0bffd4ec0f Resolve @typescript-eslint/no-unnecessary-condition for static/*.ts files (#3511) 2022-04-16 00:36:00 +02:00
Patrick Quist
17c01cf349 Fix for msvc library issue (#3501)
* fetch remote libraries on startup and put into client-options
* support remote libs in executor and conformanceview
2022-04-09 17:09:13 -05:00
Rubén Rincón Blanco
42c7b2b694 Make eslint work on static ts files (#3304) 2022-02-03 18:04:50 +01:00
Rubén Rincón Blanco
fc19400855 Move static/libs-widget-ext.js to TypeScript (#3077)
* Rename static/libs-widget-ext.js to static/libs-widget-ext.ts

* Initial Typescript copy&paste

* File now compiles its TS

* First TSfy pass

Types need to still be sorted out, but this now compiles and works
:)

* Further work towards porting libs widget to TS

* Expand the scope of the PR and fix some TS issues elsewhere

Still releated to libs though

* Renames

* Address PR review

* Fixes some minor errors and finishes the tests

* Remove unused interface properties
As suggested by partouf in the PR

* Remove unused this
Noticed by Partouf in the PR review

* Remove more unused options interface properties

* Fixes last issues with the ts libs widget

* Remove console.log
2021-12-12 17:42:44 +01:00
Mats Larsen
025325e6d5 Replace CommonJS default exports with named exports (#3021)
This patch refactors every single CommonJS default export and TypeScript `export =` to use named exports.
2021-10-12 11:30:10 +02:00
Patrick Quist
e24f724e47 Options cleanup (#2924)
* getting rid of compiler.libs

* old widget no longer needed

* move supportedLibraries code to base-compiler

* bugfix

* oops

* grmbl

* bugfix remote msvc compilers
2021-09-13 20:22:39 +02:00