Commit Graph

13 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
Matt Godbolt
09828869bb npm update (#4800) 2023-02-28 07:51:28 -06: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
6bd5c43f62 Tsify app.js (#4767)
I forgot about app.js, now this is actually the last file in our ts
conversion (other than test/)
2023-02-23 17:15:59 -05:00
Patrick Quist
4f179a1eda add compiler args parser test app (#4685) 2023-02-02 17:59:37 +01:00
Jeremy Rifkin
10ba9a10cd Add svg exports for cfgs (#4424)
* Added svg exports for cfgs

* Quick refactor

* Fix background colorfor chrome exports
2022-12-12 18:22:26 -05:00
Mats Larsen
a1d6f453e3 Assembly documentation for LLVM IR (#3737) 2022-05-31 14:47:48 +02:00
Mats Larsen
15b57aef0e Create npm script for noEmit compiling frontend and backend to catch errors (#3580) 2022-04-27 10:05:27 +02:00
RabsRincon
154c18a40e Add noImplicitOverride to tsc config 2022-04-27 07:37:11 +02:00
Mats Larsen
7592d1557e Move Ids out of hub.js (#3462) 2022-03-24 12:00:17 +01:00
Rubén Rincón Blanco
db229b94bc Add strict tsc flag for the frontend ts code (#3356) 2022-02-12 02:41:01 +01:00
RabsRincon
fb9c718eed TSfy static/motd 2022-01-04 07:47:13 +01:00
Mats Larsen
da1a3ab7dc Make it possible to share types in /types directory between front and backend (#3211)
* Make it possible to share types in /types directory between front and backend

* Add new tsconfig files to gh-dist-files
2021-12-28 15:53:34 +01:00