diff --git a/app/app.js b/app/app.js index afd9fc99..b5e480f8 100644 --- a/app/app.js +++ b/app/app.js @@ -2,8 +2,11 @@ import Application from '@ember/application'; import Resolver from 'ember-resolver'; import loadInitializers from 'ember-load-initializers'; import config from 'ember-api-docs/config/environment'; +import { importSync, isDevelopingApp, macroCondition } from '@embroider/macros'; -import './deprecation-workflow'; +if (macroCondition(isDevelopingApp())) { + importSync('./deprecation-workflow'); +} export default class App extends Application { modulePrefix = config.modulePrefix; diff --git a/app/deprecation-workflow.js b/app/deprecation-workflow.js index e3156738..39cc120e 100644 --- a/app/deprecation-workflow.js +++ b/app/deprecation-workflow.js @@ -1,9 +1,10 @@ import setupDeprecationWorkflow from 'ember-cli-deprecation-workflow'; setupDeprecationWorkflow({ + throwOnUnhandled: true, workflow: [ - { handler: 'silence', matchId: 'ember.component.reopen' }, - { handler: 'silence', matchId: 'implicit-injections' }, + { handler: 'throw', matchId: 'ember.component.reopen' }, + { handler: 'throw', matchId: 'implicit-injections' }, { handler: 'silence', matchId: 'this-property-fallback' }, { handler: 'silence', matchId: 'ember-component.is-visible' }, { diff --git a/app/routes/project-version.js b/app/routes/project-version.js index 2fab46c7..15248125 100644 --- a/app/routes/project-version.js +++ b/app/routes/project-version.js @@ -21,6 +21,8 @@ export default class ProjectVersionRoute extends Route { @service router; + @service store; + @service('project') projectService; diff --git a/app/routes/project-version/classes/class.js b/app/routes/project-version/classes/class.js index c1e9f0c4..61c513c4 100644 --- a/app/routes/project-version/classes/class.js +++ b/app/routes/project-version/classes/class.js @@ -18,6 +18,8 @@ export default class ClassRoute extends Route.extend(ScrollTracker) { @service metaStore; + @service store; + titleToken(model) { return model.name; } diff --git a/app/routes/project-version/functions/function.js b/app/routes/project-version/functions/function.js index f0dd7cac..5049056d 100644 --- a/app/routes/project-version/functions/function.js +++ b/app/routes/project-version/functions/function.js @@ -14,6 +14,8 @@ export default class FunctionRoute extends Route { @service scrollPositionReset; + @service store; + titleToken(model) { return model?.fn?.name; } diff --git a/app/routes/project-version/modules/module.js b/app/routes/project-version/modules/module.js index eb11468f..1d5721c8 100644 --- a/app/routes/project-version/modules/module.js +++ b/app/routes/project-version/modules/module.js @@ -1,8 +1,11 @@ import ClassRoute from '../classes/class'; import ScrollTracker from 'ember-api-docs/mixins/scroll-tracker'; import getFullVersion from 'ember-api-docs/utils/get-full-version'; +import { inject as service } from '@ember/service'; export default class ModuleRoute extends ClassRoute.extend(ScrollTracker) { + @service store; + async model(params) { const { project, project_version: compactVersion } = this.paramsFor('project-version'); diff --git a/app/routes/project-version/namespaces/namespace.js b/app/routes/project-version/namespaces/namespace.js index dc8e31d0..1a78c899 100644 --- a/app/routes/project-version/namespaces/namespace.js +++ b/app/routes/project-version/namespaces/namespace.js @@ -1,8 +1,11 @@ import ClassRoute from '../classes/class'; import ScrollTracker from 'ember-api-docs/mixins/scroll-tracker'; import getFullVersion from 'ember-api-docs/utils/get-full-version'; +import { inject as service } from '@ember/service'; export default class NamespaceRoute extends ClassRoute.extend(ScrollTracker) { + @service store; + templateName = 'project-version/classes/class'; async model(params) { diff --git a/app/routes/project.js b/app/routes/project.js index bcc5f143..241576aa 100644 --- a/app/routes/project.js +++ b/app/routes/project.js @@ -7,6 +7,8 @@ export default class ProjectRoute extends Route.extend(ScrollTracker) { @service router; + @service store; + model({ project: projectName }) { let projectNameToLookUp = 'ember'; diff --git a/package.json b/package.json index bef88a2e..4236a294 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "@ember/test-helpers": "^2.6.0", "@embroider/compat": "^3.4.3", "@embroider/core": "^3.4.3", + "@embroider/macros": "^1.18.0", "@embroider/webpack": "^3.2.1", "@glimmer/component": "^1.1.2", "@glimmer/tracking": "^1.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2dc42c3e..0346b949 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -23,6 +23,9 @@ importers: '@embroider/core': specifier: ^3.4.3 version: 3.4.10 + '@embroider/macros': + specifier: ^1.18.0 + version: 1.18.0 '@embroider/webpack': specifier: ^3.2.1 version: 3.2.3(@embroider/core@3.4.10)(webpack@5.91.0) @@ -1199,6 +1202,15 @@ packages: '@glint/template': optional: true + '@embroider/macros@1.18.0': + resolution: {integrity: sha512-KanP80XxNK4bmQ1HKTcUjy/cdCt9n7knPMLK1vzHdOFymACHo+GbhgUjXjYdOCuBTv+ZwcjL2P2XDmBcYS9r8g==} + engines: {node: 12.* || 14.* || >= 16} + peerDependencies: + '@glint/template': ^1.0.0 + peerDependenciesMeta: + '@glint/template': + optional: true + '@embroider/shared-internals@1.8.3': resolution: {integrity: sha512-N5Gho6Qk8z5u+mxLCcMYAoQMbN4MmH+z2jXwQHVs859bxuZTxwF6kKtsybDAASCtd2YGxEmzcc1Ja/wM28824w==} engines: {node: 12.* || 14.* || >= 16} @@ -1211,6 +1223,10 @@ packages: resolution: {integrity: sha512-STU1oDP36JQY+zpivyAfXGXadN664d+DOiVNBUW+4AAuWLVxIRWDIuFj8UxzREXZU9trZY8vOhKwKQtfEgdwSg==} engines: {node: 12.* || 14.* || >= 16} + '@embroider/shared-internals@3.0.0': + resolution: {integrity: sha512-5J5ipUMCAinQS38WW7wedruq5Z4VnHvNo+ZgOduw0PtI9w0CQWx7/HE+98PBDW8jclikeF+aHwF317vc1hwuzg==} + engines: {node: 12.* || 14.* || >= 16} + '@embroider/util@1.13.1': resolution: {integrity: sha512-MRbs2FPO4doQ31YHIYk+QKChEs7k15aTsMk8QmO4eKiuQq9OT0sr1oasObZyGB8cVVbr29WWRWmsNirxzQtHIg==} engines: {node: 12.* || 14.* || >= 16} @@ -2177,6 +2193,10 @@ packages: resolution: {integrity: sha512-4YNPkuVsxAW5lnSTa6cn4Wk49RX6GAB6vX+M6LqEtN0YePqoFczv1/x0EyLK/o+4E1j9jEuYj5Su7IEPab5JHQ==} engines: {node: '>= 12.*'} + babel-import-util@3.0.1: + resolution: {integrity: sha512-2copPaWQFUrzooJVIVZA/Oppx/S/KOoZ4Uhr+XWEQDMZ8Rvq/0SNQpbdIyMBJ8IELWt10dewuJw+tX4XjOo7Rg==} + engines: {node: '>= 12.*'} + babel-loader@8.3.0: resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} engines: {node: '>= 8.9'} @@ -2402,6 +2422,10 @@ packages: resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} engines: {node: '>= 0.8'} + better-path-resolve@1.0.0: + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} + big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} @@ -4718,7 +4742,7 @@ packages: resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==} engines: {node: '>= 4.0'} os: [darwin] - deprecated: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2 + deprecated: Upgrade to fsevents v2 to mitigate potential security issues fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} @@ -5343,6 +5367,10 @@ packages: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} + is-subdir@1.2.0: + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} + is-symbol@1.0.4: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} @@ -6552,6 +6580,9 @@ packages: resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} engines: {node: '>=14.16'} + pkg-entry-points@1.1.1: + resolution: {integrity: sha512-BhZa7iaPmB4b3vKIACoppyUoYn8/sFs17VJJtzrzPZvEnN2nqrgg911tdL65lA2m1ml6UI3iPeYbZQ4VXpn1mA==} + pkg-up@2.0.0: resolution: {integrity: sha512-fjAPuiws93rm7mPUu21RdBnkeZNrbfCFCwfAhPWY+rR3zG0ubpe5cEReHOw5fIbfmsxEV/g2kSxGTATY3Bpnwg==} engines: {node: '>=4'} @@ -7090,6 +7121,10 @@ packages: resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} deprecated: https://github.com/lydell/resolve-url#deprecated + resolve.exports@2.0.3: + resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} + engines: {node: '>=10'} + resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true @@ -9614,7 +9649,7 @@ snapshots: '@ember/render-modifiers@2.1.0(@babel/core@7.24.7)(ember-source@3.28.12(@babel/core@7.24.7))': dependencies: - '@embroider/macros': 1.16.2 + '@embroider/macros': 1.18.0 ember-cli-babel: 7.26.11 ember-modifier-manager-polyfill: 1.2.0(@babel/core@7.24.7) ember-source: 3.28.12(@babel/core@7.24.7) @@ -9631,7 +9666,7 @@ snapshots: '@ember/test-helpers@2.9.4(@babel/core@7.24.7)(@glint/environment-ember-loose@0.9.7(@glimmer/component@1.1.2(@babel/core@7.24.7))(ember-cli-htmlbars@6.3.0)(ember-modifier@3.2.7(@babel/core@7.24.7)))(ember-source@3.28.12(@babel/core@7.24.7))': dependencies: '@ember/test-waiters': 3.1.0 - '@embroider/macros': 1.16.2 + '@embroider/macros': 1.18.0 '@embroider/util': 1.13.1(@glint/environment-ember-loose@0.9.7(@glimmer/component@1.1.2(@babel/core@7.24.7))(ember-cli-htmlbars@6.3.0)(ember-modifier@3.2.7(@babel/core@7.24.7)))(ember-source@3.28.12(@babel/core@7.24.7)) broccoli-debug: 0.6.5 broccoli-funnel: 3.0.8 @@ -9774,6 +9809,19 @@ snapshots: transitivePeerDependencies: - supports-color + '@embroider/macros@1.18.0': + dependencies: + '@embroider/shared-internals': 3.0.0 + assert-never: 1.2.1 + babel-import-util: 3.0.1 + ember-cli-babel: 7.26.11 + find-up: 5.0.0 + lodash: 4.17.21 + resolve: 1.22.8 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + '@embroider/shared-internals@1.8.3': dependencies: babel-import-util: 1.4.1 @@ -9815,9 +9863,27 @@ snapshots: transitivePeerDependencies: - supports-color + '@embroider/shared-internals@3.0.0': + dependencies: + babel-import-util: 3.0.1 + debug: 4.3.5(supports-color@8.1.1) + ember-rfc176-data: 0.3.18 + fs-extra: 9.1.0 + is-subdir: 1.2.0 + js-string-escape: 1.0.1 + lodash: 4.17.21 + minimatch: 3.1.2 + pkg-entry-points: 1.1.1 + resolve-package-path: 4.0.3 + resolve.exports: 2.0.3 + semver: 7.6.2 + typescript-memoize: 1.1.1 + transitivePeerDependencies: + - supports-color + '@embroider/util@1.13.1(@glint/environment-ember-loose@0.9.7(@glimmer/component@1.1.2(@babel/core@7.24.7))(ember-cli-htmlbars@6.3.0)(ember-modifier@3.2.7(@babel/core@7.24.7)))(ember-source@3.28.12(@babel/core@7.24.7))': dependencies: - '@embroider/macros': 1.16.2 + '@embroider/macros': 1.18.0 broccoli-funnel: 3.0.8 ember-cli-babel: 7.26.11 ember-source: 3.28.12(@babel/core@7.24.7) @@ -11230,6 +11296,8 @@ snapshots: babel-import-util@3.0.0: {} + babel-import-util@3.0.1: {} + babel-loader@8.3.0(@babel/core@7.24.7(supports-color@8.1.1))(webpack@5.91.0): dependencies: '@babel/core': 7.24.7(supports-color@8.1.1) @@ -11656,6 +11724,10 @@ snapshots: dependencies: safe-buffer: 5.1.2 + better-path-resolve@1.0.0: + dependencies: + is-windows: 1.0.2 + big.js@5.2.2: {} binary-extensions@1.13.1: @@ -13358,7 +13430,7 @@ snapshots: ember-arg-types@1.1.0(webpack@5.91.0): dependencies: - '@embroider/macros': 1.16.2 + '@embroider/macros': 1.18.0 ember-auto-import: 2.7.3(webpack@5.91.0) ember-cli-babel: 7.26.11 ember-cli-typescript: 5.3.0 @@ -13420,7 +13492,7 @@ snapshots: '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.24.7) '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.24.7) '@babel/preset-env': 7.24.7(@babel/core@7.24.7) - '@embroider/macros': 1.16.2 + '@embroider/macros': 1.18.0 '@embroider/shared-internals': 2.6.1 babel-loader: 8.3.0(@babel/core@7.24.7)(webpack@5.91.0) babel-plugin-ember-modules-api-polyfill: 3.5.0 @@ -13455,7 +13527,7 @@ snapshots: ember-basic-dropdown@7.3.0(@babel/core@7.24.7)(@glint/environment-ember-loose@0.9.7(@glimmer/component@1.1.2(@babel/core@7.24.7))(ember-cli-htmlbars@6.3.0)(ember-modifier@3.2.7(@babel/core@7.24.7)))(ember-source@3.28.12(@babel/core@7.24.7))(webpack@5.91.0): dependencies: - '@embroider/macros': 1.16.2 + '@embroider/macros': 1.18.0 '@embroider/util': 1.13.1(@glint/environment-ember-loose@0.9.7(@glimmer/component@1.1.2(@babel/core@7.24.7))(ember-cli-htmlbars@6.3.0)(ember-modifier@3.2.7(@babel/core@7.24.7)))(ember-source@3.28.12(@babel/core@7.24.7)) '@glimmer/component': 1.1.2(@babel/core@7.24.7) '@glimmer/tracking': 1.1.2 @@ -13611,7 +13683,7 @@ snapshots: ember-cli-clipboard@1.1.0(@babel/core@7.24.7)(webpack@5.91.0): dependencies: - '@embroider/macros': 1.16.2 + '@embroider/macros': 1.18.0 clipboard: 2.0.11 ember-arg-types: 1.1.0(webpack@5.91.0) ember-auto-import: 2.7.3(webpack@5.91.0) @@ -14285,7 +14357,7 @@ snapshots: ember-get-config@2.1.1: dependencies: - '@embroider/macros': 1.16.2 + '@embroider/macros': 1.18.0 ember-cli-babel: 7.26.11 transitivePeerDependencies: - '@glint/template' @@ -14543,7 +14615,7 @@ snapshots: ember-svg-jar@2.4.9: dependencies: - '@embroider/macros': 1.16.2 + '@embroider/macros': 1.18.0 broccoli-caching-writer: 3.0.3 broccoli-concat: 4.2.5 broccoli-funnel: 3.0.8 @@ -16315,6 +16387,10 @@ snapshots: dependencies: has-tostringtag: 1.0.2 + is-subdir@1.2.0: + dependencies: + better-path-resolve: 1.0.0 + is-symbol@1.0.4: dependencies: has-symbols: 1.0.3 @@ -17684,6 +17760,8 @@ snapshots: dependencies: find-up: 6.3.0 + pkg-entry-points@1.1.1: {} + pkg-up@2.0.0: dependencies: find-up: 2.1.0 @@ -18326,6 +18404,8 @@ snapshots: resolve-url@0.2.1: {} + resolve.exports@2.0.3: {} + resolve@1.22.8: dependencies: is-core-module: 2.13.1