Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions .ember-cli
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
{
/**
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.
Setting `isTypeScriptProject` to true will force the blueprint generators to generate TypeScript
rather than JavaScript by default, when a TypeScript version of a given blueprint is available.
*/
"disableAnalytics": false
"isTypeScriptProject": false
}
10 changes: 1 addition & 9 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,22 +1,14 @@
# unconventional js
/blueprints/*/files/
/vendor/

# compiled output
/declarations/
/dist/
/tmp/

# dependencies
/bower_components/
/node_modules/

# misc
/coverage/
!.*
.*/
.eslintcache

# ember-try
/.node_modules.ember-try/
/bower.json.ember-try
/package.json.ember-try
22 changes: 10 additions & 12 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,15 @@

module.exports = {
root: true,
parser: 'babel-eslint',
parser: '@babel/eslint-parser',
parserOptions: {
ecmaVersion: 2018,
ecmaVersion: 'latest',
sourceType: 'module',
ecmaFeatures: {
legacyDecorators: true,
requireConfigFile: false,
babelOptions: {
plugins: [
['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true }],
],
},
},
plugins: ['ember'],
Expand All @@ -30,6 +33,7 @@ module.exports = {
files: [
'./.eslintrc.js',
'./.prettierrc.js',
'./.stylelintrc.js',
'./.template-lintrc.js',
'./ember-cli-build.js',
'./testem.js',
Expand All @@ -45,16 +49,10 @@ module.exports = {
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',
},
extends: ['plugin:n/recommended'],
},
{
// Test files:
// test files
files: ['tests/**/*-test.{js,ts}'],
extends: ['plugin:qunit/recommended'],
rules: {
Expand Down
16 changes: 11 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ on:
push:
branches:
- main
pull_request:
pull_request: {}

concurrency:
group: ci-${{ github.head_ref || github.ref }}
Expand All @@ -23,12 +23,15 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- name: Install Node
- uses: actions/setup-node@v4
with:
cache: 'pnpm'
node-version: ${{ env.NODE_VERSION }}
- run: pnpm i --frozen-lockfile
- run: pnpm run lint
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Lint
run: pnpm lint

test-app:
name: Test app
Expand All @@ -37,12 +40,15 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- name: Install Node
- uses: actions/setup-node@v4
with:
cache: 'pnpm'
node-version: ${{ env.NODE_VERSION }}
- run: pnpm i --frozen-lockfile
- run: pnpm percy exec -- npm run test
- name: Install Dependencies
run: pnpm install --frozen-lockfile
- name: Run Tests
- run: pnpm percy exec -- pnpm run test
env:
PERCY_PARALLEL_NONCE: ${{ env.PERCY_PARALLEL_NONCE }}
PERCY_PARALLEL_TOTAL: ${{ env.PERCY_PARALLEL_TOTAL }}
Expand Down
15 changes: 7 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
# See https://help.github.com/ignore-files/ for more about ignoring files.

# compiled output
/dist/
/tmp/
/declarations/

# dependencies
/bower_components/
/node_modules/

# misc
/.env*
/.pnp*
/.sass-cache
/.eslintcache
/connect.lock
/coverage/
/libpeerconnection.log
/npm-debug.log*
/testem.log
/yarn-error.log
Expand All @@ -25,9 +19,14 @@ jsconfig.json

# 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

/.lighthouseci/

/.idea/

# broccoli-debug
/DEBUG/
10 changes: 1 addition & 9 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,21 +1,13 @@
# 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
9 changes: 8 additions & 1 deletion .prettierrc.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
'use strict';

module.exports = {
singleQuote: true,
overrides: [
{
files: '*.{js,ts}',
options: {
singleQuote: true,
},
},
],
};
8 changes: 8 additions & 0 deletions .stylelintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# unconventional files
/blueprints/*/files/

# compiled output
/dist/

# addons
/.node_modules.ember-try/
6 changes: 0 additions & 6 deletions .stylelintrc

This file was deleted.

9 changes: 9 additions & 0 deletions .stylelintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
'use strict';

module.exports = {
extends: ['stylelint-config-standard', 'stylelint-prettier/recommended'],
rules: {
// We use BEM naming conventions which aren't compatible with the kebap-case convention that stylelint-config-standard expects
'selector-class-pattern': null,
},
};
2 changes: 1 addition & 1 deletion .watchmanconfig
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"ignore_dirs": ["tmp", "dist"]
"ignore_dirs": ["dist"]
}
42 changes: 22 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,52 +10,54 @@ Components come from [ember-styleguide](https://github.com/ember-learn/ember-sty

You will need the following things properly installed on your computer.

* [Git](https://git-scm.com/)
* [Node.js](https://nodejs.org/)
* [Ember CLI](https://ember-cli.com/)
* [Google Chrome](https://google.com/chrome/)
- [Git](https://git-scm.com/)
- [Node.js](https://nodejs.org/)
- [pnpm](https://pnpm.io/)
- [Ember CLI](https://cli.emberjs.com/release/)
- [Google Chrome](https://google.com/chrome/)

## Installation

* `git clone <repository-url>` this repository
* `cd ember-website`
* `pnpm install`
- `git clone <repository-url>` this repository
- `cd ember-website`
- `pnpm install`

## Running / Development

* `pnpm start`
* Visit your app at [http://localhost:4200](http://localhost:4200).
* Visit your tests at [http://localhost:4200/tests](http://localhost:4200/tests).
- `pnpm start`
- 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

* `pnpm test`
* `pnpm test --server`
- `pnpm test`
- `pnpm test:ember --server`

### Linting

* `pnpm run lint`
* `pnpm run lint:fix`
- `pnpm lint`
- `pnpm lint:fix`

### Building

* `pnpm run build` (production)
- `pnpm ember build` (development)
- `pnpm build` (production)

### Deploying

The app is continuously deployed to Netlify when a pull request is merged and passes continuous integration.

## 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/)
- [ember.js](https://emberjs.com/)
- [ember-cli](https://cli.emberjs.com/release/)
- 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/)

## Sponsors

Expand Down
4 changes: 1 addition & 3 deletions app/components/cta-emberconf.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,7 @@
target="_blank"
>
<img
alt=""
role="presentation"
src="/images/brand/virtual-emberconf-2022-logo.svg"
alt="" src="/images/brand/virtual-emberconf-2022-logo.svg"
>
</a>
</div>
Expand Down
2 changes: 1 addition & 1 deletion app/components/ember-community-survey/introduction.hbs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<div class="bg-dark bg-shape-boxes">
<div class="container">
<h1>
<h1 {{! template-lint-disable no-empty-headings }}>
<img
alt={{@surveyLogoAlt}}
class="survey-logo"
Expand Down
1 change: 0 additions & 1 deletion app/components/index/ember-addons.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
class="addon-tabs--header"
role="tablist"
>
{{!-- template-lint-disable "no-down-event-binding" --}}
{{#each this.emberAddons as |emberAddon index|}}
<Index::EmberAddons::Tab
@currentTabId={{this.currentTabId}}
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/community/meetups/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export default class CommunityMeetupsIndexController extends Controller {
};

get meetupsByArea() {
const meetups = (this.model ?? []).toArray();
const meetups = (this.model ?? []).slice();
const groupMeetupsByArea = new Map();

meetups.forEach((meetup) => {
Expand Down
1 change: 0 additions & 1 deletion app/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="Ember.js helps developers be more productive out of the box. Designed with developer ergonomics in mind, its friendly APIs help you get your job done—fast.">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta property="og:description" content="Ember.js helps developers be more productive out of the box. Designed with developer ergonomics in mind, its friendly APIs help you get your job done—fast." />
Expand Down
4 changes: 2 additions & 2 deletions app/models/initiative-sponsor.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ export default class SponsorModel extends Model {
@attr image;
@attr name;
@attr url;
@attr('number') tier;
@attr('number') order;
@attr tier;
@attr order;
}
10 changes: 5 additions & 5 deletions app/models/meetup.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import Model, { attr } from '@ember-data/model';

export default class MeetupModel extends Model {
@attr('string') area;
@attr('number') lat;
@attr('number') lng;
@attr('string') location;
@attr area;
@attr lat;
@attr lng;
@attr location;
@attr organizers;
@attr('string') url;
@attr url;
}
Loading
Loading