mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2025-02-05 21:23:12 +08:00
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:
parent
5fee0e24a6
commit
633eb82d18
@ -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
2
.gitignore
vendored
@ -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*
|
||||
|
3
.idea/codeStyles/Project.xml
generated
3
.idea/codeStyles/Project.xml
generated
@ -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" />
|
||||
|
6
.idea/jsLibraryMappings.xml
generated
6
.idea/jsLibraryMappings.xml
generated
@ -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>
|
5
.idea/runConfigurations/app_js.xml
generated
5
.idea/runConfigurations/app_js.xml
generated
@ -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>
|
@ -1,6 +1,2 @@
|
||||
recursive: true
|
||||
ignore: test/filter-tests.js
|
||||
require:
|
||||
- esm
|
||||
- ts-node/register
|
||||
- source-map-support/register
|
||||
|
@ -1,5 +1 @@
|
||||
recursive: true
|
||||
require:
|
||||
- esm
|
||||
- ts-node/register
|
||||
- source-map-support/register
|
||||
|
15
.nycrc.yml
15
.nycrc.yml
@ -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
|
@ -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-*
|
||||
|
8
Makefile
8
Makefile
@ -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
52
app.ts
@ -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({
|
||||
|
@ -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
12
cypress/tsconfig.json
Normal 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"],
|
||||
}
|
||||
}
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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;",
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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")
|
||||
|
@ -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;
|
||||
|
@ -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;');
|
||||
|
@ -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;');
|
||||
|
@ -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;
|
||||
|
3
etc/scripts/parsed-pug/package.json
Normal file
3
etc/scripts/parsed-pug/package.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"type": "commonjs"
|
||||
}
|
@ -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();
|
@ -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',
|
@ -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';
|
||||
|
@ -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;
|
||||
|
@ -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 =
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
2
lib/asm-docs/generated/asm-docs-6502.ts
generated
2
lib/asm-docs/generated/asm-docs-6502.ts
generated
@ -1,4 +1,4 @@
|
||||
import {AssemblyInstructionInfo} from '../base';
|
||||
import {AssemblyInstructionInfo} from '../base.js';
|
||||
|
||||
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
|
||||
if (!opcode) return;
|
||||
|
2
lib/asm-docs/generated/asm-docs-amd64.ts
generated
2
lib/asm-docs/generated/asm-docs-amd64.ts
generated
@ -1,4 +1,4 @@
|
||||
import {AssemblyInstructionInfo} from '../base';
|
||||
import {AssemblyInstructionInfo} from '../base.js';
|
||||
|
||||
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
|
||||
if (!opcode) return;
|
||||
|
2
lib/asm-docs/generated/asm-docs-arm32.ts
generated
2
lib/asm-docs/generated/asm-docs-arm32.ts
generated
@ -1,4 +1,4 @@
|
||||
import {AssemblyInstructionInfo} from '../base';
|
||||
import {AssemblyInstructionInfo} from '../base.js';
|
||||
|
||||
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
|
||||
if (!opcode) return;
|
||||
|
2
lib/asm-docs/generated/asm-docs-avr.ts
generated
2
lib/asm-docs/generated/asm-docs-avr.ts
generated
@ -1,4 +1,4 @@
|
||||
import {AssemblyInstructionInfo} from '../base';
|
||||
import {AssemblyInstructionInfo} from '../base.js';
|
||||
|
||||
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
|
||||
if (!opcode) return;
|
||||
|
2
lib/asm-docs/generated/asm-docs-evm.ts
generated
2
lib/asm-docs/generated/asm-docs-evm.ts
generated
@ -1,4 +1,4 @@
|
||||
import {AssemblyInstructionInfo} from '../base';
|
||||
import {AssemblyInstructionInfo} from '../base.js';
|
||||
|
||||
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
|
||||
if (!opcode) return;
|
||||
|
2
lib/asm-docs/generated/asm-docs-java.ts
generated
2
lib/asm-docs/generated/asm-docs-java.ts
generated
@ -1,4 +1,4 @@
|
||||
import {AssemblyInstructionInfo} from '../base';
|
||||
import {AssemblyInstructionInfo} from '../base.js';
|
||||
|
||||
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
|
||||
if (!opcode) return;
|
||||
|
2
lib/asm-docs/generated/asm-docs-llvm.ts
generated
2
lib/asm-docs/generated/asm-docs-llvm.ts
generated
@ -1,4 +1,4 @@
|
||||
import {AssemblyInstructionInfo} from '../base';
|
||||
import {AssemblyInstructionInfo} from '../base.js';
|
||||
|
||||
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
|
||||
if (!opcode) return;
|
||||
|
2
lib/asm-docs/generated/asm-docs-python.ts
generated
2
lib/asm-docs/generated/asm-docs-python.ts
generated
@ -1,4 +1,4 @@
|
||||
import {AssemblyInstructionInfo} from '../base';
|
||||
import {AssemblyInstructionInfo} from '../base.js';
|
||||
|
||||
export function getAsmOpcode(opcode: string | undefined): AssemblyInstructionInfo | undefined {
|
||||
if (!opcode) return;
|
||||
|
@ -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);
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
|
@ -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',
|
||||
|
@ -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';
|
||||
|
@ -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;
|
||||
|
@ -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() {
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
2
lib/cache/base.interfaces.ts
vendored
2
lib/cache/base.interfaces.ts
vendored
@ -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
8
lib/cache/base.ts
vendored
@ -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';
|
||||
|
||||
|
14
lib/cache/from-config.ts
vendored
14
lib/cache/from-config.ts
vendored
@ -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);
|
||||
|
4
lib/cache/in-memory.ts
vendored
4
lib/cache/in-memory.ts
vendored
@ -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
4
lib/cache/multi.ts
vendored
@ -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
4
lib/cache/null.ts
vendored
@ -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) {
|
||||
|
6
lib/cache/on-disk.ts
vendored
6
lib/cache/on-disk.ts
vendored
@ -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
10
lib/cache/s3.ts
vendored
@ -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();
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
|
@ -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} {
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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';
|
||||
|
@ -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() {
|
||||
|
@ -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 {
|
||||
|
@ -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) {
|
||||
|
@ -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() {
|
||||
|
@ -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;
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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;
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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) {
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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() {
|
||||
|
@ -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
Loading…
x
Reference in New Issue
Block a user