Skip to content

Commit

Permalink
Upgrade dependencies (packages/router)
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanpenner committed Aug 24, 2021
1 parent 55afa1c commit 8279c6d
Show file tree
Hide file tree
Showing 34 changed files with 365 additions and 282 deletions.
1 change: 0 additions & 1 deletion packages/router/.editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

root = true


[*]
end_of_line = lf
charset = utf-8
Expand Down
1 change: 1 addition & 0 deletions packages/router/.eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
# misc
/coverage/
!.*
.eslintcache

# ember-try
/.node_modules.ember-try/
Expand Down
24 changes: 18 additions & 6 deletions packages/router/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
'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'],
extends: [
'eslint:recommended',
'plugin:ember/recommended',
'plugin:prettier/recommended',
],
env: {
browser: true,
},
Expand All @@ -16,6 +25,7 @@ module.exports = {
{
files: [
'.eslintrc.js',
'.prettierrc.js',
'.template-lintrc.js',
'ember-cli-build.js',
'index.js',
Expand All @@ -24,19 +34,21 @@ module.exports = {
'config/**/*.js',
'tests/dummy/config/**/*.js',
],
excludedFiles: ['addon/**', 'addon-test-support/**', 'app/**', 'tests/dummy/app/**'],
excludedFiles: [
'addon/**',
'addon-test-support/**',
'app/**',
'tests/dummy/app/**',
],
parserOptions: {
sourceType: 'script',
ecmaVersion: 2015,
},
env: {
browser: false,
node: true,
},
plugins: ['node'],
rules: Object.assign({}, require('eslint-plugin-node').configs.recommended.rules, {
// add your custom rules and overrides for node files here
}),
extends: ['plugin:node/recommended'],
},
],
};
1 change: 1 addition & 0 deletions packages/router/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
/.env*
/.pnp*
/.sass-cache
/.eslintcache
/connect.lock
/coverage/
/libpeerconnection.log
Expand Down
4 changes: 4 additions & 0 deletions packages/router/.npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,13 @@
/.editorconfig
/.ember-cli
/.env*
/.eslintcache
/.eslintignore
/.eslintrc.js
/.git/
/.gitignore
/.prettierignore
/.prettierrc.js
/.template-lintrc.js
/.travis.yml
/.watchmanconfig
Expand Down
21 changes: 21 additions & 0 deletions packages/router/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# unconventional js
/blueprints/*/files/
/vendor/

# compiled output
/dist/
/tmp/

# dependencies
/bower_components/
/node_modules/

# misc
/coverage/
!.*
.eslintcache

# ember-try
/.node_modules.ember-try/
/bower.json.ember-try
/package.json.ember-try
5 changes: 5 additions & 0 deletions packages/router/.prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
'use strict';

module.exports = {
singleQuote: true,
};
2 changes: 1 addition & 1 deletion packages/router/.template-lintrc.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
'use strict';

module.exports = {
extends: 'recommended'
extends: 'octane',
};
33 changes: 15 additions & 18 deletions packages/router/.travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ language: node_js
node_js:
# we recommend testing addons with the same minimum supported node version as Ember CLI
# so that your addon works for all apps
- "8"
- "10"

sudo: false
dist: trusty
dist: xenial

addons:
chrome: stable
Expand All @@ -26,42 +25,40 @@ branches:
- /^v\d+\.\d+\.\d+/

jobs:
fail_fast: true
fast_finish: true
allow_failures:
- env: EMBER_TRY_SCENARIO=ember-canary

include:
# runs linting and tests with current locked deps

- stage: "Tests"
name: "Tests"
install:
- yarn install --non-interactive
script:
- yarn lint:hbs
- yarn lint:js
- yarn test
- yarn lint
- yarn test:ember

- name: "Floating Dependencies"
- stage: "Additional Tests"
name: "Floating Dependencies"
install:
- yarn install --no-lockfile --non-interactive
script:
- yarn test
- yarn test:ember

# we recommend new addons test the current and previous LTS
# as well as latest stable release (bonus points to beta/canary)
- stage: "Additional Tests"
env: EMBER_TRY_SCENARIO=ember-lts-2.18
- env: EMBER_TRY_SCENARIO=ember-lts-3.4
- env: EMBER_TRY_SCENARIO=ember-lts-3.16
- env: EMBER_TRY_SCENARIO=ember-lts-3.20
- env: EMBER_TRY_SCENARIO=ember-release
- env: EMBER_TRY_SCENARIO=ember-beta
- env: EMBER_TRY_SCENARIO=ember-canary
- env: EMBER_TRY_SCENARIO=ember-default-with-jquery
- env: EMBER_TRY_SCENARIO=ember-classic
- env: EMBER_TRY_SCENARIO=embroider-safe
- env: EMBER_TRY_SCENARIO=embroider-optimized

before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash
- export PATH=$HOME/.yarn/bin:$PATH

install:
- yarn install --no-lockfile --non-interactive

script:
- node_modules/.bin/ember try:one $EMBER_TRY_SCENARIO
7 changes: 3 additions & 4 deletions packages/router/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,8 @@

## Linting

* `yarn lint:hbs`
* `yarn lint:js`
* `yarn lint:js --fix`
* `yarn lint`
* `yarn lint:fix`

## Running tests

Expand All @@ -23,4 +22,4 @@
* `ember serve`
* Visit the dummy application at [http://localhost:4200](http://localhost:4200).

For more information on using ember-cli, visit [https://ember-cli.com/](https://ember-cli.com/).
For more information on using ember-cli, visit [https://ember-cli.com/](https://ember-cli.com/).
48 changes: 25 additions & 23 deletions packages/router/addon/index.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/*
This code is adapted from ember-engines/addon/-private/router-ext.js.
This cod- is adapted from ember-engines/addon/-private/router-ext.js.
*/
import EmberRouter from '@ember/routing/router';
import { buildWaiter } from '@ember/test-waiters';
import { waitForPromise } from '@ember/test-waiters';
import { macroCondition, getGlobalConfig } from '@embroider/macros';

