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>
This commit is contained in:
Mats Jun Larsen 2023-02-28 00:06:38 +00:00 committed by GitHub
parent 5fee0e24a6
commit 633eb82d18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
425 changed files with 2625 additions and 3984 deletions

View File

@ -52,6 +52,7 @@ rules:
import/no-self-import: error
import/no-useless-path-segments: error
import/no-webpack-loader-syntax: error
import/no-unresolved: off # Doesn't like .js files
import/order:
- error
- alphabetize:
@ -121,6 +122,7 @@ rules:
no-process-exit: off
node/no-unsupported-features/es-syntax: off
node/shebang: off
node/no-missing-import: off # Doesn't like .js imports of .interfaces.ts files
promise/catch-or-return: error
promise/no-new-statics: error
promise/no-return-wrap: error

2
.gitignore vendored
View File

@ -2,9 +2,9 @@
# build generated files
/.node-bin
/.npm-updated
/.nyc_output
/node_modules
/out
/coverage
# generated from opcode docenzier.py scripts
/asm-docs*

View File

@ -20,6 +20,9 @@
<MarkdownNavigatorCodeStyleSettings>
<option name="RIGHT_MARGIN" value="72" />
</MarkdownNavigatorCodeStyleSettings>
<ScalaCodeStyleSettings>
<option name="MULTILINE_STRING_CLOSING_QUOTES_ON_NEW_LINE" value="true" />
</ScalaCodeStyleSettings>
<TypeScriptCodeStyleSettings version="0">
<option name="FORCE_SEMICOLON_STYLE" value="true" />
<option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptLibraryMappings">
<file url="file://$PROJECT_DIR$" libraries="{Node.js Core}" />
</component>
</project>

View File

@ -1,5 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="app.ts" type="NodeJSConfigurationType" application-parameters="--language c++" nameIsGenerated="true" node-parameters="-r esm -r ts-node/register" path-to-js-file="app.ts" working-dir="$PROJECT_DIR$">
<method v="2" />
</configuration>
</component>

View File

@ -1,6 +1,2 @@
recursive: true
ignore: test/filter-tests.js
require:
- esm
- ts-node/register
- source-map-support/register

View File

@ -1,5 +1 @@
recursive: true
require:
- esm
- ts-node/register
- source-map-support/register

View File

@ -1,15 +0,0 @@
all: true
include:
- lib/**/*.js
- lib/**/*.ts
exclude:
- lib/asm-docs/generated/asm-docs-*
- lib/compilers/fake-for-test.js
- lib/**/*.d.ts
report-dir: ./out/coverage
reporter:
- lcov
require:
- esm
- source-map-support/register
- ts-node/register

View File

@ -4,9 +4,9 @@
# build generated files
/.node-bin
/.npm-updated
/.nyc_output
/node_modules
/out
/coverage
# generated from opcode docenzier.py scripts
/asm-docs*
@ -36,6 +36,7 @@ newrelic_agent.log
etc
examples
out
cypress
# Autogenerated files
lib/asm-docs/generated/asm-docs-*

View File

@ -77,7 +77,7 @@ prebuild: prereqs
.PHONY: run-only
run-only: node-installed ## Runs the site like it runs in production without building it
env NODE_ENV=production $(NODE) $(NODE_ARGS) -r esm ./out/dist/app.js --webpackContent ./out/webpack/static $(EXTRA_ARGS)
env NODE_ENV=production $(NODE) $(NODE_ARGS) ./out/dist/app.js --webpackContent ./out/webpack/static $(EXTRA_ARGS)
.PHONY: run
run: ## Runs the site like it runs in production
@ -86,15 +86,15 @@ run: ## Runs the site like it runs in production
.PHONY: dev
dev: prereqs ## Runs the site as a developer; including live reload support and installation of git hooks
./node_modules/.bin/supervisor -w app.ts,lib,etc/config,static/tsconfig.json -e 'js|ts|node|properties|yaml' -n exit --exec $(NODE) $(NODE_ARGS) -- -r esm -r ts-node/register ./app.ts $(EXTRA_ARGS)
NODE_OPTIONS=$(NODE_ARGS) ./node_modules/.bin/supervisor -w app.ts,lib,etc/config,static/tsconfig.json -e 'js|ts|node|properties|yaml' -n exit --exec $(shell pwd)/node_modules/.bin/ts-node-esm -- ./app.ts $(EXTRA_ARGS)
.PHONY: gpu-dev
gpu-dev: prereqs ## Runs the site as a developer; including live reload support and installation of git hooks
./node_modules/.bin/supervisor -w app.ts,lib,etc/config,static/tsconfig.json -e 'js|ts|node|properties|yaml' -n exit --exec $(NODE) $(NODE_ARGS) -- -r esm -r ts-node/register ./app.ts --env gpu $(EXTRA_ARGS)
NODE_OPTIONS=$(NODE_ARGS) ./node_modules/.bin/supervisor -w app.ts,lib,etc/config,static/tsconfig.json -e 'js|ts|node|properties|yaml' -n exit --exec $(shell pwd)/node_modules/.bin/ts-node-esm -- ./app.ts --env gpu $(EXTRA_ARGS)
.PHONY: debug
debug: prereqs ## Runs the site as a developer with full debugging; including live reload support and installation of git hooks
./node_modules/.bin/supervisor -w app.ts,lib,etc/config,static/tsconfig.json -e 'js|ts|node|properties|yaml' -n exit --inspect 9229 --exec $(NODE) $(NODE_ARGS) -- -r esm -r ts-node/register ./app.ts --debug $(EXTRA_ARGS)
NODE_OPTIONS="$(NODE_ARGS) --inspect 9229" ./node_modules/.bin/supervisor -w app.ts,lib,etc/config,static/tsconfig.json -e 'js|ts|node|properties|yaml' -n exit --exec $(shell pwd)/node_modules/.bin/ts-node-esm -- ./app.ts --debug $(EXTRA_ARGS)
.PHONY:
asm-docs:

52
app.ts
View File

