mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2025-12-27 09:23:52 -05:00
Alrighty, round 2! This PR makes the compiler picker dropdown taller (max height is to the bottom of the screen)  I've added a toolbar button for opening the popout as well as a button when the dropdown is open:   Then the modal interface allows text searching, filtering by compiler category, and filtering by compiler instruction set. In the future I'd like to replace the instructionSet property with an architecture property so the filtering here can be a little better.  Demo of the category filtering:  The text filtering highlights results the same as tomselect does:  I moved the favorites permanently to their own column so compilers aren't jarringly shifted around the screen when favoriting / unfavoriting. Also added media queries so the modal looks ok on smaller screens:   I think the only other two changes from the first PR are now the active compiler is highlighted like it is in the tomselect dropdown and I figured out how to reliably focus the search bar on modal open. (Oh, and now clicking a compiler actually does something!) --------- Co-authored-by: Matt Godbolt <matt@godbolt.org>
197 lines
6.4 KiB
JSON
197 lines
6.4 KiB
JSON
{
|
|
"name": "compiler-explorer",
|
|
"description": "Interactively investigate compiler output",
|
|
"type": "module",
|
|
"private": true,
|
|
"author": {
|
|
"name": "Matt Godbolt",
|
|
"email": "matt@godbolt.org",
|
|
"url": "https://xania.org"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "compiler-explorer/compiler-explorer"
|
|
},
|
|
"version": "0.0.3",
|
|
"engines": {
|
|
"node": ">=16"
|
|
},
|
|
"main": "./app.ts",
|
|
"dependencies": {
|
|
"@aws-sdk/client-dynamodb": "^3.282.0",
|
|
"@aws-sdk/client-ec2": "^3.282.0",
|
|
"@aws-sdk/client-s3": "^3.282.0",
|
|
"@aws-sdk/client-ssm": "^3.282.0",
|
|
"@flatten-js/interval-tree": "^1.0.20",
|
|
"@fortawesome/fontawesome-free": "^6.2.1",
|
|
"@orchidjs/sifter": "^1.0.3",
|
|
"@sentry/browser": "^7.28.1",
|
|
"@sentry/node": "^7.28.1",
|
|
"@types/morgan": "^1.9.4",
|
|
"big-integer": "^1.6.51",
|
|
"body-parser": "^1.19.1",
|
|
"bootstrap": "^4.6.1",
|
|
"buffer": "^6.0.3",
|
|
"chart.js": "^3.6.2",
|
|
"clipboard": "^2.0.8",
|
|
"compression": "^1.7.1",
|
|
"copy-webpack-plugin": "^11.0.0",
|
|
"cross-env": "^7.0.3",
|
|
"eslint-plugin-header": "^3.1.1",
|
|
"eslint-plugin-prettier": "^4.2.1",
|
|
"events": "^3.3.0",
|
|
"express": "^4.17.2",
|
|
"file-saver": "^2.0.5",
|
|
"fs-extra": "^11.1.0",
|
|
"golden-layout": "^1.5.9",
|
|
"http-proxy": "^1.18.1",
|
|
"husky": "^8.0.1",
|
|
"husky-init": "^8.0.0",
|
|
"jquery": "^3.6.0",
|
|
"js-cookie": "^3.0.1",
|
|
"jszip": "^3.7.1",
|
|
"lodash": "^4.17.21",
|
|
"lodash.clonedeep": "^4.5.0",
|
|
"lru-cache": "^8.0.0",
|
|
"lz-string": "^1.4.4",
|
|
"monaco-editor": "^0.36.1",
|
|
"monaco-vim": "^0.3.5",
|
|
"morgan": "^1.10.0",
|
|
"node-targz": "^0.2.0",
|
|
"nopt": "^7.0.0",
|
|
"p-queue": "^7.0.0",
|
|
"path-browserify": "^1.0.1",
|
|
"popper.js": "^1.16.1",
|
|
"profanities": "^3.0.1",
|
|
"prom-client": "^14.0.1",
|
|
"pug": "^3.0.2",
|
|
"qs": "^6.11.0",
|
|
"request": "^2.88.2",
|
|
"response-time": "^2.3.2",
|
|
"sanitize-filename": "^1.6.3",
|
|
"scroll-into-view-if-needed": "^2.2.29",
|
|
"semver": "^7.3.5",
|
|
"serve-favicon": "^2.4.5",
|
|
"shell-quote": "^1.7.3",
|
|
"systemd-socket": "0.0.0",
|
|
"tar-stream": "^3.0.0",
|
|
"temp": "^0.9.4",
|
|
"tom-select": "2.0.3",
|
|
"tree-kill": "^1.2.2",
|
|
"triple-beam": "^1.3.0",
|
|
"ts-node": "^10.4.0",
|
|
"tslib": "^2.3.1",
|
|
"underscore": "^1.13.2",
|
|
"url-join": "^5.0.0",
|
|
"whatwg-fetch": "^3.6.2",
|
|
"which": "^3.0.0",
|
|
"winston": "^3.3.3",
|
|
"winston-loki": "^6.0.3",
|
|
"winston-papertrail": "^1.0.5",
|
|
"winston-transport": "^4.4.1",
|
|
"yaml": "^2.2.1"
|
|
},
|
|
"devDependencies": {
|
|
"@aws-sdk/util-stream-node": "^3.282.0",
|
|
"@babel/preset-typescript": "^7.16.5",
|
|
"@types/body-parser": "^1.19.2",
|
|
"@types/bootstrap": "^5.1.6",
|
|
"@types/chai": "^4.3.4",
|
|
"@types/chai-as-promised": "^7.1.5",
|
|
"@types/express": "^4.17.14",
|
|
"@types/file-saver": "^2.0.5",
|
|
"@types/fs-extra": "^11.0.1",
|
|
"@types/http-proxy": "^1.17.9",
|
|
"@types/jquery": "^3.5.10",
|
|
"@types/js-cookie": "^3.0.2",
|
|
"@types/mocha": "^10.0.1",
|
|
"@types/node-targz": "^0.2.0",
|
|
"@types/qs": "^6.9.7",
|
|
"@types/request": "^2.48.8",
|
|
"@types/shell-quote": "^1.7.1",
|
|
"@types/tar-fs": "^2.0.1",
|
|
"@types/temp": "^0.9.1",
|
|
"@types/underscore": "^1.11.4",
|
|
"@types/webpack-env": "^1.18.0",
|
|
"@typescript-eslint/eslint-plugin": "^5.8.0",
|
|
"@typescript-eslint/parser": "^5.8.0",
|
|
"approvals": "https://github.com/approvals/Approvals.NodeJS.git#d3cc041b5b8950e51671038094a3cee3f4eac9be",
|
|
"aws-sdk-client-mock": "^2.0.1",
|
|
"c8": "^7.13.0",
|
|
"chai": "^4.3.4",
|
|
"chai-as-promised": "^7.1.1",
|
|
"chai-http": "^4.2.1",
|
|
"cheerio": "^1.0.0-rc.10",
|
|
"codecov": "^3.8.3",
|
|
"css-loader": "^6.5.1",
|
|
"css-minimizer-webpack-plugin": "^4.2.2",
|
|
"cypress": "^9.2.0",
|
|
"deep-equal-in-any-order": "^2.0.1",
|
|
"eslint": "^8.5.0",
|
|
"eslint-config-prettier": "^8.3.0",
|
|
"eslint-formatter-github": "^1.1.3",
|
|
"eslint-import-resolver-typescript": "^3.5.2",
|
|
"eslint-plugin-import": "^2.25.3",
|
|
"eslint-plugin-jsdoc": "^40.0.1",
|
|
"eslint-plugin-node": "^11.1.0",
|
|
"eslint-plugin-promise": "^6.0.0",
|
|
"eslint-plugin-requirejs": "^4.0.1",
|
|
"eslint-plugin-sonarjs": "^0.18.0",
|
|
"eslint-plugin-unicorn": "^46.0.0",
|
|
"eslint-plugin-unused-imports": "^2.0.0",
|
|
"file-loader": "^6.2.0",
|
|
"lint-staged": "^13.0.3",
|
|
"mini-css-extract-plugin": "^2.4.5",
|
|
"mocha": "^10.2.0",
|
|
"mock-fs": "^5.1.2",
|
|
"monaco-editor-webpack-plugin": "^7.0.1",
|
|
"nock": "^13.2.1",
|
|
"prettier": "^2.5.1",
|
|
"sass": "^1.45.1",
|
|
"sass-loader": "^13.2.0",
|
|
"sinon": "^15.0.1",
|
|
"source-map-loader": "^4.0.1",
|
|
"supervisor": "^0.12.0",
|
|
"terser-webpack-plugin": "^5.3.0",
|
|
"ts-loader": "^9.2.6",
|
|
"typescript": "^4.7.4",
|
|
"url-loader": "^4.1.1",
|
|
"webpack": "^5.75.0",
|
|
"webpack-cli": "^5.0.1",
|
|
"webpack-dev-middleware": "^6.0.1",
|
|
"webpack-dev-server": "^4.11.1",
|
|
"webpack-manifest-plugin": "^5.0.0"
|
|
},
|
|
"mocha": {
|
|
"require": [
|
|
"test/_setup.js"
|
|
]
|
|
},
|
|
"scripts": {
|
|
"ci-lint": "eslint --format github .",
|
|
"ci-test": "c8 npm run test",
|
|
"cypress": "cypress run",
|
|
"lint": "eslint --max-warnings=0 . --fix",
|
|
"lint-check": "eslint --max-warnings=0 .",
|
|
"lint-files": "eslint --max-warnings=0",
|
|
"test": "ts-node-esm ./node_modules/mocha/bin/mocha.js -b 'test/**/*.ts' 'test/**/*.js'",
|
|
"test-min": "ts-node-esm ./node_modules/mocha/bin/mocha.js -b --config .mocharc-min.yml",
|
|
"fix": "npm run lint && npm run format && npm run ts-check",
|
|
"check": "npm run ts-check && npm run lint-check && npm run test-min -- --reporter min",
|
|
"dev": "cross-env NODE_ENV=DEV ts-node-esm app.ts",
|
|
"debugger": "cross-env NODE_ENV=DEV ts-node-esm --inspect app.ts --debug",
|
|
"debug": "cross-env NODE_ENV=DEV ts-node-esm app.ts --debug",
|
|
"start": "npm run webpack && cross-env NODE_ENV=LOCAL ts-node-esm app.ts",
|
|
"codecov": "codecov --disable=gcov",
|
|
"sentry": "npx -p @sentry/cli sentry-cli",
|
|
"update-browserslist": "npx browserslist@latest -- --update-db",
|
|
"prepare": "husky install",
|
|
"format": "prettier --write .",
|
|
"format-files": "prettier --write --ignore-unknown",
|
|
"ts-compile": "tsc",
|
|
"ts-check": "tsc -p ./tsconfig.backend.json --noEmit && tsc -p ./tsconfig.frontend.json --noEmit",
|
|
"webpack": "ts-node-esm ./node_modules/webpack-cli/bin/cli.js --node-env=production --config webpack.config.esm.ts"
|
|
},
|
|
"license": "BSD-2-Clause"
|
|
}
|