28 Commits

Author SHA1 Message Date
Mats Jun Larsen
d147341663 Serve all static asset files over the CDN (#7795) 2025-06-28 14:01:36 +02:00
Matt Godbolt
54e2dae21f Add comprehensive Configuration.md documentation (#7626)
This PR adds a detailed Configuration.md document that comprehensively
explains the Compiler Explorer configuration system. It covers:

- Configuration file structure and hierarchical loading
- Property types and automatic conversions
- List separators and specialized formats
- Group inheritance and compiler configuration
- Variable substitution mechanisms
- Advanced features like remote compilers and property debugging

Additionally, it updates all related documentation to reference this
central document for configuration details, reducing duplication and
ensuring consistency.

This document will serve as the foundation for future configuration
system improvements by providing clear documentation of the current
implementation.
2025-04-26 18:12:58 -05:00
Matt Fowles Kulukundis
2a8ceb9b51 docs: include the type entry required for language-key (#6869) 2024-09-18 16:46:31 -05:00
Matt Godbolt
2c6f042b68 Ahem formatting 2024-09-18 14:25:09 -05:00
Matt Fowles Kulukundis
802998513c docs: update variable name for fs.remove arg (#6867) 2024-09-18 13:31:51 -05:00
David Spickett
1516d22d39 Fix compilers language file template in "Adding a Language" doc (#5628)
This needs to import `base-compiler.js` not `base-compiler`. All the
existing files import `.js`.
2023-10-19 09:48:33 -05:00
Rupert Tombs
83e06b0424 Update .js to .ts in documentation (#5558)
While reading the (excellent) documentation here, I noticed a few stale
references to `.js` files that are now implemented in TypeScript.

* Update `*.js` to `*.ts` in Markdown documentation.

* Update `app.js` to `out/dist/app.js` in
`docs/SystemdSocketActivation.md`.
_I managed to follow these instructions and locally run Compiler
Explorer through socket activation after that change._

* Update `*.js` to `*.ts` in the GitHub labeller config
`.github/labeler.yml`.
_Also correct some misnamed files here. I have checked the new version
with `ls $(grep -E "^ - " .github/labeler.yml | sed "s/ - //g")`. If I
were more familiar here, I would have liked to add a similar check to
the automated tests._

- Sheepishly add myself to the contributors list, despite this being a
tiny find-and-replace change.

---------

Co-authored-by: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com>
2023-10-04 20:27:06 -04: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
partouf
3f36aa96cb formatting 2022-10-12 18:07:44 +02:00
J. Ryan Stinnett
80dd763985 Add basic Racket support (#4098) 2022-10-05 09:32:45 +02:00
Mats Larsen
540981ccef Port lib/languages.js to TypeScript (#3740) 2022-06-24 14:14:32 +02:00
RabsRincon
723f23e73a Add missing ts and sol logos 2022-05-12 04:07:24 +02:00
Matt Godbolt
f2c1e0bd31 The Grand Reformat (#3643)
* The Grand Reformat

- everything made prettier...literally
- some tweaks to include a few more files, including documentation
- minor changes to format style
- some tiny `// prettier-ignore` changes to keep a few things the way we like them
- a couple of super minor tweaks to embedded document types to ensure they format correctly
2022-05-09 23:13:50 -05:00
Mats Larsen
a1a1026a8e Move static/modes/_all.js to TypeScript (#3540) 2022-04-24 20:54:58 +02:00
John Adler
fd2e4b0d02 Fix broken link to Monaco editor languages (#3261) 2022-01-17 09:22:35 +01:00
Patrick Quist
e3a0eae4a3 typo 2021-07-27 13:45:55 +02:00
RabsRincon
0f2f666bed Changes the AddingALanguage.md documentation a bit 2021-07-27 11:11:10 +02:00
RabsRincon
2306073103 Grammar check pass on docs
Used WebStorm built-in spellchecker and updated the docs where necessary
2021-07-13 12:01:07 +02:00
Austin Morton
044dcfbf88 Use ES6 Modules (#2132) 2020-09-26 16:59:26 -04:00
Austin Morton
ba6b49b2e9 Split vendor code into separate webpack bundle and reduce amount of monaco code bundled (#2113)
Additionally minify css bundles.
2020-08-02 19:03:39 -04:00
Matt Godbolt
2ff1004a5c Some path fixups post rename of c-e-image->infra 2020-05-14 23:23:25 -05:00
Partouf
b9d1819498 addition 2018-10-07 13:04:57 +02:00
Partouf
04381cf258 caviat 2018-10-07 09:22:32 +02:00
Partouf
9eaa1ff809 refactor 2018-10-07 00:59:29 +02:00
Partouf
8e1a40dffd mode 2018-10-07 00:50:20 +02:00
Partouf
7989e61df7 fix 2018-10-07 00:48:04 +02:00
Partouf
4c712cf471 fix add language md 2018-10-07 00:44:02 +02:00
Partouf
5621ff77d4 addlanguage doc 2018-10-06 23:56:51 +02:00