let Router;
Expand All @@ -12,7 +12,7 @@ if (macroCondition(getGlobalConfig()['@embroider/core']?.active)) {

let newSetup = true;

const lazyBundle = function lazyBundle(routeName, engineInfoByRoute) {
const lazyBundle = function (routeName, engineInfoByRoute) {
// Here we map engine names to route names. We need to do this because
// engines can be specified with "as" such as:
//
Expand All @@ -23,16 +23,21 @@ if (macroCondition(getGlobalConfig()['@embroider/core']?.active)) {
// mappings from routeName to the engines "original name" (which we know at build time).
let engine = engineInfoByRoute[routeName];
if (engine && window._embroiderEngineBundles_) {
return window._embroiderEngineBundles_.find(bundle => bundle.names.indexOf(engine.name) !== -1);
return window._embroiderEngineBundles_.find(
(bundle) => bundle.names.indexOf(engine.name) !== -1
);
}

if (window._embroiderRouteBundles_) {
return window._embroiderRouteBundles_.find(bundle => bundle.names.indexOf(routeName) !== -1);
return window._embroiderRouteBundles_.find(
(bundle) => bundle.names.indexOf(routeName) !== -1
);
}

return false;
};

// eslint-disable-next-line ember/no-classic-classes
Router = EmberRouter.extend({
// This is necessary in order to prevent the premature loading of lazy routes
// when we are merely trying to render a link-to that points at them.
Expand All @@ -57,41 +62,38 @@ if (macroCondition(getGlobalConfig()['@embroider/core']?.active)) {
// overriding to provide our own handlerResolver.
setupRouter() {
let isSetup = this._super(...arguments);

// eslint-disable-next-line ember/no-private-routing-service
const routerMicrolib = this._routerMicrolib;
if (newSetup) {
// Different versions of routerMicrolib use the names `getRoute` vs
// `getHandler`.
if (this._routerMicrolib.getRoute !== undefined) {
this._routerMicrolib.getRoute = this._handlerResolver(
this._routerMicrolib.getRoute.bind(this._routerMicrolib)
if (routerMicrolib.getRoute !== undefined) {
routerMicrolib.getRoute = this._handlerResolver(
routerMicrolib.getRoute.bind(routerMicrolib)
);
} else if (this._routerMicrolib.getHandler !== undefined) {
this._routerMicrolib.getHandler = this._handlerResolver(
this._routerMicrolib.getHandler.bind(this._routerMicrolib)
} else if (routerMicrolib.getHandler !== undefined) {
routerMicrolib.getHandler = this._handlerResolver(
routerMicrolib.getHandler.bind(routerMicrolib)
);
}
}
return isSetup;
},

_handlerResolver(original) {
return name => {
return (name) => {
let bundle = lazyBundle(name, this._engineInfoByRoute);
if (!bundle || bundle.loaded) {
return original(name);
}

let token = waiter.beginAsync();

return bundle.load().then(
() => {
waiter.endAsync(token);
return waitForPromise(
(async () => {
await bundle.load();
bundle.loaded = true;
return original(name);
},
err => {
waiter.endAsync(token);
throw err;
}
})(),
'embroider:lazy-routes'
);
};
},
Expand Down
6 changes: 5 additions & 1 deletion packages/router/config/ember-try.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@
const getChannelURL = require('ember-source-channel-url');

module.exports = function () {
return Promise.all([getChannelURL('release'), getChannelURL('beta'), getChannelURL('canary')]).then(urls => {
return Promise.all([
getChannelURL('release'),
getChannelURL('beta'),
getChannelURL('canary'),
]).then((urls) => {
return {
useYarn: true,
scenarios: [
Expand Down
4 changes: 2 additions & 2 deletions packages/router/config/environment.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
'use strict';

module.exports = function(/* environment, appConfig */) {
return { };
module.exports = function (/* environment, appConfig */) {
return {};
};
2 changes: 1 addition & 1 deletion packages/router/ember-cli-build.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

const EmberAddon = require('ember-cli/lib/broccoli/ember-addon');

module.exports = function(defaults) {
module.exports = function (defaults) {
let app = new EmberAddon(defaults, {
// Add options here
});
Expand Down
2 changes: 1 addition & 1 deletion packages/router/index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
'use strict';

module.exports = {
name: require('./package').name
name: require('./package').name,
};
Loading

0 comments on commit 8279c6d

Please sign in to comment.