upgrade blueprints to v5.3 (#693)

This commit is contained in:
Jeldrik Hanschke 2023-10-17 11:38:49 +02:00 committed by GitHub
parent 64c5de6e9f
commit 8bb8af265f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
22 changed files with 741 additions and 401 deletions

View file

@ -1,26 +1,14 @@
# unconventional js # unconventional js
/blueprints/*/files/ /blueprints/*/files/
/vendor/
# compiled output # compiled output
/dist/ /dist/
/tmp/
# dependencies
/bower_components/
/node_modules/
# misc # misc
/api /api
/coverage/ /coverage/
!.* !.*
.*/ .*/
.eslintcache
# ember-try # ember-try
/.node_modules.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

View file

@ -2,12 +2,15 @@
module.exports = { module.exports = {
root: true, root: true,
parser: 'babel-eslint', parser: '@babel/eslint-parser',
parserOptions: { parserOptions: {
ecmaVersion: 2018, ecmaVersion: 'latest',
sourceType: 'module', sourceType: 'module',
ecmaFeatures: { requireConfigFile: false,
legacyDecorators: true, babelOptions: {
plugins: [
['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true }],
],
}, },
}, },
plugins: ['ember'], plugins: ['ember'],
@ -34,6 +37,7 @@ module.exports = {
files: [ files: [
'./.eslintrc.js', './.eslintrc.js',
'./.prettierrc.js', './.prettierrc.js',
'./.stylelintrc.js',
'./.template-lintrc.js', './.template-lintrc.js',
'./ember-cli-build.js', './ember-cli-build.js',
'./testem.js', './testem.js',
@ -49,13 +53,7 @@ module.exports = {
browser: false, browser: false,
node: true, node: true,
}, },
plugins: ['node'], extends: ['plugin:n/recommended'],
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',
},
}, },
{ {
// test files // test files

View file

@ -7,30 +7,22 @@ on:
pull_request: pull_request:
jobs: jobs:
lint-javascript: lint:
name: lint javascript name: lint
runs-on: ubuntu-latest runs-on: ubuntu-latest
timeout-minutes: 10
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/setup-node@v3 - uses: actions/setup-node@v3
with: with:
node-version: 18 node-version: 18
- name: Install node modules cache: yarn
run: yarn install - name: Install Dependencies
- name: Run lint run: yarn install --frozen-lockfile
run: yarn lint:js - name: Lint
lint-templates: run: yarn lint
name: lint ember templates
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Install node modules
run: yarn install
- name: Run lint
run: yarn lint:hbs
test-bundlesize: test-bundlesize:
name: test bundlesize name: test bundlesize
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -44,10 +36,12 @@ jobs:
- uses: actions/setup-node@v3 - uses: actions/setup-node@v3
with: with:
node-version: 18 node-version: 18
cache: yarn
- name: Install node modules - name: Install node modules
run: yarn install run: yarn install
- name: Run tests - name: Run tests
run: yarn test:bundlesize run: yarn test:bundlesize
test-csp-header: test-csp-header:
name: test CSP in .htaccess name: test CSP in .htaccess
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -56,10 +50,12 @@ jobs:
- uses: actions/setup-node@v3 - uses: actions/setup-node@v3
with: with:
node-version: 18 node-version: 18
cache: yarn
- name: Install node modules - name: Install node modules
run: yarn install run: yarn install
- name: Run tests - name: Run tests
run: yarn test:csp-header run: yarn test:csp-header
test-chrome: test-chrome:
name: test against Chrome name: test against Chrome
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -68,6 +64,7 @@ jobs:
- uses: actions/setup-node@v3 - uses: actions/setup-node@v3
with: with:
node-version: 18 node-version: 18
cache: yarn
- name: Install node modules - name: Install node modules
run: yarn install run: yarn install
- name: Install chrome browser - name: Install chrome browser
@ -80,6 +77,7 @@ jobs:
run: yarn build --environment test run: yarn build --environment test
- name: run tests in chrome - name: run tests in chrome
run: yarn test:ember --launch Chrome --path dist run: yarn test:ember --launch Chrome --path dist
test-firefox: test-firefox:
name: test against Firefox name: test against Firefox
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -88,6 +86,7 @@ jobs:
- uses: actions/setup-node@v3 - uses: actions/setup-node@v3
with: with:
node-version: 18 node-version: 18
cache: yarn
- name: Install node modules - name: Install node modules
run: yarn install run: yarn install
- name: Setup firefox - name: Setup firefox
@ -100,6 +99,7 @@ jobs:
run: yarn build --environment test run: yarn build --environment test
- name: run tests in firefox - name: run tests in firefox
run: yarn test:ember --launch Firefox --path dist run: yarn test:ember --launch Firefox --path dist
test-browserstack: test-browserstack:
name: test against additional browser in BrowserStack name: test against additional browser in BrowserStack
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -108,6 +108,7 @@ jobs:
- uses: actions/setup-node@v3 - uses: actions/setup-node@v3
with: with:
node-version: 18 node-version: 18
cache: yarn
- name: Install node modules - name: Install node modules
run: yarn install run: yarn install
- name: Build with test environment - name: Build with test environment
@ -131,6 +132,7 @@ jobs:
uses: browserstack/github-actions/setup-local@master uses: browserstack/github-actions/setup-local@master
with: with:
local-testing: stop local-testing: stop
test-backend: test-backend:
name: Test php backend name: Test php backend
runs-on: ubuntu-latest runs-on: ubuntu-latest

9
.gitignore vendored
View file

@ -1,32 +1,25 @@
# See https://help.github.com/ignore-files/ for more about ignoring files.
# compiled output # compiled output
/dist/ /dist/
/tmp/ /declarations/
/api/tests/_output/ /api/tests/_output/
/api/tests/_tmp/ /api/tests/_tmp/
/api/tests/_support/_generated/ /api/tests/_support/_generated/
# dependencies # dependencies
/bower_components/
/node_modules/ /node_modules/
/api/vendor/ /api/vendor/
# misc # misc
/.env* /.env*
/.pnp* /.pnp*
/.sass-cache
/.eslintcache /.eslintcache
/connect.lock
/coverage/ /coverage/
/libpeerconnection.log
/npm-debug.log* /npm-debug.log*
/testem.log /testem.log
/yarn-error.log /yarn-error.log
# ember-try # ember-try
/.node_modules.ember-try/ /.node_modules.ember-try/
/bower.json.ember-try
/npm-shrinkwrap.json.ember-try /npm-shrinkwrap.json.ember-try
/package.json.ember-try /package.json.ember-try

View file

@ -1,25 +1,13 @@
# unconventional js # unconventional js
/blueprints/*/files/ /blueprints/*/files/
/vendor/
# compiled output # compiled output
/dist/ /dist/
/tmp/
# dependencies
/bower_components/
/node_modules/
# misc # misc
/coverage/ /coverage/
!.* !.*
.eslintcache .*/
.lint-todo/
# ember-try # ember-try
/.node_modules.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

8
.stylelintignore Normal file
View file

@ -0,0 +1,8 @@
# unconventional files
/blueprints/*/files/
# compiled output
/dist/
# addons
/.node_modules.ember-try/

15
.stylelintrc.js Normal file
View file

@ -0,0 +1,15 @@
'use strict';
module.exports = {
extends: [
'stylelint-config-standard',
'stylelint-config-standard-scss',
'stylelint-prettier/recommended',
],
rules: {
'declaration-block-no-duplicate-properties': null,
'no-descending-specificity': null,
'scss/no-global-function-names': null,
'selector-class-pattern': null,
},
};

View file

@ -1,3 +1,3 @@
{ {
"ignore_dirs": ["tmp", "dist"] "ignore_dirs": ["dist"]
} }

View file

@ -19,6 +19,7 @@
border: $custom-select-border-width solid gray("500"); border: $custom-select-border-width solid gray("500");
} }
h3, .h3 { h3,
.h3 {
margin-top: map-get($spacers, 5); margin-top: map-get($spacers, 5);
} }

View file

@ -2,8 +2,10 @@
.ember-power-calendar { .ember-power-calendar {
@include ember-power-calendar(30px); @include ember-power-calendar(30px);
width: 100%; width: 100%;
} }
.ember-power-calendar .ember-power-calendar-day, .ember-power-calendar .ember-power-calendar-day,
.ember-power-calendar .ember-power-calendar-weekday { .ember-power-calendar .ember-power-calendar-weekday {
max-width: none; max-width: none;
@ -12,6 +14,7 @@
height: auto; height: auto;
margin: 1px; margin: 1px;
} }
.ember-power-calendar .ember-power-calendar-weekdays, .ember-power-calendar .ember-power-calendar-weekdays,
.ember-power-calendar .ember-power-calendar-week { .ember-power-calendar .ember-power-calendar-week {
height: 3em; height: 3em;

View file

@ -5,6 +5,7 @@
.cr-logo { .cr-logo {
font-size: $font-size-base; font-size: $font-size-base;
margin-bottom: 0; margin-bottom: 0;
// This is needed for cases when the h1 does not contain a link, like when JS // This is needed for cases when the h1 does not contain a link, like when JS
// is disabled. // is disabled.
color: $body-bg; color: $body-bg;
@ -20,6 +21,7 @@
.cr-hide-on-mobile { .cr-hide-on-mobile {
display: none; display: none;
@include media-breakpoint-up(md) { @include media-breakpoint-up(md) {
display: block; display: block;
} }
@ -32,5 +34,5 @@
// adds the same padding-right as .is-valid / .is-invalid validation feedback // adds the same padding-right as .is-valid / .is-invalid validation feedback
// classes provided by Bootstrap do // classes provided by Bootstrap do
.cr-pr-validation { .cr-pr-validation {
padding-right: calc(1.5em + .74rem); padding-right: calc(1.5em + 0.74rem);
} }

View file

@ -1,4 +1,4 @@
@import "open-iconic/font/css/open-iconic-bootstrap.scss"; @import "open-iconic/font/css/open-iconic-bootstrap";
.oi { .oi {
// open-iconic uses `display: inline-block` by default which prevents text // open-iconic uses `display: inline-block` by default which prevents text

View file

@ -7,13 +7,14 @@
table { table {
overflow: scroll; overflow: scroll;
th, td { th,
td {
white-space: nowrap; white-space: nowrap;
} }
thead { thead {
// position sticky on thead is not supported by Chrome and Edge // position sticky on thead is not supported by Chrome and Edge
position: -webkit-sticky; position: sticky;
position: sticky; position: sticky;
top: 0; top: 0;
z-index: 100; z-index: 100;
@ -33,7 +34,7 @@
th, th,
td { td {
&:first-child { &:first-child {
position: -webkit-sticky; position: sticky;
position: sticky; position: sticky;
left: 0; left: 0;
z-index: 200; z-index: 200;

View file

@ -2,7 +2,6 @@ $steps-border-width: 5px;
.cr-steps-top-nav { .cr-steps-top-nav {
margin-bottom: map-get($spacers, 5); margin-bottom: map-get($spacers, 5);
flex-direction: column; flex-direction: column;
width: 100%; width: 100%;
@ -25,14 +24,18 @@ $steps-border-width: 5px;
border-left: 0; border-left: 0;
border-right: 0; border-right: 0;
} }
&:not(:disabled) { &:not(:disabled) {
border-left-color: gray("300"); border-left-color: gray("300");
@include media-breakpoint-up(md) { @include media-breakpoint-up(md) {
border-bottom: $steps-border-width solid gray("300"); border-bottom: $steps-border-width solid gray("300");
} }
} }
&.is-active { &.is-active {
border-left-color: theme-color-level("primary", 2); border-left-color: theme-color-level("primary", 2);
@include media-breakpoint-up(md) { @include media-breakpoint-up(md) {
border-bottom: $steps-border-width solid theme-color-level("primary", 2); border-bottom: $steps-border-width solid theme-color-level("primary", 2);
} }
@ -44,6 +47,7 @@ $bottom-nav-height: 5.5em;
.cr-form-wrapper { .cr-form-wrapper {
padding-bottom: $bottom-nav-height; padding-bottom: $bottom-nav-height;
@include media-breakpoint-up(md) { @include media-breakpoint-up(md) {
padding-bottom: 0; padding-bottom: 0;
} }
@ -78,19 +82,23 @@ $bottom-nav-height: 5.5em;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
@include media-breakpoint-up(md) { @include media-breakpoint-up(md) {
width: auto; width: auto;
} }
} }
&__prev-button .cr-steps-bottom-nav__label { &__prev-button .cr-steps-bottom-nav__label {
margin-left: map-get($spacers, 3); margin-left: map-get($spacers, 3);
} }
&__next-button .cr-steps-bottom-nav__label { &__next-button .cr-steps-bottom-nav__label {
margin-right: map-get($spacers, 3); margin-right: map-get($spacers, 3);
} }
&__next-button { &__next-button {
justify-content: flex-end; justify-content: flex-end;
@include media-breakpoint-up(md) { @include media-breakpoint-up(md) {
justify-content: normal; justify-content: normal;
} }

View file

@ -1,9 +1,6 @@
$icon-font-path: '../open-iconic/font/fonts/'; $icon-font-path: "../open-iconic/font/fonts/";
$enable-rounded: false; $enable-rounded: false;
$font-family-base: -apple-system, blinkmacsystemfont, "Segoe UI", roboto,
$font-family-base: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif; oxygen-sans, ubuntu, cantarell, "Helvetica Neue", sans-serif;
$jumbotron-padding: 2rem; $jumbotron-padding: 2rem;
$btn-disabled-opacity: 0.45; $btn-disabled-opacity: 0.45;

View file

@ -3,7 +3,7 @@
"packages": [ "packages": [
{ {
"name": "ember-cli", "name": "ember-cli",
"version": "4.4.1", "version": "5.3.0",
"blueprints": [ "blueprints": [
{ {
"name": "app", "name": "app",

View file

@ -1,22 +1,22 @@
'use strict'; 'use strict';
module.exports = function (environment) { module.exports = function (environment) {
let ENV = { const ENV = {
modulePrefix: 'croodle', modulePrefix: 'croodle',
environment, environment,
rootURL: '', rootURL: '',
locationType: 'hash', locationType: 'hash',
EmberENV: { EmberENV: {
FEATURES: {
// Here you can enable experimental features on an ember canary build
// e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true
},
EXTEND_PROTOTYPES: { EXTEND_PROTOTYPES: {
Array: true, Array: true,
Date: false, Date: false,
String: false, String: false,
Function: true, Function: true,
}, },
FEATURES: {
// Here you can enable experimental features on an ember canary build
// e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true
},
}, },
APP: { APP: {

View file

@ -3,7 +3,7 @@
const EmberApp = require('ember-cli/lib/broccoli/ember-app'); const EmberApp = require('ember-cli/lib/broccoli/ember-app');
module.exports = function (defaults) { module.exports = function (defaults) {
let app = new EmberApp(defaults, { const app = new EmberApp(defaults, {
autoImport: { autoImport: {
forbidEval: true, forbidEval: true,
webpack: { webpack: {

View file

@ -11,33 +11,38 @@
}, },
"scripts": { "scripts": {
"build": "ember build --environment=production", "build": "ember build --environment=production",
"lint": "npm-run-all --aggregate-output --continue-on-error --parallel \"lint:!(fix)\"", "lint": "concurrently \"npm:lint:*(!fix)\" --names \"lint:\"",
"lint:fix": "npm-run-all --aggregate-output --continue-on-error --parallel lint:*:fix", "lint:css": "stylelint \"**/*.scss\"",
"lint:css:fix": "concurrently \"npm:lint:css -- --fix\"",
"lint:fix": "concurrently \"npm:lint:*:fix\" --names \"fix:\"",
"lint:hbs": "ember-template-lint .", "lint:hbs": "ember-template-lint .",
"lint:hbs:fix": "ember-template-lint . --fix", "lint:hbs:fix": "ember-template-lint . --fix",
"lint:js": "eslint . --cache", "lint:js": "eslint . --cache",
"release": "release-it", "release": "release-it",
"lint:js:fix": "eslint . --fix", "lint:js:fix": "eslint . --fix",
"start": "ember serve", "start": "ember serve",
"test": "npm-run-all lint test:*", "test": "concurrently \"npm:lint\" \"npm:test:*\" --names \"lint,test:\"",
"test:ember": "ember test", "test:ember": "ember test",
"test:bundlesize": "ember bundlesize:test", "test:bundlesize": "ember bundlesize:test",
"test:csp-header": "grep \"`ember csp-headers --environment production --silent 2>&1 | sed 's/ $//'`\" public/.htaccess || (echo \"CSP headers in public/.htaccess does not match configuration\" && exit 1)" "test:csp-header": "grep \"`ember csp-headers --environment production --silent 2>&1 | sed 's/ $//'`\" public/.htaccess || (echo \"CSP headers in public/.htaccess does not match configuration\" && exit 1)"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.22.20",
"@babel/eslint-parser": "^7.22.15",
"@babel/plugin-proposal-decorators": "^7.22.15",
"@ember/optional-features": "^2.0.0", "@ember/optional-features": "^2.0.0",
"@ember/string": "^3.1.1", "@ember/string": "^3.1.1",
"@ember/test-helpers": "^3.0.0", "@ember/test-helpers": "^3.2.0",
"@glimmer/component": "^1.1.2", "@glimmer/component": "^1.1.2",
"@glimmer/tracking": "^1.1.2", "@glimmer/tracking": "^1.1.2",
"babel-eslint": "^10.1.0",
"bootstrap": "^4.3.1", "bootstrap": "^4.3.1",
"broccoli-asset-rev": "^3.0.0", "broccoli-asset-rev": "^3.0.0",
"ember-auto-import": "^2.4.1", "concurrently": "^8.2.1",
"ember-auto-import": "^2.6.3",
"ember-bootstrap": "^5.0.0", "ember-bootstrap": "^5.0.0",
"ember-classic-decorator": "^3.0.0", "ember-classic-decorator": "^3.0.0",
"ember-cli": "~5.3.0", "ember-cli": "~5.3.0",
"ember-cli-app-version": "^6.0.0", "ember-cli-app-version": "^6.0.1",
"ember-cli-babel": "^8.0.0", "ember-cli-babel": "^8.0.0",
"ember-cli-browser-navigation-button-test-helper": "^0.3.0", "ember-cli-browser-navigation-button-test-helper": "^0.3.0",
"ember-cli-browserstack": "^2.0.0", "ember-cli-browserstack": "^2.0.0",
@ -45,10 +50,10 @@
"ember-cli-clean-css": "^3.0.0", "ember-cli-clean-css": "^3.0.0",
"ember-cli-clipboard": "^0.16.0", "ember-cli-clipboard": "^0.16.0",
"ember-cli-content-security-policy": "^2.0.0", "ember-cli-content-security-policy": "^2.0.0",
"ember-cli-dependency-checker": "^3.3.1", "ember-cli-dependency-checker": "^3.3.2",
"ember-cli-deprecation-workflow": "^2.0.0", "ember-cli-deprecation-workflow": "^2.0.0",
"ember-cli-flash": "^4.0.0", "ember-cli-flash": "^4.0.0",
"ember-cli-htmlbars": "^6.0.1", "ember-cli-htmlbars": "^6.3.0",
"ember-cli-inject-live-reload": "^2.1.0", "ember-cli-inject-live-reload": "^2.1.0",
"ember-cli-mirage": "^3.0.0", "ember-cli-mirage": "^3.0.0",
"ember-cli-page-object": "^2.0.0", "ember-cli-page-object": "^2.0.0",
@ -59,42 +64,44 @@
"ember-data": "~4.4.0", "ember-data": "~4.4.0",
"ember-data-model-fragments": "^6.0.0", "ember-data-model-fragments": "^6.0.0",
"ember-decorators": "^6.1.1", "ember-decorators": "^6.1.1",
"ember-export-application-global": "^2.0.1", "ember-fetch": "^8.1.2",
"ember-fetch": "^8.1.1",
"ember-intl": "^5.0.0", "ember-intl": "^5.0.0",
"ember-load-initializers": "^2.1.2", "ember-load-initializers": "^2.1.2",
"ember-math-helpers": "^3.0.0", "ember-math-helpers": "^3.0.0",
"ember-modifier": "^4.0.0", "ember-modifier": "^4.1.0",
"ember-page-title": "^8.0.0", "ember-page-title": "^8.0.0",
"ember-power-calendar": "^0.20.0", "ember-power-calendar": "^0.20.0",
"ember-power-calendar-luxon": "^0.5.0", "ember-power-calendar-luxon": "^0.5.0",
"ember-qunit": "^7.0.0", "ember-qunit": "^7.0.0",
"ember-resolver": "^11.0.0", "ember-resolver": "^11.0.1",
"ember-source": "~4.12.0", "ember-source": "~4.12.0",
"ember-template-lint": "^5.0.0", "ember-template-lint": "^5.11.2",
"ember-test-selectors": "^6.0.0", "ember-test-selectors": "^6.0.0",
"ember-truth-helpers": "^4.0.0", "ember-truth-helpers": "^4.0.0",
"eslint": "^7.32.0", "eslint": "^8.49.0",
"eslint-config-prettier": "^9.0.0", "eslint-config-prettier": "^9.0.0",
"eslint-plugin-ember": "^11.0.0", "eslint-plugin-ember": "^11.11.1",
"eslint-plugin-node": "^11.1.0", "eslint-plugin-n": "^16.1.0",
"eslint-plugin-prettier": "^5.0.1", "eslint-plugin-prettier": "^5.0.1",
"eslint-plugin-qunit": "^8.0.0", "eslint-plugin-qunit": "^8.0.0",
"fs-extra": "^9.0.0", "fs-extra": "^9.0.0",
"lerna-changelog": "^2.0.0", "lerna-changelog": "^2.0.0",
"loader.js": "^4.7.0", "loader.js": "^4.7.0",
"miragejs": "^0.1.47", "miragejs": "^0.1.47",
"npm-run-all": "^4.1.5",
"open-iconic": "^1.1.1", "open-iconic": "^1.1.1",
"prettier": "^3.0.0", "prettier": "^3.0.3",
"qunit": "^2.19.1", "qunit": "^2.19.4",
"qunit-dom": "^3.0.0", "qunit-dom": "^3.0.0",
"release-it": "^16.0.0", "release-it": "^16.0.0",
"release-it-lerna-changelog": "^5.0.0", "release-it-lerna-changelog": "^5.0.0",
"sass": "^1.19.0", "sass": "^1.19.0",
"sjcl": "^1.0.8", "sjcl": "^1.0.8",
"stylelint": "^15.10.3",
"stylelint-config-standard": "^34.0.0",
"stylelint-config-standard-scss": "^11.0.0",
"stylelint-prettier": "^4.0.2",
"tracked-built-ins": "^3.3.0", "tracked-built-ins": "^3.3.0",
"webpack": "^5.72.1" "webpack": "^5.88.2"
}, },
"engines": { "engines": {
"node": "18.* || >=20" "node": "18.* || >=20"

View file

@ -4,7 +4,7 @@ import {
setupTest as upstreamSetupTest, setupTest as upstreamSetupTest,
} from 'ember-qunit'; } 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 // test setup functions. This way, you can easily extend the setup that is
// needed per test type. // needed per test type.

917
yarn.lock

File diff suppressed because it is too large Load diff