From d59eacafe0e31f37f7a0ef29601dd0519da1e538 Mon Sep 17 00:00:00 2001 From: Chris Manson Date: Tue, 21 Jul 2026 20:42:08 +0100 Subject: [PATCH] move custom-fastboot-app into a scenario test --- .github/workflows/ci.yml | 1 - pnpm-lock.yaml | 210 ------------------ .../custom-fastboot-app/.editorconfig | 19 -- test-packages/custom-fastboot-app/.ember-cli | 9 - .../custom-fastboot-app/.eslintignore | 20 -- .../custom-fastboot-app/.eslintrc.js | 53 ----- test-packages/custom-fastboot-app/.gitignore | 25 --- .../custom-fastboot-app/.template-lintrc.js | 5 - test-packages/custom-fastboot-app/.travis.yml | 31 --- .../custom-fastboot-app/.watchmanconfig | 3 - test-packages/custom-fastboot-app/README.md | 58 ----- test-packages/custom-fastboot-app/app/app.js | 12 - .../app/components/.gitkeep | 0 .../app/controllers/.gitkeep | 0 .../custom-fastboot-app/app/helpers/.gitkeep | 0 .../custom-fastboot-app/app/index.html | 25 --- .../custom-fastboot-app/app/models/.gitkeep | 0 .../custom-fastboot-app/app/router.js | 10 - .../custom-fastboot-app/app/routes/.gitkeep | 0 .../custom-fastboot-app/app/styles/app.css | 0 .../app/templates/application.hbs | 3 - .../custom-fastboot-app/config/environment.js | 56 ----- .../config/optional-features.json | 6 - .../custom-fastboot-app/config/targets.js | 18 -- .../custom-fastboot-app/ember-cli-build.js | 16 -- .../custom-fastboot-app/package.json | 68 ------ .../public/custom-index.html | 21 -- .../custom-fastboot-app/public/robots.txt | 3 - .../test/package-json-test.js | 62 ------ test-packages/custom-fastboot-app/testem.js | 27 --- .../tests/helpers/.gitkeep | 0 .../custom-fastboot-app/tests/index.html | 33 --- .../tests/integration/.gitkeep | 0 .../custom-fastboot-app/tests/test-helper.js | 8 - .../custom-fastboot-app/tests/unit/.gitkeep | 0 .../custom-fastboot-app/vendor/.gitkeep | 0 .../custom-fastboot-app-test.mjs | 177 +++++++++++++++ 37 files changed, 177 insertions(+), 802 deletions(-) delete mode 100644 test-packages/custom-fastboot-app/.editorconfig delete mode 100644 test-packages/custom-fastboot-app/.ember-cli delete mode 100644 test-packages/custom-fastboot-app/.eslintignore delete mode 100644 test-packages/custom-fastboot-app/.eslintrc.js delete mode 100644 test-packages/custom-fastboot-app/.gitignore delete mode 100644 test-packages/custom-fastboot-app/.template-lintrc.js delete mode 100644 test-packages/custom-fastboot-app/.travis.yml delete mode 100644 test-packages/custom-fastboot-app/.watchmanconfig delete mode 100644 test-packages/custom-fastboot-app/README.md delete mode 100644 test-packages/custom-fastboot-app/app/app.js delete mode 100644 test-packages/custom-fastboot-app/app/components/.gitkeep delete mode 100644 test-packages/custom-fastboot-app/app/controllers/.gitkeep delete mode 100644 test-packages/custom-fastboot-app/app/helpers/.gitkeep delete mode 100644 test-packages/custom-fastboot-app/app/index.html delete mode 100644 test-packages/custom-fastboot-app/app/models/.gitkeep delete mode 100644 test-packages/custom-fastboot-app/app/router.js delete mode 100644 test-packages/custom-fastboot-app/app/routes/.gitkeep delete mode 100644 test-packages/custom-fastboot-app/app/styles/app.css delete mode 100644 test-packages/custom-fastboot-app/app/templates/application.hbs delete mode 100644 test-packages/custom-fastboot-app/config/environment.js delete mode 100644 test-packages/custom-fastboot-app/config/optional-features.json delete mode 100644 test-packages/custom-fastboot-app/config/targets.js delete mode 100644 test-packages/custom-fastboot-app/ember-cli-build.js delete mode 100644 test-packages/custom-fastboot-app/package.json delete mode 100644 test-packages/custom-fastboot-app/public/custom-index.html delete mode 100644 test-packages/custom-fastboot-app/public/robots.txt delete mode 100644 test-packages/custom-fastboot-app/test/package-json-test.js delete mode 100644 test-packages/custom-fastboot-app/testem.js delete mode 100644 test-packages/custom-fastboot-app/tests/helpers/.gitkeep delete mode 100644 test-packages/custom-fastboot-app/tests/index.html delete mode 100644 test-packages/custom-fastboot-app/tests/integration/.gitkeep delete mode 100644 test-packages/custom-fastboot-app/tests/test-helper.js delete mode 100644 test-packages/custom-fastboot-app/tests/unit/.gitkeep delete mode 100644 test-packages/custom-fastboot-app/vendor/.gitkeep create mode 100644 test-packages/test-scenarios/custom-fastboot-app-test.mjs diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9cb18faa0..fd196612f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -76,7 +76,6 @@ jobs: cache: pnpm - run: pnpm install --frozen-lockfile - run: pnpm --filter basic-app test:mocha - - run: pnpm --filter custom-fastboot-app test:mocha - run: pnpm --filter ember-cli-fastboot-testing-app test:ember test-legacy-mocha: diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 56cdf5781..27a0cf620 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -570,120 +570,6 @@ importers: specifier: ^5.90.1 version: 5.101.3 - test-packages/custom-fastboot-app: - devDependencies: - '@ember/optional-features': - specifier: ^1.3.0 - version: 1.3.0 - '@glimmer/component': - specifier: ^1.0.0 - version: 1.1.2(@babel/core@7.29.7) - '@glimmer/tracking': - specifier: ^1.0.0 - version: 1.1.2 - babel-eslint: - specifier: ^10.1.0 - version: 10.1.0(eslint@7.32.0) - broccoli-asset-rev: - specifier: ^3.0.0 - version: 3.0.0 - chai: - specifier: ^4.2.0 - version: 4.5.0 - chai-fs: - specifier: ^2.0.0 - version: 2.0.0(chai@4.5.0) - chai-string: - specifier: ^1.5.0 - version: 1.6.0(chai@4.5.0) - ember-auto-import: - specifier: ^2.6.3 - version: 2.10.0(webpack@5.101.3) - ember-cli: - specifier: ~4.1.0 - version: 4.1.1(babel-core@6.26.3)(ejs@3.1.10)(encoding@0.1.13)(handlebars@4.7.8)(underscore@1.13.7) - ember-cli-app-version: - specifier: ^3.2.0 - version: 3.2.0(@babel/core@7.29.7) - ember-cli-babel: - specifier: ^7.20.5 - version: 7.26.11 - ember-cli-dependency-checker: - specifier: ^3.2.0 - version: 3.3.3(ember-cli@4.1.1(babel-core@6.26.3)(ejs@3.1.10)(encoding@0.1.13)(handlebars@4.7.8)(underscore@1.13.7)) - ember-cli-fastboot: - specifier: workspace:* - version: link:../../packages/ember-cli-fastboot - ember-cli-htmlbars: - specifier: ^5.1.2 - version: 5.7.2 - ember-cli-inject-live-reload: - specifier: ^2.0.2 - version: 2.1.0 - ember-cli-sri: - specifier: ^2.1.1 - version: 2.1.1 - ember-cli-uglify: - specifier: ^3.0.0 - version: 3.0.0 - ember-data: - specifier: ~3.19.0 - version: 3.19.0(@babel/core@7.29.7) - ember-export-application-global: - specifier: ^2.0.1 - version: 2.0.1 - ember-fetch: - specifier: ^8.0.1 - version: 8.1.2(encoding@0.1.13) - ember-load-initializers: - specifier: ^2.1.1 - version: 2.1.2(@babel/core@7.29.7) - ember-maybe-import-regenerator: - specifier: ^0.1.6 - version: 0.1.6(@babel/core@7.29.7) - ember-qunit: - specifier: ^4.6.0 - version: 4.6.0(@babel/core@7.29.7) - ember-resolver: - specifier: ^8.0.0 - version: 8.1.0(@babel/core@7.29.7) - ember-source: - specifier: ~3.19.0 - version: 3.19.0(patch_hash=f9b911bcc96c0b3b35efea989aafd1e32b24c7133cf06e82e56388e30ed89e94)(@babel/core@7.29.7) - ember-template-lint: - specifier: ^2.8.0 - version: 2.21.0 - ember-welcome-page: - specifier: ^4.0.0 - version: 4.1.0(@babel/core@7.29.7) - eslint: - specifier: ^7.1.0 - version: 7.32.0 - eslint-plugin-ember: - specifier: ^8.6.0 - version: 8.14.0 - eslint-plugin-node: - specifier: ^11.1.0 - version: 11.1.0(eslint@7.32.0) - execa: - specifier: '5' - version: 5.1.1 - loader.js: - specifier: ^4.7.0 - version: 4.7.0 - mocha: - specifier: ^9.1.2 - version: 9.2.2 - npm-run-all: - specifier: ^4.1.5 - version: 4.1.5 - qunit-dom: - specifier: ^1.2.0 - version: 1.6.0 - webpack: - specifier: ^5.89.0 - version: 5.101.3 - test-packages/ember-cli-fastboot-testing-app: devDependencies: '@ember/optional-features': @@ -3369,9 +3255,6 @@ packages: array-equal@1.0.2: resolution: {integrity: sha512-gUHx76KtnhEgB3HOuFYiCm3FIdEs6ocM2asHvNTkfu/Y09qQVrrVVaOKENmS2KkSaGoxgXNqC+ZVtR/n0MOkSA==} - array-events@0.2.0: - resolution: {integrity: sha512-Js6+JM/MxB72WeODWcUOOD/BWRqx6QTff8FWvweERQ0MdzViScUJV4XwRFnXvyvbfhuwWNrwhid7IJe2ux3r4Q==} - array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} @@ -3444,9 +3327,6 @@ packages: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} - async-arrays@2.0.0: - resolution: {integrity: sha512-lMm6njQEX7gHbdX/b+PGBDXD/Vwg40BKSatlOaWNxrW/O5wYzARmoh+50h58s3hsyzGPU5+xYndwtc+m91yLiw==} - async-disk-cache@1.3.5: resolution: {integrity: sha512-VZpqfR0R7CEOJZ/0FOTgWq70lCrZyS1rkI8PXugDUkTKyyAUgZ2zQ09gLhMkEn+wN8LYeUTPxZdXtlX/kmbXKQ==} @@ -3859,9 +3739,6 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - bit-mask@1.0.2: - resolution: {integrity: sha512-UGtq08LSiazxL4zVmBzrhdCWnT4RWx3JhhD/3crhfv8xxjnVHxf/WoVjEstjSUaZeZRP7kZrWNqup1VvUClCaQ==} - bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -4250,9 +4127,6 @@ packages: resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} engines: {node: '>= 0.4'} - call-me-maybe@1.0.2: - resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} - callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -4294,17 +4168,6 @@ packages: peerDependencies: chai: '>= 2.1.2 < 6' - chai-fs@2.0.0: - resolution: {integrity: sha512-PGfINFH/7XrQBnbp5/MnbFtzBL1//erKs+uoUdyo7KnW0mUX13L6bTO3Jm8OIexSVSh0Y+aaFhhbxyDtb679DA==} - engines: {node: '>=4'} - peerDependencies: - chai: '>= 1.6.1 < 5' - - chai-string@1.6.0: - resolution: {integrity: sha512-sXV7whDmpax+8H++YaZelgin7aur1LGf9ZhjZa3ojETFJ0uPVuS4XEXuIagpZ/c8uVOtsSh4MwOjy5CBLjJSXA==} - peerDependencies: - chai: ^4.1.2 - chai@4.5.0: resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} engines: {node: '>=4'} @@ -5640,10 +5503,6 @@ packages: resolution: {integrity: sha512-B7wiurPgsxsSGzJuPFkpBWnaeuCu2PGpG2BjyrfA1VcL7//o+5RSnZqiCEY326y7qmxb2GoCgo0ft03KBU0rRw==} engines: {node: '>= 4'} - ember-factory-for-polyfill@1.3.1: - resolution: {integrity: sha512-y3iG2iCzH96lZMTWQw6LWNLAfOmDC4pXKbZP6FxG8lt7GGaNFkZjwsf+Z5GAe7kxfD7UG4lVkF7x37K82rySGA==} - engines: {node: ^4.5 || 6.* || >= 7.*} - ember-fetch@8.1.2: resolution: {integrity: sha512-TVx24/jrvDIuPL296DV0hBwp7BWLcSMf0I8464KGz01sPytAB+ZAePbc9ooBTJDkKZEGFgatJa4nj3yF1S9Bpw==} engines: {node: '>= 10'} @@ -5784,10 +5643,6 @@ packages: resolution: {integrity: sha512-gWG1k8+hio1rndJXxzIYhayL7ITof3ebkZ7HwFzFDaz3NARb8MjcVloKj1PFCheu8ZbY8iP8QTRPqb+J+N+Izg==} engines: {node: '>= 18'} - ember-welcome-page@4.1.0: - resolution: {integrity: sha512-+itRRxfHnuaaLptQhivzSuEwLxLM9rg6LVsQFRb/1+PlSzirpuqp/lrfX4f02HGR9W5aZzhd7j1GQwIsEZf38g==} - engines: {node: 10.* || >= 12} - emoji-regex@7.0.3: resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} @@ -6312,9 +6167,6 @@ packages: extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - extended-emitter@1.6.0: - resolution: {integrity: sha512-TNF4xMKL9aKYTR2cTNkKYMUnKzzjfV5Nl6TX45smJ/796CmaFt+KCyidgGdod0Kgj5VSL+ctNIGVf+i1l3e+UA==} - external-editor@3.1.0: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} @@ -6900,9 +6752,6 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob-to-regexp@0.3.0: - resolution: {integrity: sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==} - glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} @@ -9752,9 +9601,6 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - readdir-enhanced@1.5.2: - resolution: {integrity: sha512-oncAoS9LLjy/+DeZfSAdZBI/iFJGcPCOp44RPFI6FIMHuxt5CC5P0cUZ9mET+EZB9ONhcEvAids/lVRkj0sTHw==} - readdirp@2.2.1: resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==} engines: {node: '>=0.10'} @@ -10348,9 +10194,6 @@ packages: resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==} engines: {node: '>= 0.4'} - sift@17.1.3: - resolution: {integrity: sha512-Rtlj66/b0ICeFzYTuNvX/EF1igRbbnGSvEyT79McoZa/DeGhMyC5pWKOEsZKnpkqtSeovd5FL/bjHWC3CIIvCQ==} - signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -14976,11 +14819,6 @@ snapshots: array-equal@1.0.2: {} - array-events@0.2.0: - dependencies: - async-arrays: 2.0.0 - extended-emitter: 1.6.0 - array-flatten@1.1.1: {} array-to-error@1.1.1: @@ -15059,10 +14897,6 @@ snapshots: astral-regex@2.0.0: {} - async-arrays@2.0.0: - dependencies: - sift: 17.1.3 - async-disk-cache@1.3.5: dependencies: debug: 2.6.9 @@ -15784,10 +15618,6 @@ snapshots: file-uri-to-path: 1.0.0 optional: true - bit-mask@1.0.2: - dependencies: - array-events: 0.2.0 - bl@4.1.0: dependencies: buffer: 5.7.1 @@ -16753,8 +16583,6 @@ snapshots: call-bind-apply-helpers: 1.0.2 get-intrinsic: 1.3.0 - call-me-maybe@1.0.2: {} - callsites@3.1.0: {} camelcase@5.3.1: {} @@ -16792,16 +16620,6 @@ snapshots: chai: 4.5.0 check-error: 1.0.3 - chai-fs@2.0.0(chai@4.5.0): - dependencies: - bit-mask: 1.0.2 - chai: 4.5.0 - readdir-enhanced: 1.5.2 - - chai-string@1.6.0(chai@4.5.0): - dependencies: - chai: 4.5.0 - chai@4.5.0: dependencies: assertion-error: 1.1.0 @@ -18763,10 +18581,6 @@ snapshots: ember-export-application-global@2.0.1: {} - ember-factory-for-polyfill@1.3.1: - dependencies: - ember-cli-version-checker: 2.2.0 - ember-fetch@8.1.2(encoding@0.1.13): dependencies: abortcontroller-polyfill: 1.7.8 @@ -19168,16 +18982,6 @@ snapshots: - encoding - supports-color - ember-welcome-page@4.1.0(@babel/core@7.29.7): - dependencies: - ember-cli-babel: 7.26.11 - ember-cli-htmlbars: 5.7.2 - ember-compatibility-helpers: 1.2.7(@babel/core@7.29.7) - ember-factory-for-polyfill: 1.3.1 - transitivePeerDependencies: - - '@babel/core' - - supports-color - emoji-regex@7.0.3: {} emoji-regex@8.0.0: {} @@ -20075,10 +19879,6 @@ snapshots: extend@3.0.2: {} - extended-emitter@1.6.0: - dependencies: - sift: 17.1.3 - external-editor@3.1.0: dependencies: chardet: 0.7.0 @@ -20836,8 +20636,6 @@ snapshots: dependencies: is-glob: 4.0.3 - glob-to-regexp@0.3.0: {} - glob-to-regexp@0.4.1: {} glob@10.4.5: @@ -23997,12 +23795,6 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 - readdir-enhanced@1.5.2: - dependencies: - call-me-maybe: 1.0.2 - es6-promise: 4.2.8 - glob-to-regexp: 0.3.0 - readdirp@2.2.1: dependencies: graceful-fs: 4.2.11 @@ -24766,8 +24558,6 @@ snapshots: side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 - sift@17.1.3: {} - signal-exit@3.0.7: {} signal-exit@4.1.0: {} diff --git a/test-packages/custom-fastboot-app/.editorconfig b/test-packages/custom-fastboot-app/.editorconfig deleted file mode 100644 index c35a00240..000000000 --- a/test-packages/custom-fastboot-app/.editorconfig +++ /dev/null @@ -1,19 +0,0 @@ -# EditorConfig helps developers define and maintain consistent -# coding styles between different editors and IDEs -# editorconfig.org - -root = true - -[*] -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true -indent_style = space -indent_size = 2 - -[*.hbs] -insert_final_newline = false - -[*.{diff,md}] -trim_trailing_whitespace = false diff --git a/test-packages/custom-fastboot-app/.ember-cli b/test-packages/custom-fastboot-app/.ember-cli deleted file mode 100644 index ee64cfed2..000000000 --- a/test-packages/custom-fastboot-app/.ember-cli +++ /dev/null @@ -1,9 +0,0 @@ -{ - /** - 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 -} diff --git a/test-packages/custom-fastboot-app/.eslintignore b/test-packages/custom-fastboot-app/.eslintignore deleted file mode 100644 index 72df37307..000000000 --- a/test-packages/custom-fastboot-app/.eslintignore +++ /dev/null @@ -1,20 +0,0 @@ -# unconventional js -/blueprints/*/files/ -/vendor/ - -# compiled output -/dist/ -/tmp/ - -# dependencies -/bower_components/ -/node_modules/ - -# misc -/coverage/ -!.* - -# ember-try -/.node_modules.ember-try/ -/bower.json.ember-try -/package.json.ember-try diff --git a/test-packages/custom-fastboot-app/.eslintrc.js b/test-packages/custom-fastboot-app/.eslintrc.js deleted file mode 100644 index 26d707835..000000000 --- a/test-packages/custom-fastboot-app/.eslintrc.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; - -module.exports = { - root: true, - parser: 'babel-eslint', - parserOptions: { - ecmaVersion: 2018, - sourceType: 'module', - ecmaFeatures: { - legacyDecorators: true - } - }, - plugins: [ - 'ember' - ], - extends: [ - 'eslint:recommended', - 'plugin:ember/recommended' - ], - env: { - browser: true - }, - rules: {}, - overrides: [ - // node files - { - files: [ - '.eslintrc.js', - '.template-lintrc.js', - 'ember-cli-build.js', - 'testem.js', - 'blueprints/*/index.js', - 'config/**/*.js', - 'lib/*/index.js', - 'server/**/*.js' - ], - parserOptions: { - sourceType: 'script' - }, - env: { - browser: false, - node: true - }, - plugins: ['node'], - extends: ['plugin:node/recommended'], - rules: { - // this can be removed once the following is fixed - // https://github.com/mysticatea/eslint-plugin-node/issues/77 - 'node/no-unpublished-require': 'off' - } - } - ] -}; diff --git a/test-packages/custom-fastboot-app/.gitignore b/test-packages/custom-fastboot-app/.gitignore deleted file mode 100644 index c40a1b2ab..000000000 --- a/test-packages/custom-fastboot-app/.gitignore +++ /dev/null @@ -1,25 +0,0 @@ -# See https://help.github.com/ignore-files/ for more about ignoring files. - -# compiled output -/dist/ -/tmp/ - -# dependencies -/bower_components/ -/node_modules/ - -# misc -/.env* -/.pnp* -/.sass-cache -/connect.lock -/coverage/ -/libpeerconnection.log -/npm-debug.log* -/testem.log -/yarn-error.log - -# ember-try -/.node_modules.ember-try/ -/bower.json.ember-try -/package.json.ember-try diff --git a/test-packages/custom-fastboot-app/.template-lintrc.js b/test-packages/custom-fastboot-app/.template-lintrc.js deleted file mode 100644 index f38737001..000000000 --- a/test-packages/custom-fastboot-app/.template-lintrc.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict'; - -module.exports = { - extends: 'octane' -}; diff --git a/test-packages/custom-fastboot-app/.travis.yml b/test-packages/custom-fastboot-app/.travis.yml deleted file mode 100644 index 0472a953c..000000000 --- a/test-packages/custom-fastboot-app/.travis.yml +++ /dev/null @@ -1,31 +0,0 @@ ---- -language: node_js -node_js: - - "10" - -dist: xenial - -addons: - chrome: stable - -cache: - yarn: true - -env: - global: - # See https://git.io/vdao3 for details. - - JOBS=1 - -branches: - only: - - master - -before_install: - - curl -o- -L https://yarnpkg.com/install.sh | bash - - export PATH=$HOME/.yarn/bin:$PATH - -install: - - yarn install --non-interactive - -script: - - yarn test diff --git a/test-packages/custom-fastboot-app/.watchmanconfig b/test-packages/custom-fastboot-app/.watchmanconfig deleted file mode 100644 index e7834e3e4..000000000 --- a/test-packages/custom-fastboot-app/.watchmanconfig +++ /dev/null @@ -1,3 +0,0 @@ -{ - "ignore_dirs": ["tmp", "dist"] -} diff --git a/test-packages/custom-fastboot-app/README.md b/test-packages/custom-fastboot-app/README.md deleted file mode 100644 index b164b4a8c..000000000 --- a/test-packages/custom-fastboot-app/README.md +++ /dev/null @@ -1,58 +0,0 @@ -# custom-fastboot-app - -This README outlines the details of collaborating on this Ember application. -A short introduction of this app could easily go here. - -## Prerequisites - -You will need the following things properly installed on your computer. - -* [Git](https://git-scm.com/) -* [Node.js](https://nodejs.org/) -* [Yarn](https://yarnpkg.com/) -* [Ember CLI](https://ember-cli.com/) -* [Google Chrome](https://google.com/chrome/) - -## Installation - -* `git clone ` this repository -* `cd custom-fastboot-app` -* `yarn install` - -## Running / Development - -* `ember serve` -* Visit your app at [http://localhost:4200](http://localhost:4200). -* Visit your tests at [http://localhost:4200/tests](http://localhost:4200/tests). - -### Code Generators - -Make use of the many generators for code, try `ember help generate` for more details - -### Running Tests - -* `ember test` -* `ember test --server` - -### Linting - -* `yarn lint:hbs` -* `yarn lint:js` -* `yarn lint:js --fix` - -### Building - -* `ember build` (development) -* `ember build --environment production` (production) - -### Deploying - -Specify what it takes to deploy your app. - -## Further Reading / Useful Links - -* [ember.js](https://emberjs.com/) -* [ember-cli](https://ember-cli.com/) -* Development Browser Extensions - * [ember inspector for chrome](https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi) - * [ember inspector for firefox](https://addons.mozilla.org/en-US/firefox/addon/ember-inspector/) diff --git a/test-packages/custom-fastboot-app/app/app.js b/test-packages/custom-fastboot-app/app/app.js deleted file mode 100644 index d8e2088b6..000000000 --- a/test-packages/custom-fastboot-app/app/app.js +++ /dev/null @@ -1,12 +0,0 @@ -import Application from '@ember/application'; -import Resolver from 'ember-resolver'; -import loadInitializers from 'ember-load-initializers'; -import config from './config/environment'; - -export default class App extends Application { - modulePrefix = config.modulePrefix; - podModulePrefix = config.podModulePrefix; - Resolver = Resolver; -} - -loadInitializers(App, config.modulePrefix); diff --git a/test-packages/custom-fastboot-app/app/components/.gitkeep b/test-packages/custom-fastboot-app/app/components/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/test-packages/custom-fastboot-app/app/controllers/.gitkeep b/test-packages/custom-fastboot-app/app/controllers/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/test-packages/custom-fastboot-app/app/helpers/.gitkeep b/test-packages/custom-fastboot-app/app/helpers/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/test-packages/custom-fastboot-app/app/index.html b/test-packages/custom-fastboot-app/app/index.html deleted file mode 100644 index c4d741640..000000000 --- a/test-packages/custom-fastboot-app/app/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - CustomFastbootApp - - - - {{content-for "head"}} - - - - - {{content-for "head-footer"}} - - - {{content-for "body"}} - - - - - {{content-for "body-footer"}} - - diff --git a/test-packages/custom-fastboot-app/app/models/.gitkeep b/test-packages/custom-fastboot-app/app/models/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/test-packages/custom-fastboot-app/app/router.js b/test-packages/custom-fastboot-app/app/router.js deleted file mode 100644 index 224ca426a..000000000 --- a/test-packages/custom-fastboot-app/app/router.js +++ /dev/null @@ -1,10 +0,0 @@ -import EmberRouter from '@ember/routing/router'; -import config from './config/environment'; - -export default class Router extends EmberRouter { - location = config.locationType; - rootURL = config.rootURL; -} - -Router.map(function() { -}); diff --git a/test-packages/custom-fastboot-app/app/routes/.gitkeep b/test-packages/custom-fastboot-app/app/routes/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/test-packages/custom-fastboot-app/app/styles/app.css b/test-packages/custom-fastboot-app/app/styles/app.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/test-packages/custom-fastboot-app/app/templates/application.hbs b/test-packages/custom-fastboot-app/app/templates/application.hbs deleted file mode 100644 index 5230580f8..000000000 --- a/test-packages/custom-fastboot-app/app/templates/application.hbs +++ /dev/null @@ -1,3 +0,0 @@ -

Welcome to Ember

- -{{outlet}} \ No newline at end of file diff --git a/test-packages/custom-fastboot-app/config/environment.js b/test-packages/custom-fastboot-app/config/environment.js deleted file mode 100644 index 9b4d9f887..000000000 --- a/test-packages/custom-fastboot-app/config/environment.js +++ /dev/null @@ -1,56 +0,0 @@ -'use strict'; - -module.exports = function(environment) { - let ENV = { - modulePrefix: 'custom-fastboot-app', - environment, - rootURL: '/', - locationType: 'auto', - - fastboot: { - htmlFile: 'custom-index.html' - }, - - EmberENV: { - FEATURES: { - // Here you can enable experimental features on an ember canary build - // e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true - }, - EXTEND_PROTOTYPES: { - // Prevent Ember Data from overriding Date.parse. - Date: false - } - }, - - APP: { - // Here you can pass flags/options to your application instance - // when it is created - } - }; - - if (environment === 'development') { - // ENV.APP.LOG_RESOLVER = true; - // ENV.APP.LOG_ACTIVE_GENERATION = true; - // ENV.APP.LOG_TRANSITIONS = true; - // ENV.APP.LOG_TRANSITIONS_INTERNAL = true; - // ENV.APP.LOG_VIEW_LOOKUPS = true; - } - - if (environment === 'test') { - // Testem prefers this... - ENV.locationType = 'none'; - - // keep test console output quieter - ENV.APP.LOG_ACTIVE_GENERATION = false; - ENV.APP.LOG_VIEW_LOOKUPS = false; - - ENV.APP.rootElement = '#ember-testing'; - ENV.APP.autoboot = false; - } - - if (environment === 'production') { - // here you can enable a production-specific feature - } - - return ENV; -}; diff --git a/test-packages/custom-fastboot-app/config/optional-features.json b/test-packages/custom-fastboot-app/config/optional-features.json deleted file mode 100644 index b26286e2e..000000000 --- a/test-packages/custom-fastboot-app/config/optional-features.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "application-template-wrapper": false, - "default-async-observers": true, - "jquery-integration": false, - "template-only-glimmer-components": true -} diff --git a/test-packages/custom-fastboot-app/config/targets.js b/test-packages/custom-fastboot-app/config/targets.js deleted file mode 100644 index 8ffae3636..000000000 --- a/test-packages/custom-fastboot-app/config/targets.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -const browsers = [ - 'last 1 Chrome versions', - 'last 1 Firefox versions', - 'last 1 Safari versions' -]; - -const isCI = !!process.env.CI; -const isProduction = process.env.EMBER_ENV === 'production'; - -if (isCI || isProduction) { - browsers.push('ie 11'); -} - -module.exports = { - browsers -}; diff --git a/test-packages/custom-fastboot-app/ember-cli-build.js b/test-packages/custom-fastboot-app/ember-cli-build.js deleted file mode 100644 index a7ad9f93b..000000000 --- a/test-packages/custom-fastboot-app/ember-cli-build.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict'; - -const EmberApp = require('ember-cli/lib/broccoli/ember-app'); - -module.exports = function(defaults) { - let app = new EmberApp(defaults, { - fingerprint: { - prepend: 'https://totally-sick-cdn.example.com/', - exclude: ['vendor.js', 'custom-fastboot-app.js'], - generateAssetMap: true, - assetMapPath: 'totally-customized-asset-map.json' - } - }); - - return app.toTree(); -}; diff --git a/test-packages/custom-fastboot-app/package.json b/test-packages/custom-fastboot-app/package.json deleted file mode 100644 index 6c8b8304e..000000000 --- a/test-packages/custom-fastboot-app/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "name": "custom-fastboot-app", - "version": "0.0.0", - "private": true, - "description": "Small description for custom-fastboot-app goes here", - "repository": "", - "license": "MIT", - "author": "", - "directories": { - "doc": "doc", - "test": "tests" - }, - "scripts": { - "build": "ember build", - "build:prod": "ember build --environment=production", - "lint:hbs": "ember-template-lint .", - "lint:js": "eslint .", - "start": "ember serve", - "test": "npm-run-all lint:* test:*", - "test:ember": "ember test", - "test:mocha": "mocha" - }, - "devDependencies": { - "@ember/optional-features": "^1.3.0", - "@glimmer/component": "^1.0.0", - "@glimmer/tracking": "^1.0.0", - "babel-eslint": "^10.1.0", - "broccoli-asset-rev": "^3.0.0", - "chai": "^4.2.0", - "chai-fs": "^2.0.0", - "chai-string": "^1.5.0", - "ember-auto-import": "^2.6.3", - "ember-cli": "~4.1.0", - "ember-cli-app-version": "^3.2.0", - "ember-cli-babel": "^7.20.5", - "ember-cli-dependency-checker": "^3.2.0", - "ember-cli-fastboot": "workspace:*", - "ember-cli-htmlbars": "^5.1.2", - "ember-cli-inject-live-reload": "^2.0.2", - "ember-cli-sri": "^2.1.1", - "ember-cli-uglify": "^3.0.0", - "ember-data": "~3.19.0", - "ember-export-application-global": "^2.0.1", - "ember-fetch": "^8.0.1", - "ember-load-initializers": "^2.1.1", - "ember-maybe-import-regenerator": "^0.1.6", - "ember-qunit": "^4.6.0", - "ember-resolver": "^8.0.0", - "ember-source": "~3.19.0", - "ember-template-lint": "^2.8.0", - "ember-welcome-page": "^4.0.0", - "eslint": "^7.1.0", - "eslint-plugin-ember": "^8.6.0", - "eslint-plugin-node": "^11.1.0", - "execa": "5", - "loader.js": "^4.7.0", - "mocha": "^9.1.2", - "npm-run-all": "^4.1.5", - "qunit-dom": "^1.2.0", - "webpack": "^5.89.0" - }, - "engines": { - "node": "20.* || 22.* || >= 24" - }, - "ember": { - "edition": "octane" - } -} diff --git a/test-packages/custom-fastboot-app/public/custom-index.html b/test-packages/custom-fastboot-app/public/custom-index.html deleted file mode 100644 index a21d3d3e3..000000000 --- a/test-packages/custom-fastboot-app/public/custom-index.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - custom index - - - - - - - - - - - - - - - diff --git a/test-packages/custom-fastboot-app/public/robots.txt b/test-packages/custom-fastboot-app/public/robots.txt deleted file mode 100644 index f5916452e..000000000 --- a/test-packages/custom-fastboot-app/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# http://www.robotstxt.org -User-agent: * -Disallow: diff --git a/test-packages/custom-fastboot-app/test/package-json-test.js b/test-packages/custom-fastboot-app/test/package-json-test.js deleted file mode 100644 index 36cd8fa2c..000000000 --- a/test-packages/custom-fastboot-app/test/package-json-test.js +++ /dev/null @@ -1,62 +0,0 @@ -"use strict"; - -const chai = require("chai"); -const expect = chai.expect; -const fs = require("fs-extra"); -const execa = require("execa"); - -chai.use(require("chai-fs")); - -describe("generating package.json", function () { - this.timeout(300000); - - describe('with customized fingerprinting options', function() { - - before(async function () { - await execa("pnpm", ["build:prod"]); - }); - - it("builds a package.json", async function () { - expect("dist/totally-customized-asset-map.json").to.be.a.file(); - expect("dist/package.json").to.be.a.file(); - }); - - it('respects a custom asset map path and prepended URLs', function() { - expect("dist/totally-customized-asset-map.json").to.be.a.file(); - let pkg = fs.readJSONSync("dist/package.json"); - let manifest = pkg.fastboot.manifest; - - manifest.appFiles.forEach((file) => { - expect(`dist/${file}`).to.be.a.file(); - }); - - expect(`dist/${manifest.htmlFile}`).to.be.a.file(); - - manifest.vendorFiles.forEach((file) => { - expect(`dist/${file}`).to.be.a.file(); - }); - }); - - it('respects individual files being excluded from fingerprinting', function() { - expect("dist/totally-customized-asset-map.json").to.be.a.file(); - - let pkg = fs.readJSONSync("dist/package.json"); - let manifest = pkg.fastboot.manifest; - - // custom-fastboot-app is excluded from fingerprinting - expect(manifest.appFiles).to.include('assets/custom-fastboot-app.js'); - // vendor.js is excluded from fingerprinting - expect(manifest.vendorFiles).to.include('assets/vendor.js'); - }); - - describe('with custom htmlFile', function() { - it('uses custom htmlFile in the manifest', function() { - let pkg = fs.readJSONSync("dist/package.json"); - let manifest = pkg.fastboot.manifest; - - expect(manifest.htmlFile).to.equal('custom-index.html'); - expect(`dist/${manifest.htmlFile}`).to.be.a.file(); - }); - }); - }); -}); diff --git a/test-packages/custom-fastboot-app/testem.js b/test-packages/custom-fastboot-app/testem.js deleted file mode 100644 index 49f53feed..000000000 --- a/test-packages/custom-fastboot-app/testem.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict'; - -module.exports = { - test_page: 'tests/index.html?hidepassed', - disable_watching: true, - launch_in_ci: [ - 'Chrome' - ], - launch_in_dev: [ - 'Chrome' - ], - browser_start_timeout: 120, - browser_args: { - Chrome: { - ci: [ - // --no-sandbox is needed when running Chrome inside a container - process.env.CI ? '--no-sandbox' : null, - '--headless', - '--disable-dev-shm-usage', - '--disable-software-rasterizer', - '--mute-audio', - '--remote-debugging-port=0', - '--window-size=1440,900' - ].filter(Boolean) - } - } -}; diff --git a/test-packages/custom-fastboot-app/tests/helpers/.gitkeep b/test-packages/custom-fastboot-app/tests/helpers/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/test-packages/custom-fastboot-app/tests/index.html b/test-packages/custom-fastboot-app/tests/index.html deleted file mode 100644 index e7a170814..000000000 --- a/test-packages/custom-fastboot-app/tests/index.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - CustomFastbootApp Tests - - - - {{content-for "head"}} - {{content-for "test-head"}} - - - - - - {{content-for "head-footer"}} - {{content-for "test-head-footer"}} - - - {{content-for "body"}} - {{content-for "test-body"}} - - - - - - - - {{content-for "body-footer"}} - {{content-for "test-body-footer"}} - - diff --git a/test-packages/custom-fastboot-app/tests/integration/.gitkeep b/test-packages/custom-fastboot-app/tests/integration/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/test-packages/custom-fastboot-app/tests/test-helper.js b/test-packages/custom-fastboot-app/tests/test-helper.js deleted file mode 100644 index 0382a848d..000000000 --- a/test-packages/custom-fastboot-app/tests/test-helper.js +++ /dev/null @@ -1,8 +0,0 @@ -import Application from '../app'; -import config from '../config/environment'; -import { setApplication } from '@ember/test-helpers'; -import { start } from 'ember-qunit'; - -setApplication(Application.create(config.APP)); - -start(); diff --git a/test-packages/custom-fastboot-app/tests/unit/.gitkeep b/test-packages/custom-fastboot-app/tests/unit/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/test-packages/custom-fastboot-app/vendor/.gitkeep b/test-packages/custom-fastboot-app/vendor/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/test-packages/test-scenarios/custom-fastboot-app-test.mjs b/test-packages/test-scenarios/custom-fastboot-app-test.mjs new file mode 100644 index 000000000..ee9f5427a --- /dev/null +++ b/test-packages/test-scenarios/custom-fastboot-app-test.mjs @@ -0,0 +1,177 @@ +import qunit from 'qunit'; +import { merge } from 'lodash-es'; + +import { appScenarios } from './scenarios.mjs'; +import path from 'node:path'; +import fs from 'fs-extra'; + +qunit.assert.includes = function (haystack, needle) { + if (!Array.isArray(haystack)) { + this.pushResult({ + result: false, + message: 'you must pass an array to assert.includes', + }); + return; + } + + this.pushResult({ + result: haystack.includes(needle), + expected: needle, + actual: haystack, + message: `[${needle}] is missing from the array`, + }); +}; + +const { module: Qmodule, test } = qunit; + +appScenarios + .map('custom-fastboot-app', (project) => { + merge(project.files, { + 'ember-cli-build.js': `'use strict'; + +const EmberApp = require('ember-cli/lib/broccoli/ember-app'); + +module.exports = function(defaults) { + let app = new EmberApp(defaults, { + fingerprint: { + prepend: 'https://totally-sick-cdn.example.com/', + exclude: ['vendor.js', 'classic-app-template.js'], + generateAssetMap: true, + assetMapPath: 'totally-customized-asset-map.json' + } + }); + + return app.toTree(); +}; +`, + public: { + 'custom-index.html': ` + + + + + custom index + + + + + + + + + + + + + + + +`, + }, + config: { + 'environment.js': `'use strict'; + +module.exports = function(environment) { + let ENV = { + modulePrefix: 'custom-fastboot-app', + environment, + rootURL: '/', + locationType: 'auto', + + fastboot: { + htmlFile: 'custom-index.html' + }, + + EmberENV: { + FEATURES: {}, + EXTEND_PROTOTYPES: { + Date: false + } + }, + + APP: {} + }; + + if (environment === 'test') { + // Testem prefers this... + ENV.locationType = 'none'; + + // keep test console output quieter + ENV.APP.LOG_ACTIVE_GENERATION = false; + ENV.APP.LOG_VIEW_LOOKUPS = false; + + ENV.APP.rootElement = '#ember-testing'; + ENV.APP.autoboot = false; + } + + return ENV; +}; +`, + }, + }); + + project.removeDependency('ember-fetch'); + }) + .forEachScenario((scenario) => { + Qmodule(scenario.name, function (hooks) { + let app; // PreparedApp + + qunit.assert.file = function (filePath) { + this.pushResult({ + result: fs.existsSync(path.join(app.dir, 'dist', filePath)), + expected: filePath, + actual: fs.readdirSync(path.join(app.dir, 'dist')), + message: 'File does not exist', + }); + }; + + hooks.before(async () => { + app = await scenario.prepare(); + const result = await app.execute(`pnpm build`); + if (result.exitCode !== 0) { + throw new Error(result.stderr); + } + }); + + test('builds a package.json', function (assert) { + assert.file('totally-customized-asset-map.json'); + assert.file('package.json'); + }); + + test('respects a custom asset map path and prepended URLs', function (assert) { + assert.file('totally-customized-asset-map.json'); + let pkg = fs.readJSONSync(path.join(app.dir, 'dist/package.json')); + let manifest = pkg.fastboot.manifest; + + manifest.appFiles.forEach((file) => { + assert.file(file); + }); + + assert.file(manifest.htmlFile); + + manifest.vendorFiles.forEach((file) => { + assert.file(file); + }); + }); + + test('respects individual files being excluded from fingerprinting', function (assert) { + assert.file('totally-customized-asset-map.json'); + + let pkg = fs.readJSONSync(path.join(app.dir, 'dist/package.json')); + let manifest = pkg.fastboot.manifest; + + // classic-app-template is excluded from fingerprinting + assert.includes(manifest.appFiles, 'assets/classic-app-template.js'); + // vendor.js is excluded from fingerprinting + assert.includes(manifest.vendorFiles, 'assets/vendor.js'); + }); + + test('with custom htmlFile it uses custom htmlFile in the manifest', function (assert) { + let pkg = fs.readJSONSync(path.join(app.dir, 'dist/package.json')); + let manifest = pkg.fastboot.manifest; + + assert.equal(manifest.htmlFile, 'custom-index.html'); + assert.file(manifest.htmlFile); + }); + }); + });