Upgrade to latest Ember, etc.

This commit is contained in:
2020-05-09 16:27:06 +02:00
parent 67e3c9a7c3
commit 065c635580
28 changed files with 8718 additions and 2653 deletions
-1
View File
@@ -4,7 +4,6 @@
root = true root = true
[*] [*]
end_of_line = lf end_of_line = lf
charset = utf-8 charset = utf-8
+9 -3
View File
@@ -1,8 +1,14 @@
'use strict';
module.exports = { module.exports = {
root: true, root: true,
parser: 'babel-eslint',
parserOptions: { parserOptions: {
ecmaVersion: 2018, ecmaVersion: 2018,
sourceType: 'module' sourceType: 'module',
ecmaFeatures: {
legacyDecorators: true
}
}, },
globals: { globals: {
console: true console: true
@@ -20,6 +26,7 @@ module.exports = {
rules: { rules: {
'ember/avoid-leaking-state-in-ember-objects': 'warn', 'ember/avoid-leaking-state-in-ember-objects': 'warn',
'no-console': 'off' 'no-console': 'off'
'ember/no-jquery': 'error'
}, },
overrides: [ overrides: [
// node files // node files
@@ -35,8 +42,7 @@ module.exports = {
'server/**/*.js' 'server/**/*.js'
], ],
parserOptions: { parserOptions: {
sourceType: 'script', sourceType: 'script'
ecmaVersion: 2015
}, },
env: { env: {
browser: false, browser: false,
+1 -1
View File
@@ -1,7 +1,7 @@
'use strict'; 'use strict';
module.exports = { module.exports = {
extends: 'recommended', extends: 'octane',
rules: { rules: {
'simple-unless': false, 'simple-unless': false,
+4 -2
View File
@@ -23,7 +23,9 @@ env:
# See https://git.io/vdao3 for details. # See https://git.io/vdao3 for details.
- JOBS=1 - JOBS=1
branches:
only:
- master
script: script:
- npm run lint:hbs
- npm run lint:js
- npm test - npm test
+6 -8
View File
@@ -1,14 +1,12 @@
import Application from '@ember/application'; import Application from '@ember/application';
import Resolver from './resolver'; import Resolver from 'ember-resolver';
import loadInitializers from 'ember-load-initializers'; import loadInitializers from 'ember-load-initializers';
import config from './config/environment'; import config from './config/environment';
const App = Application.extend({ export default class App extends Application {
modulePrefix: config.modulePrefix, modulePrefix = config.modulePrefix;
podModulePrefix: config.podModulePrefix, podModulePrefix = config.podModulePrefix;
Resolver Resolver = Resolver;
}); }
loadInitializers(App, config.modulePrefix); loadInitializers(App, config.modulePrefix);
export default App;
-3
View File
@@ -1,3 +0,0 @@
import Resolver from 'ember-resolver';
export default Resolver;
+4 -6
View File
@@ -1,10 +1,10 @@
import EmberRouter from '@ember/routing/router'; import EmberRouter from '@ember/routing/router';
import config from './config/environment'; import config from './config/environment';
const Router = EmberRouter.extend({ export default class Router extends EmberRouter {
location: config.locationType, location = config.locationType;
rootURL: config.rootURL rootURL = config.rootURL;
}); }
Router.map(function() { Router.map(function() {
this.route('dashboard', function() { this.route('dashboard', function() {
@@ -33,5 +33,3 @@ Router.map(function() {
this.route('complete'); this.route('complete');
}); });
}); });
export default Router;
+1 -1
View File
@@ -1 +1 @@
{{loading-spinner}} <LoadingSpinner />
+2 -2
View File
@@ -1,6 +1,6 @@
<header id="topbar"> <header id="topbar">
<h1>{{link-to "Kosmos Kredits" "dashboard"}}</h1> <h1><LinkTo @route="dashboard">Kosmos Kredits</LinkTo></h1>
{{topbar-account-panel}} <TopbarAccountPanel />
</header> </header>
{{outlet}} {{outlet}}
View File
+1 -3
View File
@@ -6,9 +6,7 @@
</header> </header>
<div class="content"> <div class="content">
{{add-contribution contributors=sortedContributors <AddContribution @contributors={{sortedContributors}} @attributes={{model.params}} @save={{action "save"}} />
attributes=model.params
save=(action "save")}}
</div> </div>
</section> </section>
+1 -1
View File
@@ -6,7 +6,7 @@
</header> </header>
<div class="content"> <div class="content">
{{add-contribution attributes=attributes contributors=sortedContributors save=(action "save")}} <AddContribution @attributes={{attributes}} @contributors={{sortedContributors}} @save={{action "save"}} />
</div> </div>
</section> </section>
+1 -1
View File
@@ -6,7 +6,7 @@
</header> </header>
<div class="content"> <div class="content">
{{add-contributor attributes=attributes save=(action "save")}} <AddContributor @attributes={{attributes}} @save={{action "save"}} />
</div> </div>
</section> </section>
+1 -1
View File
@@ -6,7 +6,7 @@
</header> </header>
<div class="content"> <div class="content">
{{add-contributor save=(action "save")}} <AddContributor @save={{action "save"}} />
</div> </div>
</section> </section>
+8 -17
View File
@@ -9,7 +9,7 @@
check out the check out the
<a href="https://wiki.kosmos.org/Kredits" target="_blank" rel="noopener">Kredits documentation</a>. <a href="https://wiki.kosmos.org/Kredits" target="_blank" rel="noopener">Kredits documentation</a>.
If you want to start earning kredits for your contributions, If you want to start earning kredits for your contributions,
{{link-to "create a contributor profile" "signup"}}. <LinkTo @route="signup">create a contributor profile</LinkTo>.
</p> </p>
</div> </div>
{{/if}} {{/if}}
@@ -22,21 +22,19 @@
<h2>Contributors</h2> <h2>Contributors</h2>
{{#if kredits.hasAccounts}} {{#if kredits.hasAccounts}}
<nav> <nav>
{{link-to "add" "contributors.new" title="Add contributor profile" class="button small green"}} <LinkTo @route="contributors.new" @title="Add contributor profile" class="button small green">add</LinkTo>
</nav> </nav>
{{/if}} {{/if}}
</header> </header>
<div class="content"> <div class="content">
{{contributor-list contributorList=kreditsToplist <ContributorList @contributorList={{kreditsToplist}} @showUnconfirmedKredits={{showUnconfirmedKredits}} @selectedContributorId={{selectedContributorId}} />
showUnconfirmedKredits=showUnconfirmedKredits
selectedContributorId=selectedContributorId}}
<p class="stats"> <p class="stats">
<span class="number">{{await kredits.totalKreditsEarned}}</span> kredits confirmed and issued to <span class="number">{{await kredits.totalKreditsEarned}}</span> kredits confirmed and issued to
<span class="number">{{contributorsWithKredits.length}}</span> contributors <span class="number">{{contributorsWithKredits.length}}</span> contributors
</p> </p>
<p class="stats"> <p class="stats">
{{input type="checkbox" id="hide-unnconfirmed-kredits" checked=showUnconfirmedKredits}} <Input @type="checkbox" @id="hide-unnconfirmed-kredits" @checked={{showUnconfirmedKredits}} />
<label for="hide-unnconfirmed-kredits">Show unconfirmed kredits in toplist</label> <label for="hide-unnconfirmed-kredits">Show unconfirmed kredits in toplist</label>
</p> </p>
</div> </div>
@@ -47,7 +45,7 @@
<h2>Contributions by type</h2> <h2>Contributions by type</h2>
</header> </header>
<div class="content"> <div class="content">
{{chart-contributions-by-type contributions=contributions}} <ChartContributionsByType @contributions={{contributions}} />
</div> </div>
</section> </section>
</div> </div>
@@ -60,17 +58,13 @@
<nav> <nav>
<button {{action "toggleQuickFilterUnconfirmed"}} class="small {{if showQuickFilterUnconfirmed "active"}}">filter</button> <button {{action "toggleQuickFilterUnconfirmed"}} class="small {{if showQuickFilterUnconfirmed "active"}}">filter</button>
{{#if kredits.hasAccounts}} {{#if kredits.hasAccounts}}
{{link-to "add" "contributions.new" title="Submit a contribution" class="button small green"}} <LinkTo @route="contributions.new" @title="Submit a contribution" class="button small green">add</LinkTo>
{{/if}} {{/if}}
</nav> </nav>
</header> </header>
<div class="content"> <div class="content">
{{!-- TODO: We need a better naming for kredits.hasAccounts --}} {{!-- TODO: We need a better naming for kredits.hasAccounts --}}
{{contribution-list contributions=contributionsUnconfirmedSorted <ContributionList @contributions={{contributionsUnconfirmedSorted}} @vetoContribution={{action "vetoContribution"}} @contractInteractionEnabled={{kredits.hasAccounts}} @selectedContributionId={{selectedContributionId}} @showQuickFilter={{showQuickFilterUnconfirmed}} />
vetoContribution=(action "vetoContribution")
contractInteractionEnabled=kredits.hasAccounts
selectedContributionId=selectedContributionId
showQuickFilter=showQuickFilterUnconfirmed}}
</div> </div>
</section> </section>
{{/if}} {{/if}}
@@ -83,10 +77,7 @@
</nav> </nav>
</header> </header>
<div class="content"> <div class="content">
{{contribution-list contributions=contributionsConfirmedSorted <ContributionList @contributions={{contributionsConfirmedSorted}} @vetoContribution={{action "vetoContribution"}} @selectedContributionId={{selectedContributionId}} @showQuickFilter={{showQuickFilterConfirmed}} />
vetoContribution=(action "vetoContribution")
selectedContributionId=selectedContributionId
showQuickFilter=showQuickFilterConfirmed}}
</div> </div>
</section> </section>
</div> </div>
@@ -10,8 +10,8 @@
<div class="content"> <div class="content">
<p class="who-what-when"> <p class="who-what-when">
<span class="contributor"> <span class="contributor">
{{user-avatar contributor=model.contributor}} <UserAvatar @contributor={{model.contributor}} />
{{link-to model.contributor.name "dashboard.contributors.show" model.contributor}} <LinkTo @route="dashboard.contributors.show" @model={{model.contributor}}>{{model.contributor.name}}</LinkTo>
</span> </span>
contributed contributed
<span class="date" title={{model.iso8601Date}}>{{moment-from model.iso8601Date}}</span>: <span class="date" title={{model.iso8601Date}}>{{moment-from model.iso8601Date}}</span>:
@@ -35,14 +35,14 @@
{{#if model.vetoed}} {{#if model.vetoed}}
<div class="hint vetoed"> <div class="hint vetoed">
<div class="icon"> <div class="icon">
{{icon-warning}} <IconWarning />
</div> </div>
<p> <p>
This contribution has been vetoed, meaning no This contribution has been vetoed, meaning no
kredits will be issued. kredits will be issued.
</p> </p>
<p> <p>
{{link-to "Re-submit contribution …" "contributions.resubmit" model class="button small green"}} <LinkTo @route="contributions.resubmit" @model={{model}} class="button small green">Re-submit contribution …</LinkTo>
</p> </p>
</div> </div>
{{/if}} {{/if}}
@@ -50,7 +50,7 @@
<div class="actions"> <div class="actions">
<p> <p>
{{link-to "Copy & edit as new" "contributions.resubmit" model class="button small"}} <LinkTo @route="contributions.resubmit" @model={{model}} class="button small">Copy & edit as new</LinkTo>
{{#if model.ipfsHash}} {{#if model.ipfsHash}}
<a href="{{ipfsGatewayUrl}}/{{model.ipfsHash}}" <a href="{{ipfsGatewayUrl}}/{{model.ipfsHash}}"
class="button small" target="_blank" rel="noopener"> class="button small" target="_blank" rel="noopener">
@@ -1,6 +1,6 @@
<section id="contributor-profile"> <section id="contributor-profile">
<header> <header>
{{user-avatar contributor=model size="medium"}} <UserAvatar @contributor={{model}} @size="medium" />
</header> </header>
<div class="content"> <div class="content">
@@ -10,23 +10,21 @@
<ul class="external-accounts"> <ul class="external-accounts">
{{#each model.accounts as |account|}} {{#each model.accounts as |account|}}
<li> <li>
{{external-account-link account=account}} <ExternalAccountLink @account={{account}} />
</li> </li>
{{/each}} {{/each}}
{{#if model.url}} {{#if model.url}}
<li> <li>
<a href={{model.url}} target="_blank" rel="noopener" title="Website"> <a href={{model.url}} target="_blank" rel="noopener" title="Website">
<span class="site">Web</span> <span class="site">Web</span>
{{icon-web-globe}} <IconWebGlobe />
</a> </a>
</li> </li>
{{/if}} {{/if}}
</ul> </ul>
<div class="actions"> <div class="actions">
<p> <p>
{{link-to "♥ Give kredits" "contributions.new" <LinkTo @route="contributions.new" @query={{hash contributorId=model.id}} class="button green">♥ Give kredits</LinkTo>
(query-params contributorId=model.id)
class="button green"}}
</p> </p>
</div> </div>
</div> </div>
@@ -37,7 +35,7 @@
{{#if model.ipfsHash}} {{#if model.ipfsHash}}
<a href="{{ipfsGatewayUrl}}/{{model.ipfsHash}}" class="button small" target="_blank" rel="noopener">Inspect IPFS profile</a> <a href="{{ipfsGatewayUrl}}/{{model.ipfsHash}}" class="button small" target="_blank" rel="noopener">Inspect IPFS profile</a>
{{/if}} {{/if}}
{{link-to "Edit profile" "contributors.edit" model class="button small"}} <LinkTo @route="contributors.edit" @model={{model}} class="button small">Edit profile</LinkTo>
</p> </p>
</div> </div>
</section> </section>
+1 -1
View File
@@ -4,7 +4,7 @@
</header> </header>
<div class="content"> <div class="content">
{{add-proposal contributors=minedContributors save=(action "save")}} <AddProposal @contributors={{minedContributors}} @save={{action "save"}} />
</div> </div>
</section> </section>
+1 -1
View File
@@ -10,6 +10,6 @@
<a href="https://wiki.kosmos.org/Main_Page#Community_.2F_Getting_in_touch_.2F_Getting_involved">in one of our chat rooms</a>?. <a href="https://wiki.kosmos.org/Main_Page#Community_.2F_Getting_in_touch_.2F_Getting_involved">in one of our chat rooms</a>?.
</p> </p>
<p class="actions"> <p class="actions">
{{#link-to "dashboard" class="button small"}}Return to dashboard{{/link-to}} <LinkTo @route="dashboard" class="button small">Return to dashboard</LinkTo>
</p> </p>
</div> </div>
+1 -3
View File
@@ -10,9 +10,7 @@
<p> <p>
<label> <label>
Ethereum account:<br> Ethereum account:<br>
{{input type="text" value=ethAddress <Input @type="text" @value={{ethAddress}} placeholder="0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4" class={{if isValidEthAccount "valid" ""}} />
placeholder="0xF18E631Ea191aE4ebE70046Fcb01a436554421BA4"
class=(if isValidEthAccount "valid" "")}}
</label> </label>
</p> </p>
</form> </form>
+1 -1
View File
@@ -13,7 +13,7 @@
</p> </p>
<p class="actions"> <p class="actions">
<button {{action "connectGithub"}} class="icon"> <button {{action "connectGithub"}} class="icon">
{{icon-account-github-com}} <IconAccountGithubCom />
Connect GitHub Connect GitHub
</button> </button>
</p> </p>
+4
View File
@@ -0,0 +1,4 @@
2020-05-09T13:41:58.543Z [warn] WARNING: {{await}} was not converted as it has positional parameters which can't be automatically converted. Source: app/templates/dashboard.hbs
2020-05-09T13:41:58.919Z [warn] WARNING: {{contribution-status}} was not converted as it has positional parameters which can't be automatically converted. Source: app/templates/dashboard/contributions/show.hbs
2020-05-09T14:59:55.142Z [warn] WARNING: {{contribution-status}} was not converted as it has positional parameters which can't be automatically converted. Source: app/templates/dashboard/contributions/show.hbs
2020-05-09T14:59:56.285Z [warn] WARNING: {{await}} was not converted as it has positional parameters which can't be automatically converted. Source: app/templates/dashboard.hbs
+20
View File
@@ -0,0 +1,20 @@
{
"schemaVersion": "1.0.0",
"packages": [
{
"name": "ember-cli",
"version": "3.18.0",
"blueprints": [
{
"name": "app",
"outputRepo": "https://github.com/ember-cli/ember-new-output",
"codemodsSource": "ember-app-codemods-manifest@1",
"isBaseBlueprint": true,
"options": [
"--no-welcome"
]
}
]
}
]
}
+4 -1
View File
@@ -1,3 +1,6 @@
{ {
"jquery-integration": true "application-template-wrapper": false,
"default-async-observers": true,
"jquery-integration": false,
"template-only-glimmer-components": true
} }
+8595 -2552
View File
File diff suppressed because it is too large Load Diff
+38 -30
View File
@@ -11,12 +11,14 @@
"test": "tests" "test": "tests"
}, },
"scripts": { "scripts": {
"lint": "npm-run-all --aggregate-output --continue-on-error --parallel lint:*",
"lint:hbs": "ember-template-lint .", "lint:hbs": "ember-template-lint .",
"lint:js": "eslint .", "lint:js": "eslint .",
"test": "ember test",
"start": "ember serve", "start": "ember serve",
"test": "npm-run-all lint:* test:*",
"test:ember": "ember test",
"start:local": "WEB3_PROVIDER_URL=http://localhost:7545 ember serve", "start:local": "WEB3_PROVIDER_URL=http://localhost:7545 ember serve",
"build": "ember build", "build": "ember build --environment=production",
"build-prod": "rm -rf release/* && ember build -prod --output-path release", "build-prod": "rm -rf release/* && ember build -prod --output-path release",
"preversion": "npm test", "preversion": "npm test",
"version": "npm run build-prod && git add release/", "version": "npm run build-prod && git add release/",
@@ -24,53 +26,59 @@
"deploy": "git push 5apps master" "deploy": "git push 5apps master"
}, },
"devDependencies": { "devDependencies": {
"@ember/jquery": "^0.6.0", "@ember/optional-features": "^1.3.0",
"@ember/optional-features": "^0.7.0", "@glimmer/component": "^1.0.0",
"@glimmer/tracking": "^1.0.0",
"babel-eslint": "^10.1.0",
"babel-preset-es2015": "^6.22.0", "babel-preset-es2015": "^6.22.0",
"babelify": "^7.3.0", "babelify": "^7.3.0",
"brfs": "^2.0.2", "brfs": "^2.0.2",
"broccoli-asset-rev": "^3.0.0", "broccoli-asset-rev": "^3.0.0",
"ember-ajax": "^5.0.0",
"ember-auto-import": "^1.5.3", "ember-auto-import": "^1.5.3",
"ember-awesome-macros": "0.41.0", "ember-awesome-macros": "0.41.0",
"ember-cli": "~3.10.1", "ember-cli": "~3.18.0",
"ember-cli-app-version": "^3.2.0", "ember-cli-app-version": "^3.2.0",
"ember-cli-babel": "^7.7.3", "ember-cli-babel": "^7.19.0",
"ember-cli-chart": "^3.4.0", "ember-cli-chart": "^3.6.0",
"ember-cli-dependency-checker": "^3.1.0", "ember-cli-dependency-checker": "^3.2.0",
"ember-cli-eslint": "^5.1.0", "ember-cli-htmlbars": "^4.3.1",
"ember-cli-htmlbars": "^3.0.1", "ember-cli-inject-live-reload": "^2.0.2",
"ember-cli-htmlbars-inline-precompile": "^2.1.0",
"ember-cli-inject-live-reload": "^1.8.2",
"ember-cli-moment-shim": "^3.7.1", "ember-cli-moment-shim": "^3.7.1",
"ember-cli-sass": "^7.2.0", "ember-cli-sass": "^10.0.1",
"ember-cli-sri": "^2.1.1", "ember-cli-sri": "^2.1.1",
"ember-cli-template-lint": "^1.0.0-beta.1", "ember-cli-uglify": "^3.0.0",
"ember-cli-uglify": "^2.1.0", "ember-export-application-global": "^2.0.1",
"ember-export-application-global": "^2.0.0", "ember-fetch": "^8.0.1",
"ember-flatpickr": "^2.14.0", "ember-flatpickr": "^2.16.2",
"ember-load-initializers": "^2.0.0", "ember-load-initializers": "^2.1.1",
"ember-macro-helpers": "0.17.0", "ember-macro-helpers": "0.17.0",
"ember-maybe-import-regenerator": "^0.1.6", "ember-maybe-import-regenerator": "^0.1.6",
"ember-moment": "^7.8.1", "ember-moment": "^7.8.1",
"ember-promise-helpers": "1.0.6", "ember-promise-helpers": "^1.0.9",
"ember-qunit": "^4.4.1", "ember-qunit": "^4.6.0",
"ember-resolver": "^5.0.1", "ember-resolver": "^8.0.0",
"ember-source": "~3.10.0", "ember-source": "~3.18.0",
"ember-template-lint": "^2.6.0",
"ember-truth-helpers": "github:jmurphyau/ember-truth-helpers#31a14373a31f1f82c77537720549b47a95c28e5f", "ember-truth-helpers": "github:jmurphyau/ember-truth-helpers#31a14373a31f1f82c77537720549b47a95c28e5f",
"eslint-plugin-ember": "^6.2.0", "eslint": "^7.0.0",
"eslint-plugin-node": "^9.0.1", "eslint-plugin-ember": "^8.4.0",
"ethers": "^4.0.27", "eslint-plugin-node": "^11.1.0",
"kosmos-schemas": "^2.0.0", "ethers": "^4.0.47",
"kosmos-schemas": "^2.1.0",
"kredits-contracts": "^5.5.0", "kredits-contracts": "^5.5.0",
"loader.js": "^4.7.0", "loader.js": "^4.7.0",
"ndjson": "github:hugomrdias/ndjson#feat/readable-stream3", "ndjson": "github:hugomrdias/ndjson#feat/readable-stream3",
"qunit-dom": "^0.8.4", "npm-run-all": "^4.1.5",
"qunit-dom": "^1.2.0",
"sass": "^1.26.5",
"transform-loader": "^0.2.4", "transform-loader": "^0.2.4",
"tv4": "^1.3.0", "tv4": "^1.3.0",
"web3-utils": "^1.0.0" "web3-utils": "^1.2.7"
}, },
"engines": { "engines": {
"node": "8.* || >= 10.*" "node": "10.* || >= 12"
},
"ember": {
"edition": "octane"
} }
} }
+3 -1
View File
@@ -1,3 +1,5 @@
'use strict';
module.exports = { module.exports = {
test_page: 'tests/index.html?hidepassed', test_page: 'tests/index.html?hidepassed',
disable_watching: true, disable_watching: true,
@@ -7,13 +9,13 @@ module.exports = {
launch_in_dev: [ launch_in_dev: [
'Chrome' 'Chrome'
], ],
browser_start_timeout: 120,
browser_args: { browser_args: {
Chrome: { Chrome: {
ci: [ ci: [
// --no-sandbox is needed when running Chrome inside a container // --no-sandbox is needed when running Chrome inside a container
process.env.CI ? '--no-sandbox' : null, process.env.CI ? '--no-sandbox' : null,
'--headless', '--headless',
'--disable-gpu',
'--disable-dev-shm-usage', '--disable-dev-shm-usage',
'--disable-software-rasterizer', '--disable-software-rasterizer',
'--mute-audio', '--mute-audio',
@@ -29,7 +29,7 @@ module('Integration | Component | topbar-account-panel', function(hooks) {
}); });
await render(hbs`<TopbarAccountPanel />`); await render(hbs`<TopbarAccountPanel />`);
assert.equal(this.element.textContent.trim(), 'Dorian Nakamoto'); assert.dom(this.element).hasText('Dorian Nakamoto');
service.set('currentUser.isCore', true); service.set('currentUser.isCore', true);
await render(hbs`<TopbarAccountPanel />`); await render(hbs`<TopbarAccountPanel />`);