From b7184dcfc4e2b4efd24937cb6910639919f7081c Mon Sep 17 00:00:00 2001 From: Saeed Vaziry <61919774+saeedvaziry@users.noreply.github.com> Date: Mon, 25 Nov 2024 23:27:37 +0100 Subject: [PATCH] add more lint (#378) --- .prettierignore | 14 + .prettierrc | 12 +- .../Database/scripts/mariadb/install-10.11.sh | 2 +- .../Database/scripts/mariadb/install-10.3.sh | 2 +- .../Database/scripts/mariadb/install-10.4.sh | 2 +- .../Database/scripts/mariadb/install-10.6.sh | 2 +- .../Database/scripts/mariadb/install-11.4.sh | 2 +- .../scripts/supervisor/delete-worker.sh | 1 - docker/Dockerfile | 4 +- docker/start.sh | 2 +- package-lock.json | 47 +++ package.json | 5 +- resources/css/filament/app/theme.css | 26 +- resources/css/toastr.css | 256 ------------- resources/js/ace-editor/mode-env.js | 282 +++++++------- resources/js/ace-editor/mode-nginx.js | 357 +++++++++++------- scripts/install.sh | 22 +- 17 files changed, 489 insertions(+), 549 deletions(-) create mode 100644 .prettierignore delete mode 100644 resources/css/toastr.css diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..8eddfc8 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,14 @@ +.git/ +.scribe/ +node_modules/ +public/ +storage/ +vendor/ +composer.lock +.env +.env.example +sail +*.md +*.yml +!*.blade.php +!*.sh diff --git a/.prettierrc b/.prettierrc index 3ff0972..3c78153 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,5 +1,9 @@ { - "plugins": ["prettier-plugin-blade", "prettier-plugin-tailwindcss"], + "plugins": [ + "prettier-plugin-blade", + "prettier-plugin-tailwindcss", + "prettier-plugin-sh" + ], "overrides": [ { "files": ["*.blade.php"], @@ -11,6 +15,12 @@ "quoteProps": "consistent", "trailingComma": "none" } + }, + { + "files": ["*.sh"], + "options": { + "parser": "sh" + } } ] } diff --git a/app/SSH/Services/Database/scripts/mariadb/install-10.11.sh b/app/SSH/Services/Database/scripts/mariadb/install-10.11.sh index 4e4d170..c1db0e8 100755 --- a/app/SSH/Services/Database/scripts/mariadb/install-10.11.sh +++ b/app/SSH/Services/Database/scripts/mariadb/install-10.11.sh @@ -3,7 +3,7 @@ wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup chmod +x mariadb_repo_setup sudo DEBIAN_FRONTEND=noninteractive ./mariadb_repo_setup \ - --mariadb-server-version="mariadb-10.11" + --mariadb-server-version="mariadb-10.11" sudo DEBIAN_FRONTEND=noninteractive apt-get update diff --git a/app/SSH/Services/Database/scripts/mariadb/install-10.3.sh b/app/SSH/Services/Database/scripts/mariadb/install-10.3.sh index 06ede44..e8e6695 100755 --- a/app/SSH/Services/Database/scripts/mariadb/install-10.3.sh +++ b/app/SSH/Services/Database/scripts/mariadb/install-10.3.sh @@ -3,7 +3,7 @@ wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup chmod +x mariadb_repo_setup sudo DEBIAN_FRONTEND=noninteractive ./mariadb_repo_setup \ - --mariadb-server-version="mariadb-10.3" + --mariadb-server-version="mariadb-10.3" sudo DEBIAN_FRONTEND=noninteractive apt-get update diff --git a/app/SSH/Services/Database/scripts/mariadb/install-10.4.sh b/app/SSH/Services/Database/scripts/mariadb/install-10.4.sh index 6e1a075..53deeb2 100755 --- a/app/SSH/Services/Database/scripts/mariadb/install-10.4.sh +++ b/app/SSH/Services/Database/scripts/mariadb/install-10.4.sh @@ -3,7 +3,7 @@ wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup chmod +x mariadb_repo_setup sudo DEBIAN_FRONTEND=noninteractive ./mariadb_repo_setup \ - --mariadb-server-version="mariadb-10.4" + --mariadb-server-version="mariadb-10.4" sudo DEBIAN_FRONTEND=noninteractive apt-get update diff --git a/app/SSH/Services/Database/scripts/mariadb/install-10.6.sh b/app/SSH/Services/Database/scripts/mariadb/install-10.6.sh index 393595b..b3ef187 100755 --- a/app/SSH/Services/Database/scripts/mariadb/install-10.6.sh +++ b/app/SSH/Services/Database/scripts/mariadb/install-10.6.sh @@ -3,7 +3,7 @@ wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup chmod +x mariadb_repo_setup sudo DEBIAN_FRONTEND=noninteractive ./mariadb_repo_setup \ - --mariadb-server-version="mariadb-10.6" + --mariadb-server-version="mariadb-10.6" sudo DEBIAN_FRONTEND=noninteractive apt-get update diff --git a/app/SSH/Services/Database/scripts/mariadb/install-11.4.sh b/app/SSH/Services/Database/scripts/mariadb/install-11.4.sh index 739261a..3805287 100755 --- a/app/SSH/Services/Database/scripts/mariadb/install-11.4.sh +++ b/app/SSH/Services/Database/scripts/mariadb/install-11.4.sh @@ -3,7 +3,7 @@ wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup chmod +x mariadb_repo_setup sudo DEBIAN_FRONTEND=noninteractive ./mariadb_repo_setup \ - --mariadb-server-version="mariadb-11.4" + --mariadb-server-version="mariadb-11.4" sudo DEBIAN_FRONTEND=noninteractive apt-get update diff --git a/app/SSH/Services/ProcessManager/scripts/supervisor/delete-worker.sh b/app/SSH/Services/ProcessManager/scripts/supervisor/delete-worker.sh index 13ace91..3fae91c 100644 --- a/app/SSH/Services/ProcessManager/scripts/supervisor/delete-worker.sh +++ b/app/SSH/Services/ProcessManager/scripts/supervisor/delete-worker.sh @@ -17,4 +17,3 @@ fi if ! sudo supervisorctl update; then echo 'VITO_SSH_ERROR' && exit 1 fi - diff --git a/docker/Dockerfile b/docker/Dockerfile index b4fc2e3..dcf28d4 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -16,11 +16,11 @@ RUN apt-get install -y nginx # php RUN apt-get update \ && apt-get install -y cron gnupg gosu curl ca-certificates zip unzip supervisor libcap2-bin libpng-dev \ - python2 dnsutils librsvg2-bin fswatch wget openssh-client \ + python2 dnsutils librsvg2-bin fswatch wget openssh-client \ && add-apt-repository ppa:ondrej/php -y \ && apt-get update \ && apt-get install -y php8.2 php8.2-fpm php8.2-mbstring php8.2-mcrypt php8.2-gd php8.2-xml \ - php8.2-curl php8.2-gettext php8.2-zip php8.2-bcmath php8.2-soap php8.2-redis php8.2-sqlite3 php8.2-intl + php8.2-curl php8.2-gettext php8.2-zip php8.2-bcmath php8.2-soap php8.2-redis php8.2-sqlite3 php8.2-intl COPY docker/php.ini /etc/php/8.2/cli/conf.d/99-vito.ini # composer diff --git a/docker/start.sh b/docker/start.sh index db555ae..ce36548 100644 --- a/docker/start.sh +++ b/docker/start.sh @@ -23,7 +23,7 @@ fi # Check if APP_KEY starts with 'base64:' if [[ $APP_KEY == base64:* ]]; then # Remove 'base64:' prefix and decode the base64 string - decoded_key=$(echo "${APP_KEY:7}" | base64 --decode 2>/dev/null) + decoded_key=$(echo "${APP_KEY:7}" | base64 --decode 2> /dev/null) # Check if decoding was successful if [ $? -ne 0 ]; then diff --git a/package-lock.json b/package-lock.json index 1e968dd..2911375 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "postcss-nesting": "^13.0.0", "prettier": "^3.2.5", "prettier-plugin-blade": "^2.1.6", + "prettier-plugin-sh": "^0.14.0", "prettier-plugin-tailwindcss": "^0.5.11", "tailwindcss": "^3.4.10", "tippy.js": "^6.3.7", @@ -1405,6 +1406,12 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/mvdan-sh": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/mvdan-sh/-/mvdan-sh-0.10.1.tgz", + "integrity": "sha512-kMbrH0EObaKmK3nVRKUIIya1dpASHIEusM13S4V1ViHFuxuNxCo+arxoa6j/dbV22YBGjl7UKJm9QQKJ2Crzhg==", + "dev": true + }, "node_modules/mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", @@ -1828,6 +1835,25 @@ "prettier": ">=3" } }, + "node_modules/prettier-plugin-sh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-sh/-/prettier-plugin-sh-0.14.0.tgz", + "integrity": "sha512-hfXulj5+zEl/ulrO5kMuuTPKmXvOg0bnLHY1hKFNN/N+/903iZbNp8NyZBTsgI8dtkSgFfAEIQq0IQTyP1ZVFQ==", + "dev": true, + "dependencies": { + "mvdan-sh": "^0.10.1", + "sh-syntax": "^0.4.1" + }, + "engines": { + "node": ">=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + }, + "peerDependencies": { + "prettier": "^3.0.3" + } + }, "node_modules/prettier-plugin-tailwindcss": { "version": "0.5.14", "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.14.tgz", @@ -2009,6 +2035,21 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/sh-syntax": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/sh-syntax/-/sh-syntax-0.4.2.tgz", + "integrity": "sha512-/l2UZ5fhGZLVZa16XQM9/Vq/hezGGbdHeVEA01uWjOL1+7Ek/gt6FquW0iKKws4a9AYPYvlz6RyVvjh3JxOteg==", + "dev": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -2370,6 +2411,12 @@ "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", "dev": true }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true + }, "node_modules/update-browserslist-db": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", diff --git a/package.json b/package.json index b34ec45..a6c52e3 100644 --- a/package.json +++ b/package.json @@ -3,8 +3,8 @@ "scripts": { "dev": "vite", "build": "vite build", - "lint": "prettier --check ./resources/views", - "lint:fix": "prettier --write ./resources/views" + "lint": "prettier --check .", + "lint:fix": "prettier --write ." }, "devDependencies": { "@tailwindcss/forms": "^0.5.9", @@ -22,6 +22,7 @@ "postcss-nesting": "^13.0.0", "prettier": "^3.2.5", "prettier-plugin-blade": "^2.1.6", + "prettier-plugin-sh": "^0.14.0", "prettier-plugin-tailwindcss": "^0.5.11", "tailwindcss": "^3.4.10", "tippy.js": "^6.3.7", diff --git a/resources/css/filament/app/theme.css b/resources/css/filament/app/theme.css index d7824dc..e5e888f 100644 --- a/resources/css/filament/app/theme.css +++ b/resources/css/filament/app/theme.css @@ -1,4 +1,4 @@ -@import '/vendor/filament/filament/resources/css/theme.css'; +@import "/vendor/filament/filament/resources/css/theme.css"; @config 'tailwind.config.js'; @@ -14,7 +14,8 @@ .fi-sidebar { @apply bg-gray-100 dark:bg-gray-900 !important; } -.fi-sidebar-item a, .fi-tenant-menu-trigger { +.fi-sidebar-item a, +.fi-tenant-menu-trigger { @apply hover:bg-gray-200/50 hover:dark:bg-gray-800 !important; } @@ -22,13 +23,24 @@ .fi-sidebar-item-active a { @apply bg-gray-200/50 dark:bg-gray-800 !important; } - .fi-btn-color-primary { - background-image: linear-gradient(to bottom right, rgba(var(--primary-500), 1), rgba(var(--primary-900), 1)); - box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a; + background-image: linear-gradient( + to bottom right, + rgba(var(--primary-500), 1), + rgba(var(--primary-900), 1) + ); + box-shadow: + 0 4px 6px -1px #0000001a, + 0 2px 4px -2px #0000001a; } .bg-primary-700-gradient { - background-image: linear-gradient(to bottom right, rgba(var(--primary-300), 1), rgba(var(--primary-700), 1)); - box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a; + background-image: linear-gradient( + to bottom right, + rgba(var(--primary-300), 1), + rgba(var(--primary-700), 1) + ); + box-shadow: + 0 4px 6px -1px #0000001a, + 0 2px 4px -2px #0000001a; } diff --git a/resources/css/toastr.css b/resources/css/toastr.css deleted file mode 100644 index 3f175cd..0000000 --- a/resources/css/toastr.css +++ /dev/null @@ -1,256 +0,0 @@ -.toast-title { - font-weight: bold; -} - -.toast-message { - -ms-word-wrap: break-word; - word-wrap: break-word; -} - -.toast-message a, -.toast-message label { - color: #FFFFFF; -} - -.toast-message a:hover { - color: #CCCCCC; - text-decoration: none; -} - -.toast-close-button { - position: relative; - right: -0.3em; - top: -0.3em; - float: right; - font-size: 20px; - font-weight: bold; - color: #FFFFFF; - -webkit-text-shadow: 0 1px 0 #ffffff; - text-shadow: 0 1px 0 #ffffff; - opacity: 0.8; - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); - filter: alpha(opacity=80); - line-height: 1; -} - -.toast-close-button:hover, -.toast-close-button:focus { - color: #000000; - text-decoration: none; - cursor: pointer; - opacity: 0.4; - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40); - filter: alpha(opacity=40); -} - -.rtl .toast-close-button { - left: -0.3em; - float: left; - right: 0.3em; -} - -/*Additional properties for button version - iOS requires the button element instead of an anchor tag. - If you want the anchor version, it requires `href="#"`.*/ -button.toast-close-button { - padding: 0; - cursor: pointer; - background: transparent; - border: 0; - -webkit-appearance: none; -} - -.toast-top-center { - top: 0; - right: 0; - width: 100%; -} - -.toast-bottom-center { - bottom: 0; - right: 0; - width: 100%; -} - -.toast-top-full-width { - top: 0; - right: 0; - width: 100%; -} - -.toast-bottom-full-width { - bottom: 0; - right: 0; - width: 100%; -} - -.toast-top-left { - top: 12px; - left: 12px; -} - -.toast-top-right { - top: 12px; - right: 12px; -} - -.toast-bottom-right { - right: 12px; - bottom: 12px; -} - -.toast-bottom-left { - bottom: 12px; - left: 12px; -} - -#toast-container { - position: fixed; - z-index: 999999; - pointer-events: none; - /*overrides*/ -} - -#toast-container * { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; -} - -#toast-container > div { - @apply rounded-lg; - position: relative; - pointer-events: auto; - overflow: hidden; - margin: 0 0 6px; - padding: 15px 15px 15px 50px; - width: 300px; - background-position: 15px center; - background-repeat: no-repeat; - color: #FFFFFF; -} - -#toast-container > div.rtl { - direction: rtl; - padding: 15px 50px 15px 15px; - background-position: right 15px center; -} - -#toast-container > div:hover { - @apply shadow-md cursor-pointer; -} - -#toast-container > .toast-info { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important; -} - -#toast-container > .toast-error { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important; -} - -#toast-container > .toast-success { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important; -} - -#toast-container > .toast-warning { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important; -} - -#toast-container.toast-top-center > div, -#toast-container.toast-bottom-center > div { - width: 300px; - margin-left: auto; - margin-right: auto; -} - -#toast-container.toast-top-full-width > div, -#toast-container.toast-bottom-full-width > div { - width: 96%; - margin-left: auto; - margin-right: auto; -} - -.toast { - background-color: #030303; -} - -.toast-success { - @apply bg-green-500; -} - -.toast-error { - @apply bg-red-500; -} - -.toast-info { - @apply bg-primary-500; -} - -.toast-warning { - @apply bg-yellow-500; -} - -.toast-progress { - position: absolute; - left: 0; - bottom: 0; - height: 4px; - background-color: #000000; - opacity: 0.4; - -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40); - filter: alpha(opacity=40); -} - -/*Responsive Design*/ -@media all and (max-width: 240px) { - #toast-container > div { - padding: 8px 8px 8px 50px; - width: 11em; - } - - #toast-container > div.rtl { - padding: 8px 50px 8px 8px; - } - - #toast-container .toast-close-button { - right: -0.2em; - top: -0.2em; - } - - #toast-container .rtl .toast-close-button { - left: -0.2em; - right: 0.2em; - } -} - -@media all and (min-width: 241px) and (max-width: 480px) { - #toast-container > div { - padding: 8px 8px 8px 50px; - width: 18em; - } - - #toast-container > div.rtl { - padding: 8px 50px 8px 8px; - } - - #toast-container .toast-close-button { - right: -0.2em; - top: -0.2em; - } - - #toast-container .rtl .toast-close-button { - left: -0.2em; - right: 0.2em; - } -} - -@media all and (min-width: 481px) and (max-width: 768px) { - #toast-container > div { - padding: 15px 15px 15px 50px; - width: 25em; - } - - #toast-container > div.rtl { - padding: 15px 50px 15px 15px; - } -} diff --git a/resources/js/ace-editor/mode-env.js b/resources/js/ace-editor/mode-env.js index d4a1c20..6824c14 100644 --- a/resources/js/ace-editor/mode-env.js +++ b/resources/js/ace-editor/mode-env.js @@ -1,136 +1,158 @@ -ace.define("ace/mode/env", ["require", "exports", "module", "ace/lib/oop", "ace/mode/text", "ace/mode/env_highlight_rules", "ace/mode/folding/ini","ace/mode/behaviour"], function (require, exports) { - var oop = require("../lib/oop"); - var TextMode = require("./text").Mode; - var Behaviour = require("./behaviour").Behaviour; - var envHighlightRules = require("./env_highlight_rules").envHighlightRules; +ace.define( + "ace/mode/env", + [ + "require", + "exports", + "module", + "ace/lib/oop", + "ace/mode/text", + "ace/mode/env_highlight_rules", + "ace/mode/folding/ini", + "ace/mode/behaviour", + ], + function (require, exports) { + var oop = require("../lib/oop"); + var TextMode = require("./text").Mode; + var Behaviour = require("./behaviour").Behaviour; + var envHighlightRules = + require("./env_highlight_rules").envHighlightRules; - var Mode = function () { - this.HighlightRules = envHighlightRules; - this.$behaviour = new Behaviour - }; - - oop.inherits(Mode, TextMode); - - (function() { - this.lineCommentStart = "#", - this.blockComment = null, - this.$id = "ace/mode/env" - }).call(Mode.prototype), - - exports.Mode = Mode; -}) -ace.define("ace/mode/env_highlight_rules", ["require", "exports", "module", "ace/lib/oop", "ace/mode/text_highlight_rules"], function (require, exports, module) { - "use strict"; - - var oop = require("../lib/oop"); - var TextHighlightRules = - require("./text_highlight_rules").TextHighlightRules; - - var envHighlightRules = function () { - this.$rules = { - start: [ - { - token: "punctuation.definition.comment.env", - regex: "#.*", - push_: [ - { - token: "comment.line.number-sign.env", - regex: "$|^", - next: "pop", - }, - { - defaultToken: "comment.line.number-sign.env", - }, - ], - }, - { - token: "punctuation.definition.comment.env", - regex: "#.*", - push_: [ - { - token: "comment.line.semicolon.env", - regex: "$|^", - next: "pop", - }, - { - defaultToken: "comment.line.semicolon.env", - }, - ], - }, - { - token: [ - "keyword.other.definition.env", - "text", - "punctuation.separator.key-value.env", - ], - regex: "\\b([a-zA-Z0-9_.-]+)\\b(\\s*)(=)", - }, - { - token: [ - "punctuation.definition.entity.env", - "constant.section.group-title.env", - "punctuation.definition.entity.env", - ], - regex: "^(\\[)(.*?)(\\])", - }, - { - token: "punctuation.definition.string.begin.env", - regex: "'", - push: [ - { - token: "punctuation.definition.string.end.env", - regex: "'", - next: "pop", - }, - { - token: "constant.language.escape", - regex: "\\\\(?:[\\\\0abtrn;#=:]|x[a-fA-F\\d]{4})", - }, - { - defaultToken: "string.quoted.single.env", - }, - ], - }, - { - token: "punctuation.definition.string.begin.env", - regex: '"', - push: [ - { - token: "constant.language.escape", - regex: "\\\\(?:[\\\\0abtrn;#=:]|x[a-fA-F\\d]{4})", - }, - { - token: "support.constant.color", - regex: /\${[\w]+}/, - }, - { - token: "punctuation.definition.string.end.env", - regex: '"', - next: "pop", - }, - { - defaultToken: "string.quoted.double.env", - }, - ], - }, - { - token: "constant.language.boolean", - regex: /(?:true|false)\b/, - }, - ], + var Mode = function () { + this.HighlightRules = envHighlightRules; + this.$behaviour = new Behaviour(); }; - this.normalizeRules(); - }; - envHighlightRules.metaData = { - fileTypes: ["env"], - keyEquivalent: "^~I", - name: "Env", - scopeName: "source.env", - }; + oop.inherits(Mode, TextMode); - oop.inherits(envHighlightRules, TextHighlightRules); + (function () { + (this.lineCommentStart = "#"), + (this.blockComment = null), + (this.$id = "ace/mode/env"); + }).call(Mode.prototype), + (exports.Mode = Mode); + }, +); +ace.define( + "ace/mode/env_highlight_rules", + [ + "require", + "exports", + "module", + "ace/lib/oop", + "ace/mode/text_highlight_rules", + ], + function (require, exports, module) { + "use strict"; - exports.envHighlightRules = envHighlightRules; -}); + var oop = require("../lib/oop"); + var TextHighlightRules = + require("./text_highlight_rules").TextHighlightRules; + var envHighlightRules = function () { + this.$rules = { + start: [ + { + token: "punctuation.definition.comment.env", + regex: "#.*", + push_: [ + { + token: "comment.line.number-sign.env", + regex: "$|^", + next: "pop", + }, + { + defaultToken: "comment.line.number-sign.env", + }, + ], + }, + { + token: "punctuation.definition.comment.env", + regex: "#.*", + push_: [ + { + token: "comment.line.semicolon.env", + regex: "$|^", + next: "pop", + }, + { + defaultToken: "comment.line.semicolon.env", + }, + ], + }, + { + token: [ + "keyword.other.definition.env", + "text", + "punctuation.separator.key-value.env", + ], + regex: "\\b([a-zA-Z0-9_.-]+)\\b(\\s*)(=)", + }, + { + token: [ + "punctuation.definition.entity.env", + "constant.section.group-title.env", + "punctuation.definition.entity.env", + ], + regex: "^(\\[)(.*?)(\\])", + }, + { + token: "punctuation.definition.string.begin.env", + regex: "'", + push: [ + { + token: "punctuation.definition.string.end.env", + regex: "'", + next: "pop", + }, + { + token: "constant.language.escape", + regex: "\\\\(?:[\\\\0abtrn;#=:]|x[a-fA-F\\d]{4})", + }, + { + defaultToken: "string.quoted.single.env", + }, + ], + }, + { + token: "punctuation.definition.string.begin.env", + regex: '"', + push: [ + { + token: "constant.language.escape", + regex: "\\\\(?:[\\\\0abtrn;#=:]|x[a-fA-F\\d]{4})", + }, + { + token: "support.constant.color", + regex: /\${[\w]+}/, + }, + { + token: "punctuation.definition.string.end.env", + regex: '"', + next: "pop", + }, + { + defaultToken: "string.quoted.double.env", + }, + ], + }, + { + token: "constant.language.boolean", + regex: /(?:true|false)\b/, + }, + ], + }; + this.normalizeRules(); + }; + + envHighlightRules.metaData = { + fileTypes: ["env"], + keyEquivalent: "^~I", + name: "Env", + scopeName: "source.env", + }; + + oop.inherits(envHighlightRules, TextHighlightRules); + + exports.envHighlightRules = envHighlightRules; + }, +); diff --git a/resources/js/ace-editor/mode-nginx.js b/resources/js/ace-editor/mode-nginx.js index c9f7500..c2825e6 100644 --- a/resources/js/ace-editor/mode-nginx.js +++ b/resources/js/ace-editor/mode-nginx.js @@ -1,143 +1,234 @@ -ace.define("ace/mode/nginx_highlight_rules", ["require", "exports", "module", "ace/lib/oop", "ace/mode/text_highlight_rules"], function (require, exports) { - "use strict"; +ace.define( + "ace/mode/nginx_highlight_rules", + [ + "require", + "exports", + "module", + "ace/lib/oop", + "ace/mode/text_highlight_rules", + ], + function (require, exports) { + "use strict"; - var oop = require("../lib/oop"); - var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; - var NginxHighlightRules = function () { - var keywords = "include|index|absolute_redirect|aio|output_buffers|directio|sendfile|aio_write|alias|root|chunked_transfer_encoding|client_body_buffer_size|client_body_in_file_only|client_body_in_single_buffer|client_body_temp_path|client_body_timeout|client_header_buffer_size|client_header_timeout|client_max_body_size|connection_pool_size|default_type|disable_symlinks|directio_alignment|error_page|etag|if_modified_since|ignore_invalid_headers|internal|keepalive_requests|keepalive_disable|keepalive_timeout|limit_except|large_client_header_buffers|limit_rate|limit_rate_after|lingering_close|lingering_time|lingering_timeout|listen|log_not_found|log_subrequest|max_ranges|merge_slashes|msie_padding|msie_refresh|open_file_cache|open_file_cache_errors|open_file_cache_min_uses|open_file_cache_valid|output_buffers|port_in_redirect|postpone_output|read_ahead|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver|resolver_timeout|satisfy|send_lowat|send_timeout|sendfile|sendfile_max_chunk|server_name|server_name_in_redirect|server_names_hash_bucket_size|server_names_hash_max_size|server_tokens|subrequest_output_buffer_size|tcp_nodelay|tcp_nopush|try_files|types|types_hash_bucket_size|types_hash_max_size|underscores_in_headers|variables_hash_bucket_size|variables_hash_max_size|accept_mutex|accept_mutex_delay|debug_connection|error_log|daemon|debug_points|env|load_module|lock_file|master_process|multi_accept|pcre_jit|pid|ssl_engine|thread_pool|timer_resolution|use|user|worker_aio_requests|worker_connections|worker_cpu_affinity|worker_priority|worker_processes|worker_rlimit_core|worker_rlimit_nofile|worker_shutdown_timeout|working_directory|allow|deny|add_before_body|add_after_body|addition_types|api|status_zone|auth_basic|auth_basic_user_file|auth_jwt|auth_jwt|auth_jwt_claim_set|auth_jwt_header_set|auth_jwt_key_file|auth_jwt_key_request|auth_jwt_leeway|auth_request|auth_request_set|autoindex|autoindex_exact_size|autoindex_format|autoindex_localtime|ancient_browser|ancient_browser_value|modern_browser|modern_browser_value|charset|charset_map|charset_types|override_charset|source_charset|create_full_put_path|dav_access|dav_methods|min_delete_depth|empty_gif|f4f|f4f_buffer_size|fastcgi_bind|fastcgi_buffer_size|fastcgi_buffering|fastcgi_buffers|fastcgi_busy_buffers_size|fastcgi_cache|fastcgi_cache_background_update|fastcgi_cache_bypass|fastcgi_cache_key|fastcgi_cache_lock|fastcgi_cache_lock_age|fastcgi_cache_lock_timeout|fastcgi_cache_max_range_offset|fastcgi_cache_methods|fastcgi_cache_min_uses|fastcgi_cache_min_uses|fastcgi_cache_path|fastcgi_cache_purge|fastcgi_cache_revalidate|fastcgi_cache_use_stale|fastcgi_cache_valid|fastcgi_catch_stderr|fastcgi_connect_timeout|fastcgi_force_ranges|fastcgi_hide_header|fastcgi_ignore_client_abort|fastcgi_ignore_headers|fastcgi_index|fastcgi_intercept_errors|fastcgi_keep_conn|fastcgi_limit_rate|fastcgi_max_temp_file_size|fastcgi_next_upstream|fastcgi_next_upstream_timeout|fastcgi_next_upstream_tries|fastcgi_no_cache|fastcgi_param|fastcgi_pass|fastcgi_pass_header|fastcgi_pass_request_body|fastcgi_pass_request_headers|fastcgi_read_timeout|fastcgi_request_buffering|fastcgi_send_lowat|fastcgi_send_timeout|fastcgi_socket_keepalive|fastcgi_split_path_info|fastcgi_store|fastcgi_store_access|fastcgi_temp_file_write_size|fastcgi_temp_path|flv|geoip_country|geoip_city|geoip_org|geoip_proxy|geoip_proxy_recursive|grpc_bind|grpc_buffer_size|grpc_connect_timeout|grpc_hide_header|grpc_ignore_headers|grpc_intercept_errors|grpc_next_upstream|grpc_next_upstream_timeout|grpc_next_upstream_tries|grpc_pass|grpc_pass_header|grpc_read_timeout|grpc_send_timeout|grpc_set_header|grpc_socket_keepalive|grpc_ssl_certificate|grpc_ssl_certificate_key|grpc_ssl_ciphers|grpc_ssl_crl|grpc_ssl_name|grpc_ssl_password_file|grpc_ssl_protocols|grpc_ssl_server_name|grpc_ssl_session_reuse|grpc_ssl_trusted_certificate|grpc_ssl_verify|grpc_ssl_verify_depth|gunzip|gunzip_buffers|gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_types|gzip_vary|gzip_static|add_header|add_trailer|expires|hlshls_buffers|hls_forward_args|hls_fragment|hls_mp4_buffer_size|hls_mp4_max_buffer_size|image_filter|image_filter_buffer|image_filter_interlace|image_filter_jpeg_quality|image_filter_sharpen|image_filter_transparency|image_filter_webp_quality|js_content|js_include|js_set|keyval|keyval_zone|limit_conn|limit_conn_log_level|limit_conn_status|limit_conn_zone|limit_zone|limit_req|limit_req_log_level|limit_req_status|limit_req_zone|access_log|log_format|open_log_file_cache|map_hash_bucket_size|map_hash_max_size|memcached_bind|memcached_buffer_size|memcached_connect_timeout|memcached_force_ranges|memcached_gzip_flag|memcached_next_upstream|memcached_next_upstream_timeout|memcached_next_upstream_tries|memcached_pass|memcached_read_timeout|memcached_send_timeout|memcached_socket_keepalive|mirror|mirror_request_body|mp4|mp4_buffer_size|mp4_max_buffer_size|mp4_limit_rate|mp4_limit_rate_after|perl_modules|perl_require|perl_set|proxy_bind|proxy_buffer_size|proxy_buffering|proxy_buffers|proxy_busy_buffers_size|proxy_cache|proxy_cache_background_update|proxy_cache_bypass|proxy_cache_convert_head|proxy_cache_key|proxy_cache_lock|proxy_cache_lock_age|proxy_cache_lock_timeout|proxy_cache_max_range_offset|proxy_cache_methods|proxy_cache_min_uses|proxy_cache_path|proxy_cache_purge|proxy_cache_revalidate|proxy_cache_use_stale|proxy_cache_valid|proxy_connect_timeout|proxy_cookie_domain|proxy_cookie_path|proxy_force_ranges|proxy_headers_hash_bucket_size|proxy_headers_hash_max_size|proxy_hide_header|proxy_http_version|proxy_ignore_client_abort|proxy_ignore_headers|proxy_intercept_errors|proxy_limit_rate|proxy_max_temp_file_size|proxy_method|proxy_next_upstream|proxy_next_upstream_timeout|proxy_next_upstream_tries|proxy_no_cache|proxy_pass|proxy_pass_header|proxy_pass_request_body|proxy_pass_request_headers|proxy_read_timeout|proxy_redirect|proxy_send_lowat|proxy_send_timeout|proxy_set_body|proxy_set_header|proxy_socket_keepalive|proxy_ssl_certificate|proxy_ssl_certificate_key|proxy_ssl_ciphers|proxy_ssl_crl|proxy_ssl_name|proxy_ssl_password_file|proxy_ssl_protocols|proxy_ssl_server_name|proxy_ssl_session_reuse|proxy_ssl_trusted_certificate|proxy_ssl_verify|proxy_ssl_verify_depth|proxy_store|proxy_store_access|proxy_temp_file_write_size|proxy_temp_path|random_index|set_real_ip_from|real_ip_header|real_ip_recursive|referer_hash_bucket_size|referer_hash_max_size|valid_referers|break|return|rewrite_log|set|uninitialized_variable_warn|scgi_bind|scgi_buffer_size|scgi_buffering|scgi_buffers|scgi_busy_buffers_size|scgi_cache|scgi_cache_background_update|scgi_cache_key|scgi_cache_lock|scgi_cache_lock_age|scgi_cache_lock_timeout|scgi_cache_max_range_offset|scgi_cache_methods|scgi_cache_min_uses|scgi_cache_path|scgi_cache_purge|scgi_cache_revalidate|scgi_cache_use_stale|scgi_cache_valid|scgi_connect_timeout|scgi_force_ranges|scgi_hide_header|scgi_ignore_client_abort|scgi_ignore_headers|scgi_intercept_errors|scgi_limit_rate|scgi_max_temp_file_size|scgi_next_upstream|scgi_next_upstream_timeout|scgi_next_upstream_tries|scgi_no_cache|scgi_param|scgi_pass|scgi_pass_header|scgi_pass_request_body|scgi_pass_request_headers|scgi_read_timeout|scgi_request_buffering|scgi_send_timeout|scgi_socket_keepalive|scgi_store|scgi_store_access|scgi_temp_file_write_size|scgi_temp_path|secure_link|secure_link_md5|secure_link_secret|session_log|session_log_format|session_log_zone|slice|spdy_chunk_size|spdy_headers_comp|ssi|ssi_last_modified|ssi_min_file_chunk|ssi_silent_errors|ssi_types|ssi_value_length|ssl|ssl_buffer_size|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_client_certificate|ssl_crl|ssl_dhparam|ssl_early_data|ssl_ecdh_curve|ssl_password_file|ssl_prefer_server_ciphers|ssl_protocols|ssl_session_cache|ssl_session_ticket_key|ssl_session_tickets|ssl_session_timeout|ssl_stapling|ssl_stapling_file|ssl_stapling_responder|ssl_stapling_verify|ssl_trusted_certificate|ssl_verify_client|ssl_verify_depth|status|status_format|status_zone|stub_status|sub_filter|sub_filter_last_modified|sub_filter_once|sub_filter_types|server|zone|state|hash|ip_hash|keepalive|keepalive_requests|keepalive_timeout|ntlm|least_conn|least_time|queue|random|sticky|sticky_cookie_insert|upstream_conf|health_check|userid|userid_domain|userid_expires|userid_mark|userid_name|userid_p3p|userid_path|userid_service|uwsgi_bind|uwsgi_buffer_size|uwsgi_buffering|uwsgi_buffers|uwsgi_busy_buffers_size|uwsgi_cache|uwsgi_cache_background_update|uwsgi_cache_bypass|uwsgi_cache_key|uwsgi_cache_lock|uwsgi_cache_lock_age|uwsgi_cache_lock_timeout|uwsgi_cache_max_range_offset|uwsgi_cache_methods|uwsgi_cache_min_uses|uwsgi_cache_path|uwsgi_cache_purge|uwsgi_cache_revalidate|uwsgi_cache_use_stale|uwsgi_cache_valid|uwsgi_connect_timeout|uwsgi_force_ranges|uwsgi_hide_header|uwsgi_ignore_client_abort|uwsgi_ignore_headers|uwsgi_intercept_errors|uwsgi_limit_rate|uwsgi_max_temp_file_size|uwsgi_modifier1|uwsgi_modifier2|uwsgi_next_upstream|uwsgi_next_upstream_timeout|uwsgi_next_upstream_tries|uwsgi_no_cache|uwsgi_param|uwsgi_pass|uwsgi_pass_header|uwsgi_pass_request_body|uwsgi_pass_request_headers|uwsgi_read_timeout|uwsgi_request_buffering|uwsgi_send_timeout|uwsgi_socket_keepalive|uwsgi_ssl_certificate|uwsgi_ssl_certificate_key|uwsgi_ssl_ciphers|uwsgi_ssl_crl|uwsgi_ssl_name|uwsgi_ssl_password_file|uwsgi_ssl_protocols|uwsgi_ssl_server_name|uwsgi_ssl_session_reuse|uwsgi_ssl_trusted_certificate|uwsgi_ssl_verify|uwsgi_ssl_verify_depth|uwsgi_store|uwsgi_store_access|uwsgi_temp_file_write_size|uwsgi_temp_path|http2_body_preread_size|http2_chunk_size|http2_idle_timeout|http2_max_concurrent_pushes|http2_max_concurrent_streams|http2_max_field_size|http2_max_header_size|http2_max_requests|http2_push|http2_push_preload|http2_recv_buffer_size|http2_recv_timeout|xml_entities|xslt_last_modified|xslt_param|xslt_string_param|xslt_stylesheet|xslt_types|listen|protocol|resolver|resolver_timeout|timeout|auth_http|auth_http_header|auth_http_pass_client_cert|auth_http_timeout|proxy_buffer|proxy_pass_error_message|proxy_timeout|xclient|starttls|imap_auth|imap_capabilities|imap_client_buffer|pop3_auth|pop3_capabilities|smtp_auth|smtp_capabilities|smtp_client_buffer|smtp_greeting_delay|preread_buffer_size|preread_timeout|proxy_protocol_timeout|js_access|js_filter|js_preread|proxy_download_rate|proxy_requests|proxy_responses|proxy_upload_rate|ssl_handshake_timeout|ssl_preread|health_check_timeout|zone_sync|zone_sync_buffers|zone_sync_connect_retry_interval|zone_sync_connect_timeout|zone_sync_interval|zone_sync_recv_buffer_size|zone_sync_server|zone_sync_ssl|zone_sync_ssl_certificate|zone_sync_ssl_certificate_key|zone_sync_ssl_ciphers|zone_sync_ssl_crl|zone_sync_ssl_name|zone_sync_ssl_password_file|zone_sync_ssl_protocols|zone_sync_ssl_server_name|zone_sync_ssl_trusted_certificate|zone_sync_ssl_verify_depth|zone_sync_timeout|google_perftools_profiles|proxy|perl"; + var oop = require("../lib/oop"); + var TextHighlightRules = + require("./text_highlight_rules").TextHighlightRules; + var NginxHighlightRules = function () { + var keywords = + "include|index|absolute_redirect|aio|output_buffers|directio|sendfile|aio_write|alias|root|chunked_transfer_encoding|client_body_buffer_size|client_body_in_file_only|client_body_in_single_buffer|client_body_temp_path|client_body_timeout|client_header_buffer_size|client_header_timeout|client_max_body_size|connection_pool_size|default_type|disable_symlinks|directio_alignment|error_page|etag|if_modified_since|ignore_invalid_headers|internal|keepalive_requests|keepalive_disable|keepalive_timeout|limit_except|large_client_header_buffers|limit_rate|limit_rate_after|lingering_close|lingering_time|lingering_timeout|listen|log_not_found|log_subrequest|max_ranges|merge_slashes|msie_padding|msie_refresh|open_file_cache|open_file_cache_errors|open_file_cache_min_uses|open_file_cache_valid|output_buffers|port_in_redirect|postpone_output|read_ahead|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver|resolver_timeout|satisfy|send_lowat|send_timeout|sendfile|sendfile_max_chunk|server_name|server_name_in_redirect|server_names_hash_bucket_size|server_names_hash_max_size|server_tokens|subrequest_output_buffer_size|tcp_nodelay|tcp_nopush|try_files|types|types_hash_bucket_size|types_hash_max_size|underscores_in_headers|variables_hash_bucket_size|variables_hash_max_size|accept_mutex|accept_mutex_delay|debug_connection|error_log|daemon|debug_points|env|load_module|lock_file|master_process|multi_accept|pcre_jit|pid|ssl_engine|thread_pool|timer_resolution|use|user|worker_aio_requests|worker_connections|worker_cpu_affinity|worker_priority|worker_processes|worker_rlimit_core|worker_rlimit_nofile|worker_shutdown_timeout|working_directory|allow|deny|add_before_body|add_after_body|addition_types|api|status_zone|auth_basic|auth_basic_user_file|auth_jwt|auth_jwt|auth_jwt_claim_set|auth_jwt_header_set|auth_jwt_key_file|auth_jwt_key_request|auth_jwt_leeway|auth_request|auth_request_set|autoindex|autoindex_exact_size|autoindex_format|autoindex_localtime|ancient_browser|ancient_browser_value|modern_browser|modern_browser_value|charset|charset_map|charset_types|override_charset|source_charset|create_full_put_path|dav_access|dav_methods|min_delete_depth|empty_gif|f4f|f4f_buffer_size|fastcgi_bind|fastcgi_buffer_size|fastcgi_buffering|fastcgi_buffers|fastcgi_busy_buffers_size|fastcgi_cache|fastcgi_cache_background_update|fastcgi_cache_bypass|fastcgi_cache_key|fastcgi_cache_lock|fastcgi_cache_lock_age|fastcgi_cache_lock_timeout|fastcgi_cache_max_range_offset|fastcgi_cache_methods|fastcgi_cache_min_uses|fastcgi_cache_min_uses|fastcgi_cache_path|fastcgi_cache_purge|fastcgi_cache_revalidate|fastcgi_cache_use_stale|fastcgi_cache_valid|fastcgi_catch_stderr|fastcgi_connect_timeout|fastcgi_force_ranges|fastcgi_hide_header|fastcgi_ignore_client_abort|fastcgi_ignore_headers|fastcgi_index|fastcgi_intercept_errors|fastcgi_keep_conn|fastcgi_limit_rate|fastcgi_max_temp_file_size|fastcgi_next_upstream|fastcgi_next_upstream_timeout|fastcgi_next_upstream_tries|fastcgi_no_cache|fastcgi_param|fastcgi_pass|fastcgi_pass_header|fastcgi_pass_request_body|fastcgi_pass_request_headers|fastcgi_read_timeout|fastcgi_request_buffering|fastcgi_send_lowat|fastcgi_send_timeout|fastcgi_socket_keepalive|fastcgi_split_path_info|fastcgi_store|fastcgi_store_access|fastcgi_temp_file_write_size|fastcgi_temp_path|flv|geoip_country|geoip_city|geoip_org|geoip_proxy|geoip_proxy_recursive|grpc_bind|grpc_buffer_size|grpc_connect_timeout|grpc_hide_header|grpc_ignore_headers|grpc_intercept_errors|grpc_next_upstream|grpc_next_upstream_timeout|grpc_next_upstream_tries|grpc_pass|grpc_pass_header|grpc_read_timeout|grpc_send_timeout|grpc_set_header|grpc_socket_keepalive|grpc_ssl_certificate|grpc_ssl_certificate_key|grpc_ssl_ciphers|grpc_ssl_crl|grpc_ssl_name|grpc_ssl_password_file|grpc_ssl_protocols|grpc_ssl_server_name|grpc_ssl_session_reuse|grpc_ssl_trusted_certificate|grpc_ssl_verify|grpc_ssl_verify_depth|gunzip|gunzip_buffers|gzip|gzip_buffers|gzip_comp_level|gzip_disable|gzip_http_version|gzip_min_length|gzip_proxied|gzip_types|gzip_vary|gzip_static|add_header|add_trailer|expires|hlshls_buffers|hls_forward_args|hls_fragment|hls_mp4_buffer_size|hls_mp4_max_buffer_size|image_filter|image_filter_buffer|image_filter_interlace|image_filter_jpeg_quality|image_filter_sharpen|image_filter_transparency|image_filter_webp_quality|js_content|js_include|js_set|keyval|keyval_zone|limit_conn|limit_conn_log_level|limit_conn_status|limit_conn_zone|limit_zone|limit_req|limit_req_log_level|limit_req_status|limit_req_zone|access_log|log_format|open_log_file_cache|map_hash_bucket_size|map_hash_max_size|memcached_bind|memcached_buffer_size|memcached_connect_timeout|memcached_force_ranges|memcached_gzip_flag|memcached_next_upstream|memcached_next_upstream_timeout|memcached_next_upstream_tries|memcached_pass|memcached_read_timeout|memcached_send_timeout|memcached_socket_keepalive|mirror|mirror_request_body|mp4|mp4_buffer_size|mp4_max_buffer_size|mp4_limit_rate|mp4_limit_rate_after|perl_modules|perl_require|perl_set|proxy_bind|proxy_buffer_size|proxy_buffering|proxy_buffers|proxy_busy_buffers_size|proxy_cache|proxy_cache_background_update|proxy_cache_bypass|proxy_cache_convert_head|proxy_cache_key|proxy_cache_lock|proxy_cache_lock_age|proxy_cache_lock_timeout|proxy_cache_max_range_offset|proxy_cache_methods|proxy_cache_min_uses|proxy_cache_path|proxy_cache_purge|proxy_cache_revalidate|proxy_cache_use_stale|proxy_cache_valid|proxy_connect_timeout|proxy_cookie_domain|proxy_cookie_path|proxy_force_ranges|proxy_headers_hash_bucket_size|proxy_headers_hash_max_size|proxy_hide_header|proxy_http_version|proxy_ignore_client_abort|proxy_ignore_headers|proxy_intercept_errors|proxy_limit_rate|proxy_max_temp_file_size|proxy_method|proxy_next_upstream|proxy_next_upstream_timeout|proxy_next_upstream_tries|proxy_no_cache|proxy_pass|proxy_pass_header|proxy_pass_request_body|proxy_pass_request_headers|proxy_read_timeout|proxy_redirect|proxy_send_lowat|proxy_send_timeout|proxy_set_body|proxy_set_header|proxy_socket_keepalive|proxy_ssl_certificate|proxy_ssl_certificate_key|proxy_ssl_ciphers|proxy_ssl_crl|proxy_ssl_name|proxy_ssl_password_file|proxy_ssl_protocols|proxy_ssl_server_name|proxy_ssl_session_reuse|proxy_ssl_trusted_certificate|proxy_ssl_verify|proxy_ssl_verify_depth|proxy_store|proxy_store_access|proxy_temp_file_write_size|proxy_temp_path|random_index|set_real_ip_from|real_ip_header|real_ip_recursive|referer_hash_bucket_size|referer_hash_max_size|valid_referers|break|return|rewrite_log|set|uninitialized_variable_warn|scgi_bind|scgi_buffer_size|scgi_buffering|scgi_buffers|scgi_busy_buffers_size|scgi_cache|scgi_cache_background_update|scgi_cache_key|scgi_cache_lock|scgi_cache_lock_age|scgi_cache_lock_timeout|scgi_cache_max_range_offset|scgi_cache_methods|scgi_cache_min_uses|scgi_cache_path|scgi_cache_purge|scgi_cache_revalidate|scgi_cache_use_stale|scgi_cache_valid|scgi_connect_timeout|scgi_force_ranges|scgi_hide_header|scgi_ignore_client_abort|scgi_ignore_headers|scgi_intercept_errors|scgi_limit_rate|scgi_max_temp_file_size|scgi_next_upstream|scgi_next_upstream_timeout|scgi_next_upstream_tries|scgi_no_cache|scgi_param|scgi_pass|scgi_pass_header|scgi_pass_request_body|scgi_pass_request_headers|scgi_read_timeout|scgi_request_buffering|scgi_send_timeout|scgi_socket_keepalive|scgi_store|scgi_store_access|scgi_temp_file_write_size|scgi_temp_path|secure_link|secure_link_md5|secure_link_secret|session_log|session_log_format|session_log_zone|slice|spdy_chunk_size|spdy_headers_comp|ssi|ssi_last_modified|ssi_min_file_chunk|ssi_silent_errors|ssi_types|ssi_value_length|ssl|ssl_buffer_size|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_client_certificate|ssl_crl|ssl_dhparam|ssl_early_data|ssl_ecdh_curve|ssl_password_file|ssl_prefer_server_ciphers|ssl_protocols|ssl_session_cache|ssl_session_ticket_key|ssl_session_tickets|ssl_session_timeout|ssl_stapling|ssl_stapling_file|ssl_stapling_responder|ssl_stapling_verify|ssl_trusted_certificate|ssl_verify_client|ssl_verify_depth|status|status_format|status_zone|stub_status|sub_filter|sub_filter_last_modified|sub_filter_once|sub_filter_types|server|zone|state|hash|ip_hash|keepalive|keepalive_requests|keepalive_timeout|ntlm|least_conn|least_time|queue|random|sticky|sticky_cookie_insert|upstream_conf|health_check|userid|userid_domain|userid_expires|userid_mark|userid_name|userid_p3p|userid_path|userid_service|uwsgi_bind|uwsgi_buffer_size|uwsgi_buffering|uwsgi_buffers|uwsgi_busy_buffers_size|uwsgi_cache|uwsgi_cache_background_update|uwsgi_cache_bypass|uwsgi_cache_key|uwsgi_cache_lock|uwsgi_cache_lock_age|uwsgi_cache_lock_timeout|uwsgi_cache_max_range_offset|uwsgi_cache_methods|uwsgi_cache_min_uses|uwsgi_cache_path|uwsgi_cache_purge|uwsgi_cache_revalidate|uwsgi_cache_use_stale|uwsgi_cache_valid|uwsgi_connect_timeout|uwsgi_force_ranges|uwsgi_hide_header|uwsgi_ignore_client_abort|uwsgi_ignore_headers|uwsgi_intercept_errors|uwsgi_limit_rate|uwsgi_max_temp_file_size|uwsgi_modifier1|uwsgi_modifier2|uwsgi_next_upstream|uwsgi_next_upstream_timeout|uwsgi_next_upstream_tries|uwsgi_no_cache|uwsgi_param|uwsgi_pass|uwsgi_pass_header|uwsgi_pass_request_body|uwsgi_pass_request_headers|uwsgi_read_timeout|uwsgi_request_buffering|uwsgi_send_timeout|uwsgi_socket_keepalive|uwsgi_ssl_certificate|uwsgi_ssl_certificate_key|uwsgi_ssl_ciphers|uwsgi_ssl_crl|uwsgi_ssl_name|uwsgi_ssl_password_file|uwsgi_ssl_protocols|uwsgi_ssl_server_name|uwsgi_ssl_session_reuse|uwsgi_ssl_trusted_certificate|uwsgi_ssl_verify|uwsgi_ssl_verify_depth|uwsgi_store|uwsgi_store_access|uwsgi_temp_file_write_size|uwsgi_temp_path|http2_body_preread_size|http2_chunk_size|http2_idle_timeout|http2_max_concurrent_pushes|http2_max_concurrent_streams|http2_max_field_size|http2_max_header_size|http2_max_requests|http2_push|http2_push_preload|http2_recv_buffer_size|http2_recv_timeout|xml_entities|xslt_last_modified|xslt_param|xslt_string_param|xslt_stylesheet|xslt_types|listen|protocol|resolver|resolver_timeout|timeout|auth_http|auth_http_header|auth_http_pass_client_cert|auth_http_timeout|proxy_buffer|proxy_pass_error_message|proxy_timeout|xclient|starttls|imap_auth|imap_capabilities|imap_client_buffer|pop3_auth|pop3_capabilities|smtp_auth|smtp_capabilities|smtp_client_buffer|smtp_greeting_delay|preread_buffer_size|preread_timeout|proxy_protocol_timeout|js_access|js_filter|js_preread|proxy_download_rate|proxy_requests|proxy_responses|proxy_upload_rate|ssl_handshake_timeout|ssl_preread|health_check_timeout|zone_sync|zone_sync_buffers|zone_sync_connect_retry_interval|zone_sync_connect_timeout|zone_sync_interval|zone_sync_recv_buffer_size|zone_sync_server|zone_sync_ssl|zone_sync_ssl_certificate|zone_sync_ssl_certificate_key|zone_sync_ssl_ciphers|zone_sync_ssl_crl|zone_sync_ssl_name|zone_sync_ssl_password_file|zone_sync_ssl_protocols|zone_sync_ssl_server_name|zone_sync_ssl_trusted_certificate|zone_sync_ssl_verify_depth|zone_sync_timeout|google_perftools_profiles|proxy|perl"; - this.$rules = { - "start": [{ - token: ["storage.type", "text", "string.regexp", "paren.lparen"], - regex: "\\b(location)(\\s+)([\\^]?~[\\*]?\\s+.*?)({)" - }, { - token: ["storage.type", "text", "text", "paren.lparen"], - regex: "\\b(location|match|upstream)(\\s+)(.*?)({)" - }, { - token: ["storage.type", "text", "string", "text", "variable", "text", "paren.lparen"], - regex: '\\b(split_clients|map)(\\s+)(\\".*\\")(\\s+)(\\$[\\w_]+)(\\s*)({)' - }, { - token: ["storage.type", "text", "paren.lparen"], - regex: "\\b(http|events|server|mail|stream)(\\s*)({)" - }, { - token: ["storage.type", "text", "variable", "text", "variable", "text", "paren.lparen"], - regex: '\\b(geo|map)(\\s+)(\\$[\\w_]+)?(\\s*)(\\$[\\w_]+)(\\s*)({)' - }, { - token: "paren.rparen", - regex: "(})" - }, { - token: "paren.lparen", - regex: "({)" - }, { - token: ["storage.type", "text", "paren.lparen"], - regex: "\\b(if)(\\s+)(\\()", - push: [{ - token: "paren.rparen", - regex: "\\)|$", - next: "pop" - }, { - include: "lexical" - }] - }, { - token: "keyword", - regex: "\\b(" + keywords + ")\\b", - push: [{ - token: "punctuation", - regex: ";", - next: "pop" - }, { - include: "lexical" - }] - }, { - token: ["keyword", "text", "string.regexp", "text", "punctuation"], - regex: "\\b(rewrite)(\\s)(\\S*)(\\s.*)(;)" - }, { - include: "lexical" - }, { - include: "comments" - }], - comments: [{ - token: "comment", - regex: '#.*$' - }], - lexical: [{ - token: "string", - regex: "'", - push: [{ - token: "string", - regex: "'", - next: "pop" - }, { - include: "variables" - }, { - defaultToken: "string" - }] - }, { - token: "string", - regex: '"', - push: [{ - token: "string", - regex: '"', - next: "pop" - }, { - include: "variables" - }, { - defaultToken: "string" - }] - }, { - token: "string.regexp", - regex: /[!]?[~][*]?\s+.*(?=\))/ - }, { - token: "string.regexp", - regex: /[\^]\S*(?=;$)/ - }, { - token: "string.regexp", - regex: /[\^]\S*(?=;|\s|$)/ - }, { - token: "keyword.operator", - regex: "\\B(\\+|\\-|\\*|\\=|!=)\\B" - }, { - token: "constant.language", - regex: "\\b(true|false|on|off|all|any|main|always)\\b" - }, { - token: "text", - regex: "\\s+" - }, { - include: "variables" - } - ], - variables: [{ - token: "variable", - regex: "\\$[\\w_]+" - }, { - token: "variable.language", - regex: "\\b(GET|POST|HEAD)\\b" - }] + this.$rules = { + start: [ + { + token: [ + "storage.type", + "text", + "string.regexp", + "paren.lparen", + ], + regex: "\\b(location)(\\s+)([\\^]?~[\\*]?\\s+.*?)({)", + }, + { + token: ["storage.type", "text", "text", "paren.lparen"], + regex: "\\b(location|match|upstream)(\\s+)(.*?)({)", + }, + { + token: [ + "storage.type", + "text", + "string", + "text", + "variable", + "text", + "paren.lparen", + ], + regex: '\\b(split_clients|map)(\\s+)(\\".*\\")(\\s+)(\\$[\\w_]+)(\\s*)({)', + }, + { + token: ["storage.type", "text", "paren.lparen"], + regex: "\\b(http|events|server|mail|stream)(\\s*)({)", + }, + { + token: [ + "storage.type", + "text", + "variable", + "text", + "variable", + "text", + "paren.lparen", + ], + regex: "\\b(geo|map)(\\s+)(\\$[\\w_]+)?(\\s*)(\\$[\\w_]+)(\\s*)({)", + }, + { + token: "paren.rparen", + regex: "(})", + }, + { + token: "paren.lparen", + regex: "({)", + }, + { + token: ["storage.type", "text", "paren.lparen"], + regex: "\\b(if)(\\s+)(\\()", + push: [ + { + token: "paren.rparen", + regex: "\\)|$", + next: "pop", + }, + { + include: "lexical", + }, + ], + }, + { + token: "keyword", + regex: "\\b(" + keywords + ")\\b", + push: [ + { + token: "punctuation", + regex: ";", + next: "pop", + }, + { + include: "lexical", + }, + ], + }, + { + token: [ + "keyword", + "text", + "string.regexp", + "text", + "punctuation", + ], + regex: "\\b(rewrite)(\\s)(\\S*)(\\s.*)(;)", + }, + { + include: "lexical", + }, + { + include: "comments", + }, + ], + comments: [ + { + token: "comment", + regex: "#.*$", + }, + ], + lexical: [ + { + token: "string", + regex: "'", + push: [ + { + token: "string", + regex: "'", + next: "pop", + }, + { + include: "variables", + }, + { + defaultToken: "string", + }, + ], + }, + { + token: "string", + regex: '"', + push: [ + { + token: "string", + regex: '"', + next: "pop", + }, + { + include: "variables", + }, + { + defaultToken: "string", + }, + ], + }, + { + token: "string.regexp", + regex: /[!]?[~][*]?\s+.*(?=\))/, + }, + { + token: "string.regexp", + regex: /[\^]\S*(?=;$)/, + }, + { + token: "string.regexp", + regex: /[\^]\S*(?=;|\s|$)/, + }, + { + token: "keyword.operator", + regex: "\\B(\\+|\\-|\\*|\\=|!=)\\B", + }, + { + token: "constant.language", + regex: "\\b(true|false|on|off|all|any|main|always)\\b", + }, + { + token: "text", + regex: "\\s+", + }, + { + include: "variables", + }, + ], + variables: [ + { + token: "variable", + regex: "\\$[\\w_]+", + }, + { + token: "variable.language", + regex: "\\b(GET|POST|HEAD)\\b", + }, + ], + }; + this.normalizeRules(); }; - this.normalizeRules(); - }; + oop.inherits(NginxHighlightRules, TextHighlightRules); - oop.inherits(NginxHighlightRules, TextHighlightRules); + exports.NginxHighlightRules = NginxHighlightRules; + }, +); - exports.NginxHighlightRules = NginxHighlightRules; -}) +ace.define( + "ace/mode/nginx", + [ + "require", + "exports", + "module", + "ace/lib/oop", + "ace/mode/text", + "ace/mode/nginx_highlight_rules", + ], + function (require, exports, module) { + "use strict"; -ace.define("ace/mode/nginx", ["require", "exports", "module", "ace/lib/oop", "ace/mode/text", "ace/mode/nginx_highlight_rules"], function (require, exports, module) { - "use strict"; + var oop = require("../lib/oop"); + var TextMode = require("./text").Mode; + var NginxHighlightRules = + require("./nginx_highlight_rules").NginxHighlightRules; - var oop = require("../lib/oop"); - var TextMode = require("./text").Mode; - var NginxHighlightRules = require("./nginx_highlight_rules").NginxHighlightRules; + var Mode = function () { + this.HighlightRules = NginxHighlightRules; + }; + oop.inherits(Mode, TextMode); - var Mode = function () { - this.HighlightRules = NginxHighlightRules; - }; - oop.inherits(Mode, TextMode); + (function () { + this.$id = "ace/mode/nginx"; + }).call(Mode.prototype); - (function () { - this.$id = "ace/mode/nginx"; - }).call(Mode.prototype); - - exports.Mode = Mode; -}) + exports.Mode = Mode; + }, +); diff --git a/scripts/install.sh b/scripts/install.sh index 47ec6b0..9cd0b0c 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -5,31 +5,31 @@ export DEBIAN_FRONTEND=noninteractive export NEEDRESTART_MODE=a if [[ -z "${V_USERNAME}" ]]; then - export V_USERNAME=vito + export V_USERNAME=vito fi if [[ -z "${V_PASSWORD}" ]]; then - export V_PASSWORD=$(openssl rand -base64 12) + export V_PASSWORD=$(openssl rand -base64 12) fi if [[ -z "${V_ADMIN_EMAIL}" ]]; then - echo "Enter your email address:" - read V_ADMIN_EMAIL + echo "Enter your email address:" + read V_ADMIN_EMAIL fi if [[ -z "${V_ADMIN_EMAIL}" ]]; then - echo "Error: V_ADMIN_EMAIL environment variable is not set." - exit 1 + echo "Error: V_ADMIN_EMAIL environment variable is not set." + exit 1 fi if [[ -z "${V_ADMIN_PASSWORD}" ]]; then - echo "Enter a password for Vito's dashboard:" - read V_ADMIN_PASSWORD + echo "Enter a password for Vito's dashboard:" + read V_ADMIN_PASSWORD fi if [[ -z "${V_ADMIN_PASSWORD}" ]]; then - echo "Error: V_ADMIN_PASSWORD environment variable is not set." - exit 1 + echo "Error: V_ADMIN_PASSWORD environment variable is not set." + exit 1 fi apt remove needrestart -y @@ -41,7 +41,7 @@ mkdir /home/${V_USERNAME} mkdir /home/${V_USERNAME}/.ssh chown -R ${V_USERNAME}:${V_USERNAME} /home/${V_USERNAME} chsh -s /bin/bash "${V_USERNAME}" -su - "${V_USERNAME}" -c "ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa" <<