Skip to content
Merged
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
2 changes: 1 addition & 1 deletion .ember-cli
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
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.
*/
"isTypeScriptProject": false,
"isTypeScriptProject": true,

/**
Setting `componentAuthoringFormat` to "strict" will force the blueprint generators to generate GJS
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Roughly every 4 minor versions, and every final minor version before the next ma

Once a new LTS has been announced, please update the [LTS Channel page](https://emberjs.com/releases/lts/) by following these steps:

- Update `app/utils/releases/lts.js` to show currently supported LTS versions.
- Update `app/utils/releases/lts.ts` to show currently supported LTS versions.
- Update `data/project/ember/lts.md` to show the most recent LTS version.

You can find out _when_ a release was promoted to LTS from the [changelog for Ember.js](https://github.com/emberjs/ember.js/blob/master/CHANGELOG.md). The LTS promotion date is the release date of the next minor version. For example, Ember 3.16 was promoted to LTS on [March 4, 2020](https://github.com/emberjs/ember.js/blob/master/CHANGELOG.md#v3170-march-4-2020) because that's the release date of v3.17.0.
Expand Down
10 changes: 6 additions & 4 deletions app/adapters/application.js → app/adapters/application.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
import JSONAPIAdapter from '@ember-data/adapter/json-api';

export default class ApplicationAdapter extends JSONAPIAdapter {
shouldBackgroundReloadAll() {
shouldBackgroundReloadAll(): boolean {
return false;
}

shouldBackgroundReloadRecord() {
shouldBackgroundReloadRecord(): boolean {
return false;
}

urlForFindAll(modelName) {
urlForFindAll(modelName: string): string {
const path = this.pathForType(modelName);

return `/data/${path}/all.json`;
}

urlForFindRecord(id, modelName) {
urlForFindRecord(id: string, modelName: string): string {
const path = this.pathForType(modelName);

return `/data/${path}/${id}.json`;
}
}
File renamed without changes.
33 changes: 33 additions & 0 deletions app/config/environment.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { assert } from '@ember/debug';
import loadConfigFromMeta from '@embroider/config-meta-loader';

const config = loadConfigFromMeta('ember-website') as unknown;

assert(
'config is not an object',
typeof config === 'object' && config !== null,
);
assert(
'modulePrefix was not detected on your config',
'modulePrefix' in config && typeof config.modulePrefix === 'string',
);
assert(
'locationType was not detected on your config',
'locationType' in config && typeof config.locationType === 'string',
);
assert(
'rootURL was not detected on your config',
'rootURL' in config && typeof config.rootURL === 'string',
);
assert(
'APP was not detected on your config',
'APP' in config && typeof config.APP === 'object',
);

export default config as {
APP: Record<string, unknown>;
locationType: string;
modulePrefix: string;
podModulePrefix?: string;
rootURL: string;
} & Record<string, unknown>;
6 changes: 0 additions & 6 deletions app/helpers/add-weeks.js

This file was deleted.

18 changes: 18 additions & 0 deletions app/helpers/add-weeks.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { helper } from '@ember/component/helper';
import dayjs from 'dayjs';
import type { Dayjs } from 'dayjs';

interface AddWeeksSignature {
Args: {
Named: {};
Positional: [initialDate: string | Date | Dayjs, numWeeks?: number];
};
Return: Dayjs;
}

export default helper<AddWeeksSignature>(function addWeeks([
initialDate,
numWeeks = 0,
]) {
return dayjs(initialDate).add(numWeeks, 'week');
});
10 changes: 0 additions & 10 deletions app/helpers/format-date-time.js

This file was deleted.

22 changes: 22 additions & 0 deletions app/helpers/format-date-time.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import { helper } from '@ember/component/helper';
import dayjs from 'dayjs';
import type { Dayjs } from 'dayjs';

interface FormatDateTimeSignature {
Args: {
Named: {};
Positional: [date?: string | Date | Dayjs, format?: string];
};
Return: string;
}

export default helper<FormatDateTimeSignature>(function formatDateTime([
date,
format = 'MMM D',
]) {
if (!date) {
return 'Unknown date';
}

return dayjs(date).format(format);
});
5 changes: 0 additions & 5 deletions app/helpers/printf.js

This file was deleted.

16 changes: 16 additions & 0 deletions app/helpers/printf.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { helper } from '@ember/component/helper';

interface PrintFSignature {
Args: {
Named: {};
Positional: [value?: string, replacement?: string];
};
Return: string;
}

export default helper<PrintFSignature>(function printf([
value = '',
replacement = '',
]) {
return value.replace(/%s/g, replacement);
});
10 changes: 0 additions & 10 deletions app/helpers/qp.js

This file was deleted.

21 changes: 21 additions & 0 deletions app/helpers/qp.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import Helper from '@ember/component/helper';
import { type Registry as Services, service } from '@ember/service';

interface QpSignature {
Args: {
Named: {};
Positional: [key: string];
};
Return: string | undefined;
}

export default class QpHelper extends Helper<QpSignature> {
@service declare router: Services['router'];

compute([key]: QpSignature['Args']['Positional']): QpSignature['Return'] {
const queryParams = this.router.currentRoute?.queryParams as
Record<string, string> | undefined;

return queryParams?.[key];
}
}
10 changes: 0 additions & 10 deletions app/models/initiative-sponsor.js

This file was deleted.

13 changes: 13 additions & 0 deletions app/models/initiative-sponsor.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import Model, { attr } from '@ember-data/model';
import type { Type } from '@warp-drive/core-types/symbols';

export default class InitiativeSponsorModel extends Model {
declare [Type]: 'initiative-sponsor';

@attr declare content: string;
@attr declare image: string;
@attr declare name: string;
@attr declare url: string;
@attr('number') declare tier: number;
@attr('number') declare order: number;
}
10 changes: 0 additions & 10 deletions app/models/meetup.js

This file was deleted.

16 changes: 16 additions & 0 deletions app/models/meetup.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import Model, { attr } from '@ember-data/model';
import type { Type } from '@warp-drive/core-types/symbols';

export default class MeetupModel extends Model {
declare [Type]: 'meetup';

@attr declare area: string;
@attr('number') declare lat: number;
@attr('number') declare lng: number;
@attr declare location: string;
@attr declare organizers: {
organizer: string;
profileImage?: string;
}[];
@attr declare url: string;
}
23 changes: 0 additions & 23 deletions app/models/project.js

This file was deleted.

26 changes: 26 additions & 0 deletions app/models/project.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import Model, { attr } from '@ember-data/model';
import type { Type } from '@warp-drive/core-types/symbols';

export default class ProjectModel extends Model {
declare [Type]: 'project';

@attr declare baseFileName: string;
@attr declare changelogPath: string;
@attr declare channel: string;
@attr declare content: string;
@attr('date') declare date: Date;
@attr declare debugFileName: string;
@attr declare filter: string;
@attr declare ignoreFiles: string[];
@attr declare lastRelease: string;
@attr declare name: string;
@attr declare repo: string;

get lastReleaseChangelogUrl(): string {
if (this.channel === 'canary' || !this.changelogPath) {
return '';
}

return `https://github.com/${this.repo}/blob/v${this.lastRelease}/${this.changelogPath}`;
}
}
10 changes: 0 additions & 10 deletions app/models/showcase.js

This file was deleted.

15 changes: 15 additions & 0 deletions app/models/showcase.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import Model, { attr } from '@ember-data/model';
import type { Type } from '@warp-drive/core-types/symbols';

export default class ShowcaseModel extends Model {
declare [Type]: 'showcase';

@attr declare demo: string;
@attr declare features: string;
@attr declare html: string;
@attr declare image: {
src: string;
};
@attr declare name: string;
@attr declare repository: string;
}
30 changes: 0 additions & 30 deletions app/models/sponsor.js

This file was deleted.

33 changes: 33 additions & 0 deletions app/models/sponsor.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import Model, { attr } from '@ember-data/model';
import type { Type } from '@warp-drive/core-types/symbols';

export default class SponsorModel extends Model {
declare [Type]: 'sponsor';

@attr declare content: string;
@attr('date') declare end: Date;
@attr declare image: string;
@attr declare name: string;
@attr('date') declare start: Date;
@attr declare url: string;
@attr('number') declare order: number;

get term(): string {
const startYear = this.start.getFullYear();
let endYear;

if (this.end) {
endYear = this.end.getFullYear();
}

if (startYear === endYear) {
return `${startYear}`;
}

if (!endYear) {
endYear = 'present';
}

return `${startYear} - ${endYear}`;
}
}
Loading
Loading