Files
compiler-explorer/package.json
Jeremy Rifkin 55dc09017e Compiler Picker UI Improvements (#4849)
Alrighty, round 2!

This PR makes the compiler picker dropdown taller (max height is to the
bottom of the screen)

![image](https://user-images.githubusercontent.com/51220084/224517409-17706ba6-fe85-444a-ad3b-f244f66eea5b.png)

I've added a toolbar button for opening the popout as well as a button
when the dropdown is open:


![image](https://user-images.githubusercontent.com/51220084/224517304-6478fca5-7bc1-4f87-b2ae-e9091d7d48bc.png)

![image](https://user-images.githubusercontent.com/51220084/224517317-83468805-1e9d-4bc6-8a4f-8786325f1e7b.png)

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.


![image](https://user-images.githubusercontent.com/51220084/224517348-9cf40866-c5af-4274-84ba-21eb640ab2ea.png)

Demo of the category filtering:


![image](https://user-images.githubusercontent.com/51220084/224517529-5370b3f9-9ad3-4340-838a-b2d0a47c7467.png)

The text filtering highlights results the same as tomselect does:


![image](https://user-images.githubusercontent.com/51220084/224517490-d0dfa6d0-9b61-4be4-8cc7-ca4a4729a532.png)

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:


![image](https://user-images.githubusercontent.com/51220084/224517563-bdf409c1-7e3a-4c73-812b-f02179b55799.png)


![image](https://user-images.githubusercontent.com/51220084/224517574-07fa2c8b-67d2-496d-9174-b1343e22bd62.png)

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>
2023-03-12 17:07:44 -04:00

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"
}