@ -43,34 +43,34 @@ import systemdSocket from 'systemd-socket';
import _ from 'underscore';
import urljoin from 'url-join';
import * as aws from './lib/aws';
import * as normalizer from './lib/clientstate-normalizer';
import {ElementType} from './lib/common-utils';
import {CompilationEnvironment} from './lib/compilation-env';
import {CompilationQueue} from './lib/compilation-queue';
import {CompilerFinder} from './lib/compiler-finder';
// import { policy as csp } from './lib/csp';
import {startWineInit} from './lib/exec';
import {CompileHandler} from './lib/handlers/compile';
import * as healthCheck from './lib/handlers/health-check';
import {NoScriptHandler} from './lib/handlers/noscript';
import {RouteAPI} from './lib/handlers/route-api';
import {loadSiteTemplates} from './lib/handlers/site-templates';
import {SourceHandler} from './lib/handlers/source';
import {languages as allLanguages} from './lib/languages';
import {logger, logToLoki, logToPapertrail, makeLogStream, suppressConsoleLog} from './lib/logger';
import {setupMetricsServer} from './lib/metrics-server';
import {ClientOptionsHandler} from './lib/options-handler';
import * as props from './lib/properties';
import {ShortLinkResolver} from './lib/shortener/google';
import {sources} from './lib/sources';
import {loadSponsorsFromString} from './lib/sponsors';
import {getStorageTypeByKey} from './lib/storage';
import * as utils from './lib/utils';
import {Language, LanguageKey} from './types/languages.interfaces';
import * as aws from './lib/aws.js';
import * as normalizer from './lib/clientstate-normalizer.js';
import {ElementType} from './lib/common-utils.js';
import {CompilationEnvironment} from './lib/compilation-env.js';
import {CompilationQueue} from './lib/compilation-queue.js';
import {CompilerFinder} from './lib/compiler-finder.js';
// import { policy as csp } from './lib/csp.js';
import {startWineInit} from './lib/exec.js';
import {CompileHandler} from './lib/handlers/compile.js';
import * as healthCheck from './lib/handlers/health-check.js';
import {NoScriptHandler} from './lib/handlers/noscript.js';
import {RouteAPI} from './lib/handlers/route-api.js';
import {loadSiteTemplates} from './lib/handlers/site-templates.js';
import {SourceHandler} from './lib/handlers/source.js';
import {languages as allLanguages} from './lib/languages.js';
import {logger, logToLoki, logToPapertrail, makeLogStream, suppressConsoleLog} from './lib/logger.js';
import {setupMetricsServer} from './lib/metrics-server.js';
import {ClientOptionsHandler} from './lib/options-handler.js';
import * as props from './lib/properties.js';
import {ShortLinkResolver} from './lib/shortener/google.js';
import {sources} from './lib/sources/index.js';
import {loadSponsorsFromString} from './lib/sponsors.js';
import {getStorageTypeByKey} from './lib/storage/index.js';
import * as utils from './lib/utils.js';
import type {Language, LanguageKey} from './types/languages.interfaces.js';
// Used by assert.ts
global.ce_base_directory = __dirname; // eslint-disable-line unicorn/prefer-module
global.ce_base_directory = new URL('.', import.meta.url);
// Parse arguments from command line 'node ./app.js args...'
const opts = nopt({

View File

@ -28,11 +28,11 @@
import nopt from 'nopt';
import _ from 'underscore';
import {CompilerArguments} from './lib/compiler-arguments';
import * as Parsers from './lib/compilers/argument-parsers';
import {executeDirect} from './lib/exec';
import {logger} from './lib/logger';
import {padRight} from './lib/utils';
import {CompilerArguments} from './lib/compiler-arguments.js';
import * as Parsers from './lib/compilers/argument-parsers.js';
import {executeDirect} from './lib/exec.js';
import {logger} from './lib/logger.js';
import {padRight} from './lib/utils.js';
const opts = nopt({
parser: [String],

12
cypress/tsconfig.json Normal file
View File

@ -0,0 +1,12 @@
{
"extends": "../tsconfig.base.json",
"compilerOptions": {
/* Module resolution */
"target": "esnext",
"module": "commonjs",
"moduleResolution": "classic",
/* Code generation */
"typeRoots": ["../node_modules/@types"],
"types": ["mocha", "chai", "chai-http"],
}
}

View File

@ -19,7 +19,7 @@ If you want to add a new language to the site, you should follow this steps:
- If the language is supported by Monaco Editor (You can find the list
[here](https://github.com/microsoft/monaco-editor/tree/main/src/basic-languages)), you should add it to the list of
languages inside the `MonacoEditorWebpackPlugin` config in `webpack.config.esm.js`
languages inside the `MonacoEditorWebpackPlugin` config in `webpack.config.esm.ts`
- If not, you should implement your own language mode; see `static/modes/asm-mode.js` as an example. Don't forget to
_require_ your mode file in `static/modes/_all.ts`, in alphabetical order
- `language-key` is how your language will be referred internally by the code. In the rest of this document, replace

View File

@ -54,7 +54,7 @@ Add-Content -Path $env:GITHUB_OUTPUT -Value "branch=$BRANCH"
Add-Content -Path $env:GITHUB_OUTPUT -Value "release_name=$RELEASE_NAME"
# Run to make sure we haven't just made something that won't work
node -r esm ./app.js --version --dist
../../node_modules/.bin/ts-node-esm ./app.js --version --dist
Remove-Item -Path "$ROOT/out/dist-bin" -Force -Recurse -ErrorAction Ignore
New-Item -Path $ROOT -Name "out/dist-bin" -Force -ItemType "directory"

View File

@ -45,7 +45,7 @@ echo "branch=${GITHUB_REF#refs/heads/}" >> "${GITHUB_OUTPUT}"
echo "release_name=${RELEASE_NAME}" >> "${GITHUB_OUTPUT}"
# Run to make sure we haven't just made something that won't work
node -r esm ./app.js --version --dist
../../node_modules/.bin/ts-node-esm ./app.js --version --dist
rm -rf "${ROOT}/out/dist-bin"
mkdir -p "${ROOT}/out/dist-bin"

View File

@ -135,7 +135,7 @@ def parse_descriptions(line, line_num, cpu_type, instructions):
def write_script(filename, instructions):
script = ["import {AssemblyInstructionInfo} from '../base';",
script = ["import {AssemblyInstructionInfo} from '../base.js';",
"",
"export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {",
" if (!opcode) return;",

View File

@ -354,7 +354,7 @@ def main():
print(f"Writing {len(instructions)} instructions")
with open(args.outputpath, 'w') as f:
f.write("""
import {AssemblyInstructionInfo} from '../base';
import {AssemblyInstructionInfo} from '../base.js';
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
if (!opcode) return;

View File

@ -179,7 +179,7 @@ def docenizer():
print("Writing {} instructions".format(len(instructions)))
with open(args.outputpath, 'w') as f:
f.write("""
import {AssemblyInstructionInfo} from '../base';
import {AssemblyInstructionInfo} from '../base.js';
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
if (!opcode) return;

View File

@ -89,7 +89,7 @@ def process_description(desc):
def write_script(filename, instructions):
log_message(f"writing to {filename}...")
with open(filename, "w") as script:
script.write("import {AssemblyInstructionInfo} from '../base';\n")
script.write("import {AssemblyInstructionInfo} from '../base.js';\n")
script.write("\n")
script.write("export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {\n")
script.write(" if (!opcode) return;\n")

View File

@ -126,7 +126,7 @@ def main():
print(f"Writing {len(instructions)} instructions")
with open(args.outputpath, 'w') as f:
f.write("""
import {AssemblyInstructionInfo} from '../base';
import {AssemblyInstructionInfo} from '../base.js';
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
if (!opcode) return;

View File

@ -87,7 +87,7 @@ const main = async () => {
.slice(1) // Drop 1 because the first is the "mne monic"
.map(it => extract($(it), $))
.flat();
console.log('import {AssemblyInstructionInfo} from \'../base\';');
console.log('import {AssemblyInstructionInfo} from \'../base.js\';');
console.log('');
console.log('export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {');
console.log(' if (!opcode) return;');

View File

@ -49,7 +49,7 @@ const $ = cheerio.load(contents);
const names = getInstructionList($.root(), $);
const info = names.map((x) => getInstructionInfo(x, $.root(), $));
console.log('import {AssemblyInstructionInfo} from \'../base\';');
console.log('import {AssemblyInstructionInfo} from \'../base.js\';');
console.log('');
console.log('export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {');
console.log(' if (!opcode) return;');

View File

@ -114,7 +114,7 @@ def main():
print(f"Writing {len(instructions)} instructions")
with open(args.outputpath, 'w') as f:
f.write("""
import {AssemblyInstructionInfo} from '../base';
import {AssemblyInstructionInfo} from '../base.js';
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
if (!opcode) return;

View File

@ -0,0 +1,3 @@
{
"type": "commonjs"
}

View File

@ -1,7 +1,7 @@
import {execSync} from 'child_process';
import {getHashDigest} from 'loader-utils';
import * as pug from 'pug';
import path from 'path';
const { execSync } = require('child_process');
const { getHashDigest } = require('loader-utils');
const pug = require('pug');
const path = require('path');
// If you edit either cookies.pug or privacy.pug be aware this will trigger a popup on the users' next visit.
// Knowing the last versions here helps us be aware when this happens. If you get an error here and you _haven't_
@ -20,7 +20,7 @@ function _execGit(command) {
return gitResult.toString();
}
export default function(content) {
module.exports = function(content) {
const filePath = this.resourcePath;
const filename = path.basename(filePath, '.pug');
const options = this.getOptions();

View File

@ -54,7 +54,7 @@ module.exports = {
sourceType: 'module',
ecmaVersion: 'latest',
tsconfigRootDir: __dirname,
project: './tsconfig.json',
project: '../tsconfig.json',
},
rules: {
'@typescript-eslint/no-empty-function': 'off',
@ -62,6 +62,8 @@ module.exports = {
'@typescript-eslint/no-var-requires': 'error',
'@typescript-eslint/no-explicit-any': 'off', // Too much js code still exists
'@typescript-eslint/ban-ts-comment': 'error',
'import/no-unresolved': 'off',
'node/no-missing-imports': 'off',
// TODO: Disabled for now
//'@typescript-eslint/no-unnecessary-condition': 'error',
//'@typescript-eslint/no-unnecessary-type-assertion': 'error',

View File

@ -22,11 +22,11 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
export {Amd64DocumentationProvider} from './amd64';
export {Arm32DocumentationProvider} from './arm32';
export {AvrDocumentationProvider} from './avr';
export {EvmDocumentationProvider} from './evm';
export {JavaDocumentationProvider} from './java';
export {LLVMDocumentationProvider} from './llvm';
export {Mos6502DocumentationProvider} from './mos6502';
export {PythonDocumentationProvider} from './python';
export {Amd64DocumentationProvider} from './amd64.js';
export {Arm32DocumentationProvider} from './arm32.js';
export {AvrDocumentationProvider} from './avr.js';
export {EvmDocumentationProvider} from './evm.js';
export {JavaDocumentationProvider} from './java.js';
export {LLVMDocumentationProvider} from './llvm.js';
export {Mos6502DocumentationProvider} from './mos6502.js';
export {PythonDocumentationProvider} from './python.js';

View File

@ -22,8 +22,8 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base';
import {getAsmOpcode} from './generated/asm-docs-amd64';
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base.js';
import {getAsmOpcode} from './generated/asm-docs-amd64.js';
export class Amd64DocumentationProvider extends BaseAssemblyDocumentationProvider {
private static readonly ATT_SUFFIX_REMOVER = /^([a-z]+)[blqw]$/i;

View File

@ -22,8 +22,8 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base';
import {getAsmOpcode} from './generated/asm-docs-arm32';
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base.js';
import {getAsmOpcode} from './generated/asm-docs-arm32.js';
export class Arm32DocumentationProvider extends BaseAssemblyDocumentationProvider {
private static readonly CONDITIONAL_INSTRUCTION_REGEXP =

View File

@ -22,8 +22,8 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base';
import {getAsmOpcode} from './generated/asm-docs-avr';
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base.js';
import {getAsmOpcode} from './generated/asm-docs-avr.js';
export class AvrDocumentationProvider extends BaseAssemblyDocumentationProvider {
public static get key() {

View File

@ -22,8 +22,8 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base';
import {getAsmOpcode} from './generated/asm-docs-evm';
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base.js';
import {getAsmOpcode} from './generated/asm-docs-evm.js';
export class EvmDocumentationProvider extends BaseAssemblyDocumentationProvider {
public static get key() {

View File

@ -1,4 +1,4 @@
import {AssemblyInstructionInfo} from '../base';
import {AssemblyInstructionInfo} from '../base.js';
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
if (!opcode) return;

View File

@ -1,4 +1,4 @@
import {AssemblyInstructionInfo} from '../base';
import {AssemblyInstructionInfo} from '../base.js';
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
if (!opcode) return;

View File

@ -1,4 +1,4 @@
import {AssemblyInstructionInfo} from '../base';
import {AssemblyInstructionInfo} from '../base.js';
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
if (!opcode) return;

View File

@ -1,4 +1,4 @@
import {AssemblyInstructionInfo} from '../base';
import {AssemblyInstructionInfo} from '../base.js';
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
if (!opcode) return;

View File

@ -1,4 +1,4 @@
import {AssemblyInstructionInfo} from '../base';
import {AssemblyInstructionInfo} from '../base.js';
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
if (!opcode) return;

View File

@ -1,4 +1,4 @@
import {AssemblyInstructionInfo} from '../base';
import {AssemblyInstructionInfo} from '../base.js';
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
if (!opcode) return;

View File

@ -1,4 +1,4 @@
import {AssemblyInstructionInfo} from '../base';
import {AssemblyInstructionInfo} from '../base.js';
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
if (!opcode) return;

View File

@ -1,4 +1,4 @@
import {AssemblyInstructionInfo} from '../base';
import {AssemblyInstructionInfo} from '../base.js';
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
if (!opcode) return;

View File

@ -22,11 +22,11 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {makeKeyedTypeGetter} from '../keyed-type';
import {makeKeyedTypeGetter} from '../keyed-type.js';
import * as all from './_all';
import * as all from './_all.js';
export {BaseAssemblyDocumentationProvider} from './base';
export * from './_all';
export {BaseAssemblyDocumentationProvider} from './base.js';
export * from './_all.js';
export const getDocumentationProviderTypeByKey = makeKeyedTypeGetter('documentation provider', all);

View File

@ -22,8 +22,8 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base';
import {getAsmOpcode} from './generated/asm-docs-java';
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base.js';
import {getAsmOpcode} from './generated/asm-docs-java.js';
export class JavaDocumentationProvider extends BaseAssemblyDocumentationProvider {
public static get key() {

View File

@ -22,8 +22,8 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base';
import {getAsmOpcode} from './generated/asm-docs-llvm';
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base.js';
import {getAsmOpcode} from './generated/asm-docs-llvm.js';
export class LLVMDocumentationProvider extends BaseAssemblyDocumentationProvider {
public static get key() {

View File

@ -22,8 +22,8 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base';
import {getAsmOpcode} from './generated/asm-docs-6502';
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base.js';
import {getAsmOpcode} from './generated/asm-docs-6502.js';
export class Mos6502DocumentationProvider extends BaseAssemblyDocumentationProvider {
public static get key() {

View File

@ -22,8 +22,8 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base';
import {getAsmOpcode} from './generated/asm-docs-python';
import {AssemblyInstructionInfo, BaseAssemblyDocumentationProvider} from './base.js';
import {getAsmOpcode} from './generated/asm-docs-python.js';
export class PythonDocumentationProvider extends BaseAssemblyDocumentationProvider {
public static get key() {

View File

@ -25,7 +25,7 @@
import * as fs from 'fs';
import path from 'path';
import stacktrace from './stacktrace';
import {parse} from './stacktrace.js';
function check_path(parent: string, directory: string) {
// https://stackoverflow.com/a/45242825/15675011
@ -39,7 +39,7 @@ function check_path(parent: string, directory: string) {
function get_diagnostic() {
const e = new Error(); // eslint-disable-line unicorn/error-message
const trace = stacktrace.parse(e);
const trace = parse(e);
if (trace.length >= 4) {
const invoker_frame = trace[3];
if (invoker_frame.fileName && invoker_frame.lineNumber) {

View File

@ -24,9 +24,9 @@
import AWS from 'aws-sdk';
import {unwrap} from './assert';
import {logger} from './logger';
import {PropertyGetter} from './properties.interfaces';
import {unwrap} from './assert.js';
import {logger} from './logger.js';
import type {PropertyGetter} from './properties.interfaces.js';
export class InstanceFetcher {
ec2: AWS.EC2;

View File

@ -29,7 +29,7 @@ import * as PromClient from 'prom-client';
import temp from 'temp';
import _ from 'underscore';
import {
import type {
BuildResult,
BuildStep,
CompilationCacheKey,
@ -37,50 +37,50 @@ import {
CompilationResult,
CustomInputForTool,
ExecutionOptions,
} from '../types/compilation/compilation.interfaces';
import {
} from '../types/compilation/compilation.interfaces.js';
import type {
LLVMOptPipelineBackendOptions,
LLVMOptPipelineOutput,
} from '../types/compilation/llvm-opt-pipeline-output.interfaces';
import {CompilerInfo, ICompiler, PreliminaryCompilerInfo} from '../types/compiler.interfaces';
import {
} from '../types/compilation/llvm-opt-pipeline-output.interfaces.js';
import type {CompilerInfo, ICompiler, PreliminaryCompilerInfo} from '../types/compiler.interfaces.js';
import type {
BasicExecutionResult,
ExecutableExecutionOptions,
UnprocessedExecResult,
} from '../types/execution/execution.interfaces';
import {CompilerOutputOptions, ParseFiltersAndOutputOptions} from '../types/features/filters.interfaces';
import {Language} from '../types/languages.interfaces';
import {Library, LibraryVersion, SelectedLibraryVersion} from '../types/libraries/libraries.interfaces';
import {ResultLine} from '../types/resultline/resultline.interfaces';
import {Artifact, ToolResult, ToolTypeKey} from '../types/tool.interfaces';
} from '../types/execution/execution.interfaces.js';
import type {CompilerOutputOptions, ParseFiltersAndOutputOptions} from '../types/features/filters.interfaces.js';
import type {Language} from '../types/languages.interfaces.js';
import type {Library, LibraryVersion, SelectedLibraryVersion} from '../types/libraries/libraries.interfaces.js';
import type {ResultLine} from '../types/resultline/resultline.interfaces.js';
import type {Artifact, ToolResult, ToolTypeKey} from '../types/tool.interfaces.js';
import {BuildEnvSetupBase, getBuildEnvTypeByKey} from './buildenvsetup';
import {BuildEnvDownloadInfo} from './buildenvsetup/buildenv.interfaces';
import * as cfg from './cfg/cfg';
import {CompilationEnvironment} from './compilation-env';
import {CompilerArguments} from './compiler-arguments';
import {ClangParser, GCCParser} from './compilers/argument-parsers';
import {BaseDemangler, getDemanglerTypeByKey} from './demangler';
import {LLVMIRDemangler} from './demangler/llvm';
import * as exec from './exec';
import {getExternalParserByKey} from './external-parsers';
import {ExternalParserBase} from './external-parsers/base';
import {InstructionSets} from './instructionsets';
import {languages} from './languages';
import {LlvmAstParser} from './llvm-ast';
import {LlvmIrParser} from './llvm-ir';
import * as compilerOptInfo from './llvm-opt-transformer';
import {logger} from './logger';
import {getObjdumperTypeByKey} from './objdumper';
import {Packager} from './packager';
import {AsmParser} from './parsers/asm-parser';
import {IAsmParser} from './parsers/asm-parser.interfaces';
import {LlvmPassDumpParser} from './parsers/llvm-pass-dump-parser';
import {PropertyGetter} from './properties.interfaces';
import {getToolchainPath} from './toolchain-utils';
import {ITool} from './tooling/base-tool.interface';
import * as utils from './utils';
import {unwrap} from './assert';
import {BuildEnvSetupBase, getBuildEnvTypeByKey} from './buildenvsetup/index.js';
import type {BuildEnvDownloadInfo} from './buildenvsetup/buildenv.interfaces.js';
import * as cfg from './cfg/cfg.js';
import {CompilationEnvironment} from './compilation-env.js';
import {CompilerArguments} from './compiler-arguments.js';
import {ClangParser, GCCParser} from './compilers/argument-parsers.js';
import {BaseDemangler, getDemanglerTypeByKey} from './demangler/index.js';
import {LLVMIRDemangler} from './demangler/llvm.js';
import * as exec from './exec.js';
import {getExternalParserByKey} from './external-parsers/index.js';
import {ExternalParserBase} from './external-parsers/base.js';
import {InstructionSets} from './instructionsets.js';
import {languages} from './languages.js';
import {LlvmAstParser} from './llvm-ast.js';
import {LlvmIrParser} from './llvm-ir.js';
import * as compilerOptInfo from './llvm-opt-transformer.js';
import {logger} from './logger.js';
import {getObjdumperTypeByKey} from './objdumper/index.js';
import {Packager} from './packager.js';
import {AsmParser} from './parsers/asm-parser.js';
import type {IAsmParser} from './parsers/asm-parser.interfaces.js';
import {LlvmPassDumpParser} from './parsers/llvm-pass-dump-parser.js';
import type {PropertyGetter} from './properties.interfaces.js';
import {getToolchainPath} from './toolchain-utils.js';
import type {ITool} from './tooling/base-tool.interface.js';
import * as utils from './utils.js';
import {unwrap} from './assert.js';
const compilationTimeHistogram = new PromClient.Histogram({
name: 'ce_base_compiler_compilation_duration_seconds',

View File

@ -22,6 +22,6 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
export {BuildEnvSetupCeConanDirect} from './ceconan';
export {BuildEnvSetupCliConan} from './cliconan';
export {BuildEnvSetupCeConanRustDirect} from './ceconan-rust';
export {BuildEnvSetupCeConanDirect} from './ceconan.js';
export {BuildEnvSetupCliConan} from './cliconan.js';
export {BuildEnvSetupCeConanRustDirect} from './ceconan-rust.js';

View File

@ -27,10 +27,10 @@ import path from 'path';
import fs from 'fs-extra';
import _ from 'underscore';
import {logger} from '../logger';
import * as utils from '../utils';
import {logger} from '../logger.js';
import * as utils from '../utils.js';
import {BuildEnvDownloadInfo} from './buildenv.interfaces';
import type {BuildEnvDownloadInfo} from './buildenv.interfaces.js';
export class BuildEnvSetupBase {
protected compiler: any;

View File

@ -24,7 +24,7 @@
import _ from 'underscore';
import {BuildEnvSetupCeConanDirect} from './ceconan';
import {BuildEnvSetupCeConanDirect} from './ceconan.js';
export class BuildEnvSetupCeConanRustDirect extends BuildEnvSetupCeConanDirect {
static override get key() {

View File

@ -30,10 +30,10 @@ import request from 'request';
import tar from 'tar-stream';
import _ from 'underscore';
import {logger} from '../logger';
import {logger} from '../logger.js';
import {BuildEnvSetupBase} from './base';
import {BuildEnvDownloadInfo} from './buildenv.interfaces';
import {BuildEnvSetupBase} from './base.js';
import type {BuildEnvDownloadInfo} from './buildenv.interfaces.js';
export type ConanBuildProperties = {
os: string;

View File

@ -27,11 +27,11 @@ import path from 'path';
import fs from 'fs-extra';
import _ from 'underscore';
import * as exec from '../exec';
import {logger} from '../logger';
import * as exec from '../exec.js';
import {logger} from '../logger.js';
import {BuildEnvSetupBase} from './base';
import {BuildEnvDownloadInfo} from './buildenv.interfaces';
import {BuildEnvSetupBase} from './base.js';
import type {BuildEnvDownloadInfo} from './buildenv.interfaces.js';
export class BuildEnvSetupCliConan extends BuildEnvSetupBase {
private exe: any;

View File

@ -22,11 +22,11 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {makeKeyedTypeGetter} from '../keyed-type';
import {makeKeyedTypeGetter} from '../keyed-type.js';
import * as all from './_all';
import * as all from './_all.js';
export {BuildEnvSetupBase} from './base';
export * from './_all';
export {BuildEnvSetupBase} from './base.js';
export * from './_all.js';
export const getBuildEnvTypeByKey = makeKeyedTypeGetter('buildenv', all);

View File

@ -22,7 +22,7 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {GetResult} from '../../types/cache.interfaces';
import type {GetResult} from '../../types/cache.interfaces.js';
export type CacheStats = {
hits: number;

8
lib/cache/base.ts vendored
View File

@ -24,11 +24,11 @@
import {Counter} from 'prom-client';
import {CacheableValue, GetResult} from '../../types/cache.interfaces';
import {logger} from '../logger';
import {getHash} from '../utils';
import type {CacheableValue, GetResult} from '../../types/cache.interfaces.js';
import {logger} from '../logger.js';
import {getHash} from '../utils.js';
import {Cache, CacheStats} from './base.interfaces';
import {Cache, CacheStats} from './base.interfaces.js';
const HashVersion = 'Compiler Explorer Cache Version 1';

View File

@ -22,14 +22,14 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {logger} from '../logger';
import {logger} from '../logger.js';
import {Cache} from './base.interfaces';
import {InMemoryCache} from './in-memory';
import {MultiCache} from './multi';
import {NullCache} from './null';
import {OnDiskCache} from './on-disk';
import {S3Cache} from './s3';
import {Cache} from './base.interfaces.js';
import {InMemoryCache} from './in-memory.js';
import {MultiCache} from './multi.js';
import {NullCache} from './null.js';
import {OnDiskCache} from './on-disk.js';
import {S3Cache} from './s3.js';
function paramInt(config: string, param: string): number {
const result = parseInt(param);

View File

@ -24,9 +24,9 @@
import LRU from 'lru-cache';
import {GetResult} from '../../types/cache.interfaces';
import type {GetResult} from '../../types/cache.interfaces.js';
import {BaseCache} from './base';
import {BaseCache} from './base.js';
export class InMemoryCache extends BaseCache {
readonly cacheMb: number;

4
lib/cache/multi.ts vendored
View File

@ -22,9 +22,9 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {GetResult} from '../../types/cache.interfaces';
import type {GetResult} from '../../types/cache.interfaces.js';
import {BaseCache} from './base';
import {BaseCache} from './base.js';
// A write-through multiple cache.
// Writes get pushed to all caches, but reads are serviced from the first cache that returns

4
lib/cache/null.ts vendored
View File

@ -22,9 +22,9 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {GetResult} from '../../types/cache.interfaces';
import type {GetResult} from '../../types/cache.interfaces.js';
import {BaseCache} from './base';
import {BaseCache} from './base.js';
export class NullCache extends BaseCache {
constructor(cacheName) {

View File

@ -27,10 +27,10 @@ import path from 'path';
import fs from 'fs-extra';
import LRU from 'lru-cache';
import {GetResult} from '../../types/cache.interfaces';
import {logger} from '../logger';
import type {GetResult} from '../../types/cache.interfaces.js';
import {logger} from '../logger.js';
import {BaseCache} from './base';
import {BaseCache} from './base.js';
// With thanks to https://gist.github.com/kethinov/6658166
function getAllFiles(root: string, dir?: string) {

10
lib/cache/s3.ts vendored
View File

@ -24,12 +24,12 @@
import * as Sentry from '@sentry/node';
import {GetResult} from '../../types/cache.interfaces';
import {logger} from '../logger';
import {S3Bucket} from '../s3-handler';
import {S3HandlerOptions} from '../s3-handler.interfaces';
import type {GetResult} from '../../types/cache.interfaces.js';
import {logger} from '../logger.js';
import {S3Bucket} from '../s3-handler.js';
import type {S3HandlerOptions} from '../s3-handler.interfaces.js';
import {BaseCache} from './base';
import {BaseCache} from './base.js';
function messageFor(e) {
return e.message || e.toString();

View File

@ -24,8 +24,8 @@
import _ from 'underscore';
import {ResultLine} from '../../../types/resultline/resultline.interfaces';
import {BaseInstructionSetInfo} from '../instruction-sets/base';
import type {ResultLine} from '../../../types/resultline/resultline.interfaces.js';
import {BaseInstructionSetInfo} from '../instruction-sets/base.js';
export class BaseCFGParser {
static get key() {

View File

@ -24,10 +24,10 @@
import _ from 'underscore';
import {ResultLine} from '../../../types/resultline/resultline.interfaces';
import * as utils from '../../utils';
import type {ResultLine} from '../../../types/resultline/resultline.interfaces.js';
import * as utils from '../../utils.js';
import {BaseCFGParser} from './base';
import {BaseCFGParser} from './base.js';
export class ClangCFGParser extends BaseCFGParser {
static override get key() {

View File

@ -24,9 +24,9 @@
import _ from 'underscore';
import {ResultLine} from '../../../types/resultline/resultline.interfaces';
import type {ResultLine} from '../../../types/resultline/resultline.interfaces.js';
import {BaseCFGParser} from './base';
import {BaseCFGParser} from './base.js';
export class GccCFGParser extends BaseCFGParser {
static override get key() {

View File

@ -24,15 +24,15 @@
import _ from 'underscore';
import {CompilerInfo} from '../../types/compiler.interfaces';
import {ResultLine} from '../../types/resultline/resultline.interfaces';
import {makeDefaultedKeyedTypeGetter} from '../keyed-type';
import {logger} from '../logger';
import type {CompilerInfo} from '../../types/compiler.interfaces.js';
import type {ResultLine} from '../../types/resultline/resultline.interfaces.js';
import {makeDefaultedKeyedTypeGetter} from '../keyed-type.js';
import {logger} from '../logger.js';
import {BaseCFGParser} from './cfg-parsers/base';
import {ClangCFGParser} from './cfg-parsers/clang';
import {GccCFGParser} from './cfg-parsers/gcc';
import {BaseInstructionSetInfo, InstructionType} from './instruction-sets/base';
import {BaseCFGParser} from './cfg-parsers/base.js';
import {ClangCFGParser} from './cfg-parsers/clang.js';
import {GccCFGParser} from './cfg-parsers/gcc.js';
import {BaseInstructionSetInfo, InstructionType} from './instruction-sets/base.js';
// TODO(jeremy-rifkin):
// I've done some work to split out the compiler / instruction set logic

View File

@ -22,7 +22,7 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {ClientState, ClientStateCompiler, ClientStateConformanceView, ClientStateExecutor} from './clientstate';
import {ClientState, ClientStateCompiler, ClientStateConformanceView, ClientStateExecutor} from './clientstate.js';
export class ClientStateNormalizer {
normalized = new ClientState();

View File

@ -27,16 +27,16 @@ import child_process from 'child_process';
import fs from 'fs-extra';
import _ from 'underscore';
import {CacheableValue} from '../types/cache.interfaces';
import type {CacheableValue} from '../types/cache.interfaces.js';
import {BaseCache} from './cache/base';
import {Cache} from './cache/base.interfaces';
import {createCacheFromConfig} from './cache/from-config';
import {CompilationQueue, Job} from './compilation-queue';
import {FormattingHandler} from './handlers/formatting';
import {logger} from './logger';
import {CompilerProps} from './properties';
import {PropertyGetter} from './properties.interfaces';
import {BaseCache} from './cache/base.js';
import type {Cache} from './cache/base.interfaces.js';
import {createCacheFromConfig} from './cache/from-config.js';
import {CompilationQueue, Job} from './compilation-queue.js';
import {FormattingHandler} from './handlers/formatting.js';
import {logger} from './logger.js';
import {CompilerProps} from './properties.js';
import type {PropertyGetter} from './properties.interfaces.js';
export class CompilationEnvironment {
ceProps: PropertyGetter;

View File

@ -77,7 +77,7 @@ export class CompilationQueue {
this._running.delete(jobAsyncId);
queueCompleted.inc();
}
});
}) as PromiseLike<Result>; // TODO(supergrecko): investigate why this assert is needed
}
status(): {busy: boolean; pending: number; size: number} {

View File

@ -28,12 +28,12 @@ import AWS from 'aws-sdk';
import fs from 'fs-extra';
import _ from 'underscore';
import {ICompilerArguments, PossibleArguments} from '../types/compiler-arguments.interfaces';
import type {ICompilerArguments, PossibleArguments} from '../types/compiler-arguments.interfaces.js';
import {logger} from './logger';
import {PropertyGetter} from './properties.interfaces';
import {S3Bucket} from './s3-handler';
import {fileExists, resolvePathFromAppRoot} from './utils';
import {logger} from './logger.js';
import type {PropertyGetter} from './properties.interfaces.js';
import {S3Bucket} from './s3-handler.js';
import {fileExists, resolvePathFromAppRoot} from './utils.js';
export class CompilerArguments implements ICompilerArguments {
private readonly compilerId: string;

View File

@ -31,17 +31,17 @@ import fs from 'fs-extra';
import _ from 'underscore';
import urljoin from 'url-join';
import {CompilerInfo, PreliminaryCompilerInfo} from '../types/compiler.interfaces';
import {Language, LanguageKey} from '../types/languages.interfaces';
import type {CompilerInfo, PreliminaryCompilerInfo} from '../types/compiler.interfaces.js';
import type {Language, LanguageKey} from '../types/languages.interfaces.js';
import {unwrap} from './assert';
import {InstanceFetcher} from './aws';
import {CompileHandler} from './handlers/compile';
import {logger} from './logger';
import {ClientOptionsHandler, OptionHandlerArguments} from './options-handler';
import {CompilerProps} from './properties';
import {PropertyGetter} from './properties.interfaces';
import {basic_comparator, remove} from './common-utils';
import {unwrap} from './assert.js';
import {InstanceFetcher} from './aws.js';
import {CompileHandler} from './handlers/compile.js';
import {logger} from './logger.js';
import {ClientOptionsHandler, OptionHandlerArguments} from './options-handler.js';
import {CompilerProps} from './properties.js';
import type {PropertyGetter} from './properties.interfaces.js';
import {basic_comparator, remove} from './common-utils.js';
const sleep = promisify(setTimeout);

View File

@ -22,90 +22,90 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
export {AdaCompiler} from './ada';
export {AnalysisTool} from './analysis-tool';
export {AssemblyCompiler} from './assembly';
export {AvrGcc6502Compiler} from './avrgcc6502';
export {BeebAsmCompiler} from './beebasm';
export {CarbonCompiler} from './carbon';
export {Cc65Compiler} from './cc65';
export {CircleCompiler} from './circle';
export {CIRCTCompiler} from './circt';
export {CL430Compiler} from './cl430';
export {ClangCompiler} from './clang';
export {ClangCLCompiler} from './clangcl';
export {ClangCudaCompiler} from './clang';
export {ClangHipCompiler} from './clang';
export {ClangIntelCompiler} from './clang';
export {CleanCompiler} from './clean';
export {CppFrontCompiler} from './cppfront';
export {CprocCompiler} from './cproc';
export {CLSPVCompiler} from './clspv';
export {CrystalCompiler} from './crystal';
export {CSharpCompiler} from './dotnet';
export {DartCompiler} from './dart';
export {DefaultCompiler} from './default';
export {DMDCompiler} from './dmd';
export {EllccCompiler} from './ellcc';
export {ErlangCompiler} from './erlang';
export {EWARMCompiler} from './ewarm';
export {EWAVRCompiler} from './ewavr';
export {FakeCompiler} from './fake-for-test';
export {FlangCompiler} from './flang';
export {FortranCompiler} from './fortran';
export {FPCCompiler} from './pascal';
export {FSharpCompiler} from './dotnet';
export {GCCCompiler} from './gcc';
export {GCCRSCompiler} from './gccrs';
export {GolangCompiler} from './golang';
export {HaskellCompiler} from './haskell';
export {HLSLCompiler} from './hlsl';
export {HookCompiler} from './hook';
export {ISPCCompiler} from './ispc';
export {JaktCompiler} from './jakt';
export {JavaCompiler} from './java';
export {JuliaCompiler} from './julia';
export {KotlinCompiler} from './kotlin';
export {LDCCompiler} from './ldc';
export {LLCCompiler} from './llc';
export {LLVMmcaTool} from './llvm-mca';
export {LLVMMOSCompiler} from './llvm-mos';
export {MLIRCompiler} from './mlir';
export {GM2Compiler} from './gm2';
export {MrustcCompiler} from './mrustc';
export {NasmCompiler} from './nasm';
export {NimCompiler} from './nim';
export {NvccCompiler} from './nvcc';
export {OCamlCompiler} from './ocaml';
export {OptCompiler} from './opt';
export {OSACATool} from './osaca';
export {PascalWinCompiler} from './pascal-win';
export {PonyCompiler} from './pony';
export {PPCICompiler} from './ppci';
export {PtxAssembler} from './ptxas';
export {PythonCompiler} from './python';
export {RacketCompiler} from './racket';
export {RGACompiler} from './rga';
export {RubyCompiler} from './ruby';
export {RustcCgGCCCompiler} from './rustc-cg-gcc';
export {RustCompiler} from './rust';
export {ScalaCompiler} from './scala';
export {SdccCompiler} from './sdcc';
export {SolidityCompiler} from './solidity';
export {SPIRVCompiler} from './spirv';
export {SwiftCompiler} from './swift';
export {TenDRACompiler} from './tendra';
export {TinyCCompiler} from './tinyc';
export {ToitCompiler} from './toit';
export {TurboCCompiler} from './turboc';
export {TypeScriptNativeCompiler} from './typescript-native';
export {VBCompiler} from './dotnet';
export {Win32Compiler} from './win32';
export {Win32Vc6Compiler} from './win32-vc6';
export {Win32VcCompiler} from './win32-vc';
export {WineVcCompiler} from './wine-vc';
export {WslVcCompiler} from './wsl-vc';
export {ZigCC} from './zigcc';
export {ZigCompiler} from './zig';
export {ZigCXX} from './zigcxx';
export {z88dkCompiler} from './z88dk';
export {AdaCompiler} from './ada.js';
export {AnalysisTool} from './analysis-tool.js';
export {AssemblyCompiler} from './assembly.js';
export {AvrGcc6502Compiler} from './avrgcc6502.js';
export {BeebAsmCompiler} from './beebasm.js';
export {CarbonCompiler} from './carbon.js';
export {Cc65Compiler} from './cc65.js';
export {CircleCompiler} from './circle.js';
export {CIRCTCompiler} from './circt.js';
export {CL430Compiler} from './cl430.js';
export {ClangCompiler} from './clang.js';
export {ClangCLCompiler} from './clangcl.js';
export {ClangCudaCompiler} from './clang.js';
export {ClangHipCompiler} from './clang.js';
export {ClangIntelCompiler} from './clang.js';
export {CleanCompiler} from './clean.js';
export {CppFrontCompiler} from './cppfront.js';
export {CprocCompiler} from './cproc.js';
export {CLSPVCompiler} from './clspv.js';
export {CrystalCompiler} from './crystal.js';
export {CSharpCompiler} from './dotnet.js';
export {DartCompiler} from './dart.js';
export {DefaultCompiler} from './default.js';
export {DMDCompiler} from './dmd.js';
export {EllccCompiler} from './ellcc.js';
export {ErlangCompiler} from './erlang.js';
export {EWARMCompiler} from './ewarm.js';
export {EWAVRCompiler} from './ewavr.js';
export {FakeCompiler} from './fake-for-test.js';
export {FlangCompiler} from './flang.js';
export {FortranCompiler} from './fortran.js';
export {FPCCompiler} from './pascal.js';
export {FSharpCompiler} from './dotnet.js';
export {GCCCompiler} from './gcc.js';
export {GCCRSCompiler} from './gccrs.js';
export {GolangCompiler} from './golang.js';
export {HaskellCompiler} from './haskell.js';
export {HLSLCompiler} from './hlsl.js';
export {HookCompiler} from './hook.js';
export {ISPCCompiler} from './ispc.js';
export {JaktCompiler} from './jakt.js';
export {JavaCompiler} from './java.js';
export {JuliaCompiler} from './julia.js';
export {KotlinCompiler} from './kotlin.js';
export {LDCCompiler} from './ldc.js';
export {LLCCompiler} from './llc.js';
export {LLVMmcaTool} from './llvm-mca.js';
export {LLVMMOSCompiler} from './llvm-mos.js';
export {MLIRCompiler} from './mlir.js';
export {GM2Compiler} from './gm2.js';
export {MrustcCompiler} from './mrustc.js';
export {NasmCompiler} from './nasm.js';
export {NimCompiler} from './nim.js';
export {NvccCompiler} from './nvcc.js';
export {OCamlCompiler} from './ocaml.js';
export {OptCompiler} from './opt.js';
export {OSACATool} from './osaca.js';
export {PascalWinCompiler} from './pascal-win.js';
export {PonyCompiler} from './pony.js';
export {PPCICompiler} from './ppci.js';
export {PtxAssembler} from './ptxas.js';
export {PythonCompiler} from './python.js';
export {RacketCompiler} from './racket.js';
export {RGACompiler} from './rga.js';
export {RubyCompiler} from './ruby.js';
export {RustcCgGCCCompiler} from './rustc-cg-gcc.js';
export {RustCompiler} from './rust.js';
export {ScalaCompiler} from './scala.js';
export {SdccCompiler} from './sdcc.js';
export {SolidityCompiler} from './solidity.js';
export {SPIRVCompiler} from './spirv.js';
export {SwiftCompiler} from './swift.js';
export {TenDRACompiler} from './tendra.js';
export {TinyCCompiler} from './tinyc.js';
export {ToitCompiler} from './toit.js';
export {TurboCCompiler} from './turboc.js';
export {TypeScriptNativeCompiler} from './typescript-native.js';
export {VBCompiler} from './dotnet.js';
export {Win32Compiler} from './win32.js';
export {Win32Vc6Compiler} from './win32-vc6.js';
export {Win32VcCompiler} from './win32-vc.js';
export {WineVcCompiler} from './wine-vc.js';
export {WslVcCompiler} from './wsl-vc.js';
export {ZigCC} from './zigcc.js';
export {ZigCompiler} from './zig.js';
export {ZigCXX} from './zigcxx.js';
export {z88dkCompiler} from './z88dk.js';

View File

@ -25,10 +25,10 @@
import path from 'path';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import * as utils from '../utils';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import * as utils from '../utils.js';
export class AdaCompiler extends BaseCompiler {
static get key() {

View File

@ -22,8 +22,8 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {BaseCompiler} from '../base-compiler';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
// Plain compiler, which just runs the tool and returns whatever the output was
export class AnalysisTool extends BaseCompiler {

View File

@ -27,9 +27,9 @@ import process from 'process';
import _ from 'underscore';
import {logger} from '../logger';
import * as props from '../properties';
import * as utils from '../utils';
import {logger} from '../logger.js';
import * as props from '../properties.js';
import * as utils from '../utils.js';
export class BaseParser {
static hasSupport(options, forOption) {

View File

@ -27,14 +27,14 @@ import path from 'path';
import _ from 'underscore';
import {BuildResult} from '../../types/compilation/compilation.interfaces';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {AsmRaw} from '../parsers/asm-raw';
import {fileExists} from '../utils';
import type {BuildResult} from '../../types/compilation/compilation.interfaces.js';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import {AsmRaw} from '../parsers/asm-raw.js';
import {fileExists} from '../utils.js';
import {BaseParser} from './argument-parsers';
import {BaseParser} from './argument-parsers.js';
export class AssemblyCompiler extends BaseCompiler {
static get key() {

View File

@ -24,10 +24,10 @@
import path from 'path';
import {ExecutionOptions} from '../../types/compilation/compilation.interfaces';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import type {ExecutionOptions} from '../../types/compilation/compilation.interfaces.js';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
export class AvrGcc6502Compiler extends BaseCompiler {
private readonly avrgccpath: string;

View File

@ -26,12 +26,12 @@ import path from 'path';
import fs from 'fs-extra';
import {ExecutionOptions} from '../../types/compilation/compilation.interfaces';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ArtifactType} from '../../types/tool.interfaces';
import {BaseCompiler} from '../base-compiler';
import {AsmParserBeebAsm} from '../parsers/asm-parser-beebasm';
import * as utils from '../utils';
import type {ExecutionOptions} from '../../types/compilation/compilation.interfaces.js';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import {ArtifactType} from '../../types/tool.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import {AsmParserBeebAsm} from '../parsers/asm-parser-beebasm.js';
import * as utils from '../utils.js';
export class BeebAsmCompiler extends BaseCompiler {
static get key() {

View File

@ -22,15 +22,15 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {ParsedAsmResult} from '../../types/asmresult/asmresult.interfaces';
import {CompilationResult} from '../../types/compilation/compilation.interfaces';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {ResultLine} from '../../types/resultline/resultline.interfaces';
import {unwrap} from '../assert';
import {BaseCompiler} from '../base-compiler';
import type {ParsedAsmResult} from '../../types/asmresult/asmresult.interfaces.js';
import type {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import type {ResultLine} from '../../types/resultline/resultline.interfaces.js';
import {unwrap} from '../assert.js';
import {BaseCompiler} from '../base-compiler.js';
import {BaseParser} from './argument-parsers';
import {BaseParser} from './argument-parsers.js';
export class CarbonCompiler extends BaseCompiler {
static get key() {

View File

@ -27,13 +27,13 @@ import path from 'path';
import fs from 'fs-extra';
import _ from 'underscore';
import {CompilationResult} from '../../types/compilation/compilation.interfaces';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {ArtifactType} from '../../types/tool.interfaces';
import {BaseCompiler} from '../base-compiler';
import {CC65AsmParser} from '../parsers/asm-parser-cc65';
import * as utils from '../utils';
import type {CompilationResult} from '../../types/compilation/compilation.interfaces.js';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {ArtifactType} from '../../types/tool.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import {CC65AsmParser} from '../parsers/asm-parser-cc65.js';
import * as utils from '../utils.js';
export class Cc65Compiler extends BaseCompiler {
static get key() {

View File

@ -24,7 +24,7 @@
import path from 'path';
import {BaseCompiler} from '../base-compiler';
import {BaseCompiler} from '../base-compiler.js';
export class CircleCompiler extends BaseCompiler {
static get key() {

View File

@ -24,11 +24,10 @@
import path from 'path';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import {BaseParser} from './argument-parsers';
import {BaseParser} from './argument-parsers.js';
export class CIRCTCompiler extends BaseCompiler {
static get key() {

View File

@ -22,9 +22,9 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
export class CL430Compiler extends BaseCompiler {
static get key() {

View File

@ -27,13 +27,13 @@ import path from 'path';
import _ from 'underscore';
import {ExecutionOptions} from '../../types/compilation/compilation.interfaces';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ExecutableExecutionOptions, UnprocessedExecResult} from '../../types/execution/execution.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {AmdgpuAsmParser} from '../parsers/asm-parser-amdgpu';
import {SassAsmParser} from '../parsers/asm-parser-sass';
import type {ExecutionOptions} from '../../types/compilation/compilation.interfaces.js';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ExecutableExecutionOptions, UnprocessedExecResult} from '../../types/execution/execution.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import {AmdgpuAsmParser} from '../parsers/asm-parser-amdgpu.js';
import {SassAsmParser} from '../parsers/asm-parser-sass.js';
const offloadRegexp = /^#\s+__CLANG_OFFLOAD_BUNDLE__(__START__|__END__)\s+(.*)$/gm;

View File

@ -24,11 +24,11 @@
import path from 'path';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {Win32Compiler} from './win32';
import {unwrap} from '../assert';
import {Win32Compiler} from './win32.js';
import {unwrap} from '../assert.js';
export class ClangCLCompiler extends Win32Compiler {
static override get key() {

View File

@ -26,12 +26,12 @@ import path from 'path';
import fs from 'fs-extra';
import {ExecutionOptions} from '../../types/compilation/compilation.interfaces';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {propsFor} from '../properties';
import * as utils from '../utils';
import type {ExecutionOptions} from '../../types/compilation/compilation.interfaces.js';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import {propsFor} from '../properties.js';
import * as utils from '../utils.js';
export class CleanCompiler extends BaseCompiler {
static get key() {

View File

@ -24,15 +24,13 @@
import path from 'path';
import _ from 'underscore';
import {ExecutionOptions} from '../../types/compilation/compilation.interfaces';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {logger} from '../logger';
import {SPIRVAsmParser} from '../parsers/asm-parser-spirv';
import * as utils from '../utils';
import type {ExecutionOptions} from '../../types/compilation/compilation.interfaces.js';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import {logger} from '../logger.js';
import {SPIRVAsmParser} from '../parsers/asm-parser-spirv.js';
import * as utils from '../utils.js';
export class CLSPVCompiler extends BaseCompiler {
disassemblerPath: any;

View File

@ -24,10 +24,10 @@
import path from 'path';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {AsmParserCpp} from '../parsers/asm-parser-cpp';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import {AsmParserCpp} from '../parsers/asm-parser-cpp.js';
export class CppFrontCompiler extends BaseCompiler {
static get key() {

View File

@ -24,7 +24,7 @@
import path from 'path';
import {BaseCompiler} from '../base-compiler';
import {BaseCompiler} from '../base-compiler.js';
export class CprocCompiler extends BaseCompiler {
static get key() {

View File

@ -26,13 +26,13 @@ import path from 'path';
import _ from 'underscore';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {unwrap} from '../assert';
import {BaseCompiler} from '../base-compiler';
import {CrystalAsmParser} from '../parsers/asm-parser-crystal';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {unwrap} from '../assert.js';
import {BaseCompiler} from '../base-compiler.js';
import {CrystalAsmParser} from '../parsers/asm-parser-crystal.js';
import {CrystalParser} from './argument-parsers';
import {CrystalParser} from './argument-parsers.js';
export class CrystalCompiler extends BaseCompiler {
static get key() {

View File

@ -24,13 +24,13 @@
import Semver from 'semver';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {DartAsmParser} from '../parsers/asm-parser-dart';
import * as utils from '../utils';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import {DartAsmParser} from '../parsers/asm-parser-dart.js';
import * as utils from '../utils.js';
import {BaseParser} from './argument-parsers';
import {BaseParser} from './argument-parsers.js';
export class DartCompiler extends BaseCompiler {
constructor(info: PreliminaryCompilerInfo, env) {

View File

@ -22,7 +22,7 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {BaseCompiler} from '../base-compiler';
import {BaseCompiler} from '../base-compiler.js';
export class DefaultCompiler extends BaseCompiler {
static get key() {

View File

@ -24,11 +24,11 @@
import path from 'path';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import {ClangParser} from './argument-parsers';
import {ClangParser} from './argument-parsers.js';
export class DMDCompiler extends BaseCompiler {
static get key() {

View File

@ -26,12 +26,12 @@ import path from 'path';
import fs from 'fs-extra';
import {ExecutionOptions} from '../../types/compilation/compilation.interfaces';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {BaseCompiler} from '../base-compiler';
import * as exec from '../exec';
import {logger} from '../logger';
import {TurboCAsmParser} from '../parsers/asm-parser-turboc';
import type {ExecutionOptions} from '../../types/compilation/compilation.interfaces.js';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import * as exec from '../exec.js';
import {logger} from '../logger.js';
import {TurboCAsmParser} from '../parsers/asm-parser-turboc.js';
export class DosboxCompiler extends BaseCompiler {
private readonly dosbox: string;

View File

@ -27,18 +27,18 @@ import path from 'path';
import fs from 'fs-extra';
import _ from 'underscore';
import {CompilationResult, ExecutionOptions} from '../../types/compilation/compilation.interfaces';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {
import type {CompilationResult, ExecutionOptions} from '../../types/compilation/compilation.interfaces.js';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {
BasicExecutionResult,
ExecutableExecutionOptions,
UnprocessedExecResult,
} from '../../types/execution/execution.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import * as exec from '../exec';
import {DotNetAsmParser} from '../parsers/asm-parser-dotnet';
import * as utils from '../utils';
} from '../../types/execution/execution.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import * as exec from '../exec.js';
import {DotNetAsmParser} from '../parsers/asm-parser-dotnet.js';
import * as utils from '../utils.js';
class DotNetCompiler extends BaseCompiler {
private readonly sdkBaseDir: string;

View File

@ -22,7 +22,7 @@
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
import {ClangCompiler} from './clang';
import {ClangCompiler} from './clang.js';
export class EllccCompiler extends ClangCompiler {
static override get key() {

View File

@ -24,10 +24,10 @@
import path from 'path';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import {ErlangParser} from './argument-parsers';
import {ErlangParser} from './argument-parsers.js';
export class ErlangCompiler extends BaseCompiler {
static get key() {

View File

@ -24,10 +24,10 @@
import temp from 'temp';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {AsmEWAVRParser} from '../parsers/asm-parser-ewavr';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import {AsmEWAVRParser} from '../parsers/asm-parser-ewavr.js';
export class EWARMCompiler extends BaseCompiler {
static get key() {

View File

@ -24,10 +24,10 @@
import temp from 'temp';
import {PreliminaryCompilerInfo} from '../../types/compiler.interfaces';
import {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces';
import {BaseCompiler} from '../base-compiler';
import {AsmEWAVRParser} from '../parsers/asm-parser-ewavr';
import type {PreliminaryCompilerInfo} from '../../types/compiler.interfaces.js';
import type {ParseFiltersAndOutputOptions} from '../../types/features/filters.interfaces.js';
import {BaseCompiler} from '../base-compiler.js';
import {AsmEWAVRParser} from '../parsers/asm-parser-ewavr.js';
export class EWAVRCompiler extends BaseCompiler {
static get key() {

Some files were not shown because too many files have changed in this diff Show More