diff --git a/ui/admin/package.json b/ui/admin/package.json index 3a815ecd6..649334800 100644 --- a/ui/admin/package.json +++ b/ui/admin/package.json @@ -61,7 +61,6 @@ "ember-a11y-testing": "^7.0.0", "ember-auto-import": "^2.10.0", "ember-cli": "~5.12.0", - "ember-cli-app-version": "^7.0.0", "ember-cli-babel": "^8.2.0", "ember-cli-clean-css": "^3.0.0", "ember-cli-code-coverage": "^1.0.3", diff --git a/ui/desktop/.editorconfig b/ui/desktop/.editorconfig index e1681d816..c35a00240 100644 --- a/ui/desktop/.editorconfig +++ b/ui/desktop/.editorconfig @@ -12,8 +12,8 @@ insert_final_newline = true indent_style = space indent_size = 2 -[*.{diff,md}] -trim_trailing_whitespace = false - [*.hbs] insert_final_newline = false + +[*.{diff,md}] +trim_trailing_whitespace = false diff --git a/ui/desktop/.ember-cli b/ui/desktop/.ember-cli index 8c1812cff..465c4050d 100644 --- a/ui/desktop/.ember-cli +++ b/ui/desktop/.ember-cli @@ -1,12 +1,4 @@ { - /** - Ember CLI sends analytics information by default. The data is completely - anonymous, but there are times when you might want to disable this behavior. - - Setting `disableAnalytics` to true will prevent any data from being sent. - */ - "disableAnalytics": false, - /** Setting `isTypeScriptProject` to true will force the blueprint generators to generate TypeScript rather than JavaScript by default, when a TypeScript version of a given blueprint is available. diff --git a/ui/desktop/.eslintignore b/ui/desktop/.eslintignore index 548900b00..ffab5c053 100644 --- a/ui/desktop/.eslintignore +++ b/ui/desktop/.eslintignore @@ -1,28 +1,17 @@ # unconventional js /blueprints/*/files/ -/vendor/ # compiled output +/declarations/ /dist/ -/tmp/ - -# dependencies -/bower_components/ -/node_modules/ # misc /coverage/ !.* .*/ -.eslintcache # ember-electron /electron-app/ # ember-try /.node_modules.ember-try/ -/bower.json.ember-try -/npm-shrinkwrap.json.ember-try -/package.json.ember-try -/package-lock.json.ember-try -/yarn.lock.ember-try diff --git a/ui/desktop/.eslintrc.js b/ui/desktop/.eslintrc.js index b38f0e03a..65a9860ad 100644 --- a/ui/desktop/.eslintrc.js +++ b/ui/desktop/.eslintrc.js @@ -11,17 +11,19 @@ module.exports = { parserOptions: { ecmaVersion: 'latest', sourceType: 'module', - // This is specific babel-config. If grows consider creating a babel config file requireConfigFile: false, babelOptions: { plugins: [ ['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true }], ], }, - // end of babel-config }, plugins: ['ember'], - extends: ['eslint:recommended', 'plugin:ember/recommended', 'prettier'], + extends: [ + 'eslint:recommended', + 'plugin:ember/recommended', + 'plugin:prettier/recommended', + ], env: { browser: true, }, diff --git a/ui/desktop/.prettierignore b/ui/desktop/.prettierignore index 4178fd571..9385391f2 100644 --- a/ui/desktop/.prettierignore +++ b/ui/desktop/.prettierignore @@ -1,25 +1,13 @@ # unconventional js /blueprints/*/files/ -/vendor/ # compiled output /dist/ -/tmp/ - -# dependencies -/bower_components/ -/node_modules/ # misc /coverage/ !.* -.eslintcache -.lint-todo/ +.*/ # ember-try /.node_modules.ember-try/ -/bower.json.ember-try -/npm-shrinkwrap.json.ember-try -/package.json.ember-try -/package-lock.json.ember-try -/yarn.lock.ember-try diff --git a/ui/desktop/.watchmanconfig b/ui/desktop/.watchmanconfig index e7834e3e4..f9c3d8f84 100644 --- a/ui/desktop/.watchmanconfig +++ b/ui/desktop/.watchmanconfig @@ -1,3 +1,3 @@ { - "ignore_dirs": ["tmp", "dist"] + "ignore_dirs": ["dist"] } diff --git a/ui/desktop/app/routes/scopes/scope/projects/targets/target.js b/ui/desktop/app/routes/scopes/scope/projects/targets/target.js index a5c2ffd87..6495c21d5 100644 --- a/ui/desktop/app/routes/scopes/scope/projects/targets/target.js +++ b/ui/desktop/app/routes/scopes/scope/projects/targets/target.js @@ -86,7 +86,7 @@ export default class ScopesScopeProjectsTargetsTargetRoute extends Route { const controller = this.controllerFor( 'scopes.scope.projects.targets.target', ); - if (controller.get('isConnectionError')) { + if (controller.isConnectionError) { controller.set('isConnecting', false); controller.set('isConnectionError', false); } diff --git a/ui/desktop/config/ember-cli-update.json b/ui/desktop/config/ember-cli-update.json index fc1e11d6a..ad19ce7fa 100644 --- a/ui/desktop/config/ember-cli-update.json +++ b/ui/desktop/config/ember-cli-update.json @@ -3,7 +3,7 @@ "packages": [ { "name": "ember-cli", - "version": "4.12.2", + "version": "5.12.0", "blueprints": [ { "name": "app", @@ -11,6 +11,7 @@ "codemodsSource": "ember-app-codemods-manifest@1", "isBaseBlueprint": true, "options": [ + "--no-welcome", "--yarn" ] } diff --git a/ui/desktop/config/optional-features.json b/ui/desktop/config/optional-features.json index b26286e2e..5329dd991 100644 --- a/ui/desktop/config/optional-features.json +++ b/ui/desktop/config/optional-features.json @@ -2,5 +2,6 @@ "application-template-wrapper": false, "default-async-observers": true, "jquery-integration": false, - "template-only-glimmer-components": true + "template-only-glimmer-components": true, + "no-implicit-route-model": true } diff --git a/ui/desktop/electron-app/src/cli/path.js b/ui/desktop/electron-app/src/cli/path.js index 4f20eda44..8fa8a77a8 100644 --- a/ui/desktop/electron-app/src/cli/path.js +++ b/ui/desktop/electron-app/src/cli/path.js @@ -24,14 +24,14 @@ const isBuiltInCli = existsSync(builtInCliPath); const pathBoundary = isBuiltInCli ? builtInCliPath : // On Windows, we need to filter out the path that is within the current working directory. - // This is necessary because the spawn methods may not always find the correct binary path. - // The `which` module returns an array of all available paths for the 'boundary' binary. - // We then filter out the path that is within the current working directory. - isWindows() - ? which - .sync(binaryName, { nothrow: true, all: true }) - .filter((binary) => !binary.startsWith(process.cwd()))[0] - : binaryName; + // This is necessary because the spawn methods may not always find the correct binary path. + // The `which` module returns an array of all available paths for the 'boundary' binary. + // We then filter out the path that is within the current working directory. + isWindows() + ? which + .sync(binaryName, { nothrow: true, all: true }) + .filter((binary) => !binary.startsWith(process.cwd()))[0] + : binaryName; module.exports = { path: pathBoundary, diff --git a/ui/desktop/package.json b/ui/desktop/package.json index d487ffe11..e77f66302 100644 --- a/ui/desktop/package.json +++ b/ui/desktop/package.json @@ -16,8 +16,8 @@ "build:development": "ember build", "clean": "shx rm -rf electron-app/ember-dist electron-app/out && shx cp -r dist/ electron-app/ember-dist/", "build:desktop": "yarn clean && yarn --cwd electron-app install && yarn --cwd electron-app make", - "lint": "concurrently \"npm:lint:*(!fix)\" --names \"lint:\"", - "lint:fix": "concurrently \"npm:lint:*:fix\" --names \"fix:\"", + "lint": "concurrently \"yarn:lint:*(!fix)\" --names \"lint:\"", + "lint:fix": "concurrently \"yarn:lint:*:fix\" --names \"fix:\"", "lint:hbs": "ember-template-lint .", "lint:hbs:fix": "ember-template-lint . --fix", "lint:js": "eslint .", @@ -48,18 +48,17 @@ }, "devDependencies": { "@babel/core": "^7.26.10", - "@babel/eslint-parser": "^7.21.3", - "@babel/plugin-proposal-decorators": "^7.21.0", - "@ember/optional-features": "^2.0.0", + "@babel/eslint-parser": "^7.25.1", + "@babel/plugin-proposal-decorators": "^7.24.7", + "@ember/optional-features": "^2.1.0", "@ember/render-modifiers": "^2.0.4", - "@ember/string": "^3.0.1", - "@ember/test-helpers": "^4.0.5", + "@ember/string": "^4.0.0", + "@ember/test-helpers": "^3.3.1", "@embroider/macros": "^1.16.9", "@faker-js/faker": "^8.0.2", "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", "@warp-drive/build-config": "^0.0.2", - "babel-loader": "^9.2.1", "broccoli-asset-rev": "^3.0.0", "concurrently": "^9.1.0", "core": "workspace:*", @@ -67,12 +66,13 @@ "doctoc": "^2.2.0", "ember-a11y-testing": "^7.0.0", "ember-auto-import": "^2.10.0", - "ember-cli": "^5.12.0", + "ember-cli": "~5.12.0", "ember-cli-babel": "^8.2.0", + "ember-cli-clean-css": "^3.0.0", "ember-cli-code-coverage": "^1.0.3", "ember-cli-dependency-checker": "^3.3.2", "ember-cli-flash": "^4.0.0", - "ember-cli-htmlbars": "^6.2.0", + "ember-cli-htmlbars": "^6.3.0", "ember-cli-inject-live-reload": "^2.1.0", "ember-cli-sass": "^11.0.1", "ember-cli-sri": "^2.1.1", @@ -82,35 +82,36 @@ "ember-exam": "^8.0.0", "ember-inline-svg": "^1.0.1", "ember-load-initializers": "^2.1.2", - "ember-modifier": "^4.1.0", - "ember-page-title": "^7.0.0", + "ember-modifier": "^4.2.0", + "ember-page-title": "^8.2.3", "ember-qunit": "^8.1.0", - "ember-resolver": "^10.0.0", - "ember-source": "~4.12.0", - "ember-template-lint": "^5.7.2", + "ember-resolver": "^12.0.1", + "ember-source": "~5.12.0", + "ember-template-lint": "^6.0.0", "ember-template-lint-plugin-prettier": "^5.0.0", "ember-wormhole": "^0.6.0", - "eslint": "^8.54.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-ember": "^11.11.1", - "eslint-plugin-n": "^16.3.1", - "eslint-plugin-qunit": "^8.0.1", + "eslint": "^8.57.1", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-ember": "^12.2.1", + "eslint-plugin-n": "^16.6.2", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-qunit": "^8.1.2", "js-bexpr": "hashicorp/js-bexpr#9b4a4b54d85eba67fdfc0990133d1518d890b1e1", "loader.js": "^4.7.0", "postcss": "^8.4.31", - "prettier": "^3.0.0", + "prettier": "^3.3.3", "qunit": "^2.22.0", "qunit-dom": "^3.2.1", "rose": "workspace:*", "sass": "^1.69.5", "shx": "^0.3.4", "sinon": "^19.0.2", - "stylelint": "^15.10.1", + "stylelint": "^15.11.0", "stylelint-config-prettier-scss": "^0.0.1", - "stylelint-config-standard": "^32.0.0", + "stylelint-config-standard": "^34.0.0", "stylelint-config-standard-scss": "^11.0.0", - "tracked-built-ins": "^3.1.1", - "webpack": "^5.94.0" + "tracked-built-ins": "^3.3.0", + "webpack": "^5.95.0" }, "engines": { "node": "20.* || 22.*" diff --git a/ui/desktop/tests/helpers/index.js b/ui/desktop/tests/helpers/index.js index 371167e6c..b4c7ee08d 100644 --- a/ui/desktop/tests/helpers/index.js +++ b/ui/desktop/tests/helpers/index.js @@ -9,7 +9,7 @@ import { setupTest as upstreamSetupTest, } from 'ember-qunit'; -// This file exists to provide wrappers around ember-qunit's / ember-mocha's +// This file exists to provide wrappers around ember-qunit's // test setup functions. This way, you can easily extend the setup that is // needed per test type. diff --git a/yarn.lock b/yarn.lock index 9e3f3210c..482ef4514 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8485,7 +8485,6 @@ __metadata: ember-a11y-testing: "npm:^7.0.0" ember-auto-import: "npm:^2.10.0" ember-cli: "npm:~5.12.0" - ember-cli-app-version: "npm:^7.0.0" ember-cli-babel: "npm:^8.2.0" ember-cli-clean-css: "npm:^3.0.0" ember-cli-code-coverage: "npm:^1.0.3" @@ -12040,13 +12039,13 @@ __metadata: resolution: "desktop@workspace:ui/desktop" dependencies: "@babel/core": "npm:^7.26.10" - "@babel/eslint-parser": "npm:^7.21.3" - "@babel/plugin-proposal-decorators": "npm:^7.21.0" + "@babel/eslint-parser": "npm:^7.25.1" + "@babel/plugin-proposal-decorators": "npm:^7.24.7" "@babel/runtime": "npm:7.12.18" - "@ember/optional-features": "npm:^2.0.0" + "@ember/optional-features": "npm:^2.1.0" "@ember/render-modifiers": "npm:^2.0.4" - "@ember/string": "npm:^3.0.1" - "@ember/test-helpers": "npm:^4.0.5" + "@ember/string": "npm:^4.0.0" + "@ember/test-helpers": "npm:^3.3.1" "@embroider/macros": "npm:^1.16.9" "@faker-js/faker": "npm:^8.0.2" "@glimmer/component": "npm:^1.1.2" @@ -12055,7 +12054,6 @@ __metadata: "@xterm/addon-canvas": "npm:^0.7.0" "@xterm/addon-fit": "npm:^0.10.0" "@xterm/xterm": "npm:^5.5.0" - babel-loader: "npm:^9.2.1" broccoli-asset-rev: "npm:^3.0.0" concurrently: "npm:^9.1.0" core: "workspace:*" @@ -12063,12 +12061,13 @@ __metadata: doctoc: "npm:^2.2.0" ember-a11y-testing: "npm:^7.0.0" ember-auto-import: "npm:^2.10.0" - ember-cli: "npm:^5.12.0" + ember-cli: "npm:~5.12.0" ember-cli-babel: "npm:^8.2.0" + ember-cli-clean-css: "npm:^3.0.0" ember-cli-code-coverage: "npm:^1.0.3" ember-cli-dependency-checker: "npm:^3.3.2" ember-cli-flash: "npm:^4.0.0" - ember-cli-htmlbars: "npm:^6.2.0" + ember-cli-htmlbars: "npm:^6.3.0" ember-cli-inject-live-reload: "npm:^2.1.0" ember-cli-sass: "npm:^11.0.1" ember-cli-sri: "npm:^2.1.1" @@ -12078,38 +12077,39 @@ __metadata: ember-exam: "npm:^8.0.0" ember-inline-svg: "npm:^1.0.1" ember-load-initializers: "npm:^2.1.2" - ember-modifier: "npm:^4.1.0" + ember-modifier: "npm:^4.2.0" ember-named-blocks-polyfill: "npm:^0.2.5" - ember-page-title: "npm:^7.0.0" + ember-page-title: "npm:^8.2.3" ember-qunit: "npm:^8.1.0" - ember-resolver: "npm:^10.0.0" - ember-source: "npm:~4.12.0" - ember-template-lint: "npm:^5.7.2" + ember-resolver: "npm:^12.0.1" + ember-source: "npm:~5.12.0" + ember-template-lint: "npm:^6.0.0" ember-template-lint-plugin-prettier: "npm:^5.0.0" ember-wormhole: "npm:^0.6.0" - eslint: "npm:^8.54.0" - eslint-config-prettier: "npm:^9.0.0" - eslint-plugin-ember: "npm:^11.11.1" - eslint-plugin-n: "npm:^16.3.1" - eslint-plugin-qunit: "npm:^8.0.1" + eslint: "npm:^8.57.1" + eslint-config-prettier: "npm:^9.1.0" + eslint-plugin-ember: "npm:^12.2.1" + eslint-plugin-n: "npm:^16.6.2" + eslint-plugin-prettier: "npm:^5.2.1" + eslint-plugin-qunit: "npm:^8.1.2" js-bexpr: "hashicorp/js-bexpr#9b4a4b54d85eba67fdfc0990133d1518d890b1e1" loader.js: "npm:^4.7.0" lodash: "npm:^4.17.21" postcss: "npm:^8.4.31" - prettier: "npm:^3.0.0" + prettier: "npm:^3.3.3" qunit: "npm:^2.22.0" qunit-dom: "npm:^3.2.1" rose: "workspace:*" sass: "npm:^1.69.5" shx: "npm:^0.3.4" sinon: "npm:^19.0.2" - stylelint: "npm:^15.10.1" + stylelint: "npm:^15.11.0" stylelint-config-prettier-scss: "npm:^0.0.1" - stylelint-config-standard: "npm:^32.0.0" + stylelint-config-standard: "npm:^34.0.0" stylelint-config-standard-scss: "npm:^11.0.0" - tracked-built-ins: "npm:^3.1.1" + tracked-built-ins: "npm:^3.3.0" uuid: "npm:^11.0.3" - webpack: "npm:^5.94.0" + webpack: "npm:^5.95.0" languageName: unknown linkType: soft @@ -12543,18 +12543,6 @@ __metadata: languageName: node linkType: hard -"ember-cli-app-version@npm:^7.0.0": - version: 7.0.0 - resolution: "ember-cli-app-version@npm:7.0.0" - dependencies: - ember-cli-babel: "npm:^7.26.11" - git-repo-info: "npm:^2.1.1" - peerDependencies: - ember-source: ^3.28.0 || >= 4.0.0 - checksum: 10c0/6c3d31f74dd03d43c6b80d1496474daeace7799ce3f51f0273f5a728650a274adf2f0701cea7a42b238aafbfbcc00f7517fd10293ca46484efb2354288f2b733 - languageName: node - linkType: hard - "ember-cli-babel-plugin-helpers@npm:^1.0.0, ember-cli-babel-plugin-helpers@npm:^1.1.0, ember-cli-babel-plugin-helpers@npm:^1.1.1": version: 1.1.1 resolution: "ember-cli-babel-plugin-helpers@npm:1.1.1" @@ -13727,7 +13715,7 @@ __metadata: languageName: node linkType: hard -"ember-modifier@npm:^3.2.7 || ^4.0.0, ember-modifier@npm:^4.1.0": +"ember-modifier@npm:^3.2.7 || ^4.0.0": version: 4.1.0 resolution: "ember-modifier@npm:4.1.0" dependencies: @@ -24310,15 +24298,6 @@ __metadata: languageName: node linkType: hard -"stylelint-config-recommended@npm:^11.0.0": - version: 11.0.0 - resolution: "stylelint-config-recommended@npm:11.0.0" - peerDependencies: - stylelint: ^15.3.0 - checksum: 10c0/67f2e77383f3a2451f7a7096c26312361085f829eac2bb380884eb1e3f3f5d8ef2ea48d9619dba7b2ab8854a7560038aaf6ae5d3ef5fddf83be8335595d1b762 - languageName: node - linkType: hard - "stylelint-config-recommended@npm:^13.0.0": version: 13.0.0 resolution: "stylelint-config-recommended@npm:13.0.0" @@ -24344,17 +24323,6 @@ __metadata: languageName: node linkType: hard -"stylelint-config-standard@npm:^32.0.0": - version: 32.0.0 - resolution: "stylelint-config-standard@npm:32.0.0" - dependencies: - stylelint-config-recommended: "npm:^11.0.0" - peerDependencies: - stylelint: ^15.4.0 - checksum: 10c0/0314836da4c310e3d819b3ed6274ec6a86a792fa58f147f489302d07ef9e89e7fc6a6136e1ec3af3330fdb0b1f7c42f65292862d2e44b67261c8715fbc6a7530 - languageName: node - linkType: hard - "stylelint-config-standard@npm:^34.0.0": version: 34.0.0 resolution: "stylelint-config-standard@npm:34.0.0"