├── .editorconfig ├── .gitattributes ├── .github └── workflows │ ├── ci.yml │ └── push-dist.yml ├── .gitignore ├── .prettierignore ├── .prettierrc.cjs ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── config └── ember-cli-update.json ├── ember-route-template ├── .eslintignore ├── .eslintrc.cjs ├── .gitignore ├── .prettierignore ├── .prettierrc.cjs ├── .template-lintrc.cjs ├── CHANGELOG.md ├── addon-main.cjs ├── babel.config.json ├── package.json ├── rollup.config.mjs ├── src │ ├── index.ts │ └── template-registry.ts ├── tsconfig.json └── unpublished-development-types │ └── index.d.ts ├── package.json ├── test-app ├── .editorconfig ├── .ember-cli ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .prettierignore ├── .prettierrc.js ├── .stylelintignore ├── .stylelintrc.js ├── .template-lintrc.js ├── .watchmanconfig ├── README.md ├── app │ ├── app.ts │ ├── components │ │ └── .gitkeep │ ├── config │ │ └── environment.d.ts │ ├── controllers │ │ ├── .gitkeep │ │ └── controller-works.ts │ ├── helpers │ │ └── .gitkeep │ ├── index.html │ ├── models │ │ └── .gitkeep │ ├── router.ts │ ├── routes │ │ ├── .gitkeep │ │ ├── component-works.ts │ │ ├── controller-works.ts │ │ └── model-works.ts │ ├── styles │ │ └── app.css │ └── templates │ │ ├── application.hbs │ │ ├── component-works.gts │ │ ├── controller-works.gts │ │ ├── gjs-template-works.gjs │ │ ├── gts-template-works.gts │ │ ├── hbs-template-works.hbs │ │ └── model-works.gts ├── config │ ├── ember-cli-update.json │ ├── ember-try.js │ ├── environment.js │ ├── optional-features.json │ └── targets.js ├── ember-cli-build.js ├── package.json ├── public │ └── robots.txt ├── testem.js ├── tests │ ├── acceptance │ │ └── route-templates-test.ts │ ├── helpers │ │ └── index.ts │ ├── index.html │ ├── integration │ │ └── .gitkeep │ ├── test-helper.ts │ └── unit │ │ └── .gitkeep ├── tsconfig.json └── types │ ├── ember-page-title.d.ts │ └── global.d.ts └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent 2 | # coding styles between different editors and IDEs 3 | # editorconfig.org 4 | 5 | root = true 6 | 7 | [*] 8 | end_of_line = lf 9 | charset = utf-8 10 | trim_trailing_whitespace = true 11 | insert_final_newline = true 12 | indent_style = space 13 | indent_size = 2 14 | 15 | [*.hbs] 16 | insert_final_newline = false 17 | 18 | [*.{diff,md}] 19 | trim_trailing_whitespace = false 20 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.gjs linguist-language=js linguist-detectable 2 | *.gts linguist-language=ts linguist-detectable 3 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | - master 8 | pull_request: {} 9 | 10 | concurrency: 11 | group: ci-${{ github.head_ref || github.ref }} 12 | cancel-in-progress: true 13 | 14 | jobs: 15 | test: 16 | name: 'Tests' 17 | runs-on: ubuntu-latest 18 | 19 | steps: 20 | - uses: actions/checkout@v3 21 | - uses: actions/setup-node@v3 22 | with: 23 | node-version: 16 24 | cache: yarn 25 | - name: Install Dependencies 26 | run: yarn install --frozen-lockfile 27 | - name: Lint 28 | run: yarn lint 29 | - name: Run Tests 30 | run: yarn test 31 | 32 | floating: 33 | name: 'Floating Dependencies' 34 | runs-on: ubuntu-latest 35 | 36 | steps: 37 | - uses: actions/checkout@v3 38 | - uses: actions/setup-node@v3 39 | with: 40 | node-version: 16 41 | cache: yarn 42 | - name: Install Dependencies 43 | run: yarn install --frozen-lockfile 44 | - name: Run Tests 45 | run: yarn test 46 | 47 | try-scenarios: 48 | name: ${{ matrix.try-scenario }} 49 | runs-on: ubuntu-latest 50 | needs: 'test' 51 | 52 | strategy: 53 | fail-fast: false 54 | matrix: 55 | try-scenario: 56 | - ember-lts-3.28 57 | - ember-lts-4.4 58 | - ember-lts-4.8 59 | - ember-lts-4.12 60 | - ember-release 61 | - ember-beta 62 | - ember-canary 63 | - embroider-safe 64 | - embroider-optimized 65 | 66 | steps: 67 | - uses: actions/checkout@v3 68 | - uses: actions/setup-node@v3 69 | with: 70 | node-version: 16 71 | cache: yarn 72 | - name: Install Dependencies 73 | run: yarn install --frozen-lockfile 74 | - name: Run Tests 75 | run: ./node_modules/.bin/ember try:one ${{ matrix.try-scenario }} 76 | working-directory: test-app 77 | -------------------------------------------------------------------------------- /.github/workflows/push-dist.yml: -------------------------------------------------------------------------------- 1 | # Because this library needs to be built, 2 | # we can't easily point package.json files at the git repo for easy cross-repo testing. 3 | # 4 | # This workflow brings back that capability by placing the compiled assets on a "dist" branch 5 | # (configurable via the "branch" option below) 6 | name: Push dist 7 | 8 | on: 9 | push: 10 | branches: 11 | - main 12 | - master 13 | 14 | jobs: 15 | push-dist: 16 | name: Push dist 17 | runs-on: ubuntu-latest 18 | steps: 19 | - uses: actions/checkout@v3 20 | - name: Install Node 21 | uses: actions/setup-node@v3 22 | with: 23 | cache: 'yarn' 24 | - name: Install Dependencies 25 | run: yarn install --frozen-lockfile 26 | - uses: kategengler/put-built-npm-package-contents-on-branch@v2.0.0 27 | with: 28 | branch: dist 29 | token: ${{ secrets.GITHUB_TOKEN }} 30 | working-directory: ember-route-template 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | node_modules/ 5 | 6 | # misc 7 | .env* 8 | .pnp* 9 | .pnpm-debug.log 10 | .sass-cache 11 | .eslintcache 12 | coverage/ 13 | npm-debug.log* 14 | yarn-error.log 15 | 16 | # ember-try 17 | /.node_modules.ember-try/ 18 | /package.json.ember-try 19 | /package-lock.json.ember-try 20 | /yarn.lock.ember-try 21 | /pnpm-lock.ember-try.yaml 22 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Prettier is also run from each package, so the ignores here 2 | # protect against files that may not be within a package 3 | 4 | # misc 5 | !.* 6 | .lint-todo/ 7 | 8 | # ember-try 9 | /.node_modules.ember-try/ 10 | /pnpm-lock.ember-try.yaml 11 | -------------------------------------------------------------------------------- /.prettierrc.cjs: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | plugins: ['prettier-plugin-ember-template-tag'], 5 | singleQuote: true, 6 | }; 7 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # How To Contribute 2 | 3 | ## Installation 4 | 5 | - `git clone ` 6 | - `cd ember-route-template` 7 | - `yarn install` 8 | 9 | ## Linting 10 | 11 | - `yarn lint` 12 | - `yarn lint:fix` 13 | 14 | ## Building the addon 15 | 16 | - `cd ember-route-template` 17 | - `yarn build` 18 | 19 | ## Running tests 20 | 21 | - `cd test-app` 22 | - `yarn test` – Runs the test suite on the current Ember version 23 | 24 | ## Running the test application 25 | 26 | - `cd test-app` 27 | - `yarn start` 28 | - Visit the test application at [http://localhost:4200](http://localhost:4200). 29 | 30 | For more information on using ember-cli, visit [https://cli.emberjs.com/release/](https://cli.emberjs.com/release/). 31 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Discourse 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ember-route-template 2 | 3 | [eti]: https://github.com/ember-template-imports/ember-template-imports 4 | [polaris]: https://blog.emberjs.com/ember-5-0-released/#toc_the-journey-towards-ember-polaris 5 | [resources]: https://github.com/NullVoxPopuli/ember-resources/blob/main/docs/docs/README.md 6 | [rfc]: https://rfcs.emberjs.com/id/0779-first-class-component-templates/#typescript 7 | [discourse]: https://discourse.org 8 | 9 | Provides an adapter for using [`