diff --git a/.ember-cli b/.ember-cli index ee64cfe..acc2a0e 100644 --- a/.ember-cli +++ b/.ember-cli @@ -1,9 +1,19 @@ { /** - 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 `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, - Setting `disableAnalytics` to true will prevent any data from being sent. + /** + Setting `componentAuthoringFormat` to "strict" will force the blueprint generators to generate GJS + or GTS files for the component and the component rendering test. "loose" is the default. + */ + "componentAuthoringFormat": "strict", + + /** + Setting `routeAuthoringFormat` to "strict" will force the blueprint generators to generate GJS + or GTS templates for routes. "loose" is the default */ - "disableAnalytics": false + "routeAuthoringFormat": "strict" } diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 7cca084..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,59 +0,0 @@ -'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', - 'plugin:prettier/recommended', - ], - env: { - browser: true, - }, - rules: {}, - overrides: [ - // node files - { - files: [ - './.eslintrc.js', - './.prettierrc.js', - './.template-lintrc.js', - './ember-cli-build.js', - './testem.js', - './blueprints/*/index.js', - './config/**/*.js', - './lib/*/index.js', - './server/**/*.js', - './process-rfcs.js', - ], - parserOptions: { - sourceType: 'script', - }, - env: { - 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', - }, - }, - { - // test files - files: ['tests/**/*-test.{js,ts}'], - extends: ['plugin:qunit/recommended'], - }, - ], -}; diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5b3497b..1b1831f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,39 +8,44 @@ on: pull_request: {} concurrency: - group: ci-${{ github.head_ref || github.ref }} - cancel-in-progress: true + group: ci-${{ github.head_ref || github.ref }} + cancel-in-progress: true jobs: lint: name: "Lint" runs-on: ubuntu-latest + timeout-minutes: 10 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 - name: Install Node - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: - node-version: 16.x - cache: npm + node-version: 20 + cache: pnpm - name: Install Dependencies - run: npm ci + run: pnpm install --frozen-lockfile - name: Lint - run: npm run lint + run: pnpm lint test: name: "Test" runs-on: ubuntu-latest + timeout-minutes: 10 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 - name: Install Node - uses: actions/setup-node@v2 + uses: actions/setup-node@v4 with: - node-version: 16.x - cache: npm + node-version: 20 + cache: pnpm - name: Install Dependencies - run: npm ci - - run: npm run clone + run: pnpm install --frozen-lockfile + - name: Clone RFCs repo + run: pnpm clone - name: Run Tests - run: npm test + run: pnpm test diff --git a/.gitignore b/.gitignore index 68f06ea..a6425c6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,33 +1,32 @@ -# See https://help.github.com/ignore-files/ for more about ignoring files. - # compiled output /dist/ +/dist-*/ +/declarations/ /tmp/ # dependencies -/bower_components/ /node_modules/ # misc /.env* /.pnp* -/.sass-cache /.eslintcache -/connect.lock /coverage/ -/libpeerconnection.log /npm-debug.log* /testem.log /yarn-error.log # 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 # rfcs text +/rfcs /rfcs/ /processed-rfcs/ + +# broccoli-debug +/DEBUG/ diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..d16b414 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +use-node-version=22.17.1 diff --git a/.prettierignore b/.prettierignore index 4178fd5..1dc3e3a 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,25 +1,16 @@ # unconventional js /blueprints/*/files/ -/vendor/ # compiled output /dist/ -/tmp/ -# dependencies -/bower_components/ -/node_modules/ +# data files +/data/ # misc /coverage/ !.* -.eslintcache -.lint-todo/ - -# 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 +.*/ +/pnpm-lock.yaml +ember-cli-update.json +*.html diff --git a/.prettierrc.js b/.prettierrc.js index 534e6d3..dc136b2 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -1,5 +1,39 @@ 'use strict'; module.exports = { + plugins: ['prettier-plugin-ember-template-tag'], singleQuote: true, + overrides: [ + { + files: ['*.js', '*.ts', '*.cjs', '.mjs', '.cts', '.mts', '.cts'], + options: { + trailingComma: 'es5', + }, + }, + { + files: ['*.html'], + options: { + singleQuote: false, + }, + }, + { + files: ['*.json'], + options: { + singleQuote: false, + }, + }, + { + files: ['*.hbs'], + options: { + singleQuote: false, + }, + }, + { + files: ['*.gjs', '*.gts'], + options: { + templateSingleQuote: false, + trailingComma: 'es5', + }, + }, + ], }; diff --git a/.stylelintignore b/.stylelintignore new file mode 100644 index 0000000..fc178a0 --- /dev/null +++ b/.stylelintignore @@ -0,0 +1,5 @@ +# unconventional files +/blueprints/*/files/ + +# compiled output +/dist/ diff --git a/.stylelintrc.js b/.stylelintrc.js new file mode 100644 index 0000000..56a013c --- /dev/null +++ b/.stylelintrc.js @@ -0,0 +1,5 @@ +'use strict'; + +module.exports = { + extends: ['stylelint-config-standard'], +}; diff --git a/.watchmanconfig b/.watchmanconfig index e7834e3..f9c3d8f 100644 --- a/.watchmanconfig +++ b/.watchmanconfig @@ -1,3 +1,3 @@ { - "ignore_dirs": ["tmp", "dist"] + "ignore_dirs": ["dist"] } diff --git a/README.md b/README.md index 524aeec..ed4bc23 100644 --- a/README.md +++ b/README.md @@ -7,23 +7,23 @@ A short introduction of this app could easily go here. You will need the following things properly installed on your computer. -* [Git](https://git-scm.com/) -* [Node.js](https://nodejs.org/) (with npm) -* [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 ` this repository -* `cd rfcs-app` -* `npm install` +- `git clone ` this repository +- `cd rfcs-app` +- `pnpm install` ## Running / Development -* `npm run clone` # to get the latest version of the RFCs repository -* `ember serve` -* 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 @@ -31,18 +31,18 @@ Make use of the many generators for code, try `ember help generate` for more det ### Running Tests -* `ember test` -* `ember test --server` +- `pnpm test` +- `pnpm test:ember --server` ### Linting -* `npm run lint` -* `npm run lint:fix` +- `pnpm lint` +- `pnpm lint:fix` ### Building -* `ember build` (development) -* `ember build --environment production` (production) +- `pnpm ember build` (development) +- `pnpm build` (production) ### Deploying @@ -50,8 +50,8 @@ Specify what it takes to deploy your app. ## 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/) diff --git a/app/app-styles/app.css b/app/app-styles/app.css new file mode 100644 index 0000000..87142a7 --- /dev/null +++ b/app/app-styles/app.css @@ -0,0 +1,123 @@ +.rfc-card { + display: grid; + grid-template-columns: 100px 1fr 200px; + grid-template-rows: min-content 1fr; + grid-gap: 0; + width: 100%; + margin-bottom: var(--spacing-2); +} + +.card-number { + grid-area: 1 / 1 / 2 / 2; +} + +.card-title { + grid-area: 1 / 2 / 2 / 3; +} + +.card-summary { + grid-area: 2 / 2 / 3 / 3; +} + +.card-champion { + grid-area: 1 / 3 / 3 / 4; +} + +.card-champion li { + display: flex; + align-items: center; + gap: var(--spacing-1); + margin-top: var(--spacing-1); +} + +.card-fcp { + width: 160px; + height: 20px; + border-radius: 24px; + color: var(--color-white); + background-color: var(--color-brand-hc-dark); + display: block; + font-size: 12px; + font-weight: 700; + text-align: center; +} + +.rfc-card img { + width: 50px; + height: 50px; + border-radius: 25px; +} + +.table { + border-collapse: separate; + border-spacing: 0; + border: 2px solid var(--color-brand); + border-radius: var(--radius); +} + +.table th, +.table td { + padding: var(--spacing-1); + text-align: left; + border-left: none; + border-right: none; +} + +/* Row borders */ +.table tr + tr td { + border-top: 1px solid var(--color-card-border); +} + +/* Optional: top border for the header row */ +.table thead tr th { + background-color: var(--color-brand); + border-bottom: 1px solid var(--color-card-border); + color: var(--color-white); +} + +/* Optional: remove the last row bottom border if needed */ +.table tr:last-child td { + border-bottom: none; +} + +@media screen and (width <= 1024px) { + .rfc-card { + grid-template-columns: 75px 1fr; + grid-template-rows: min-content 1fr min-content; + grid-gap: 0; + width: 100%; + margin-bottom: var(--spacing-2); + } + + .card-number { + grid-area: 1 / 1 / 2 / 2; + } + + .card-title { + grid-area: 1 / 2 / 2 / 4; + } + + .card-summary { + grid-area: 2 / 1 / 2 / 4; + } + + .card-champion { + grid-area: 3 / 1 / 3 / 4; + padding-left: 0; + } +} + +.fcp-item { + display: block; + width: fit-content; + margin-bottom: var(--spacing-1); +} + +.fcp-item a { + margin-left: var(--spacing-1); +} + +.github-url { + position: absolute; + right: var(--spacing-5); +} diff --git a/app/app.js b/app/app.js index 2d1f555..a988d54 100644 --- a/app/app.js +++ b/app/app.js @@ -1,4 +1,5 @@ import Application from '@ember/application'; +import compatModules from '@embroider/virtual/compat-modules'; import Resolver from 'ember-resolver'; import loadInitializers from 'ember-load-initializers'; import config from 'rfcs-app/config/environment'; @@ -6,7 +7,7 @@ import config from 'rfcs-app/config/environment'; export default class App extends Application { modulePrefix = config.modulePrefix; podModulePrefix = config.podModulePrefix; - Resolver = Resolver; + Resolver = Resolver.withModules(compatModules); } -loadInitializers(App, config.modulePrefix); +loadInitializers(App, config.modulePrefix, compatModules); diff --git a/app/components/rfc-card.gjs b/app/components/rfc-card.gjs new file mode 100644 index 0000000..4343da1 --- /dev/null +++ b/app/components/rfc-card.gjs @@ -0,0 +1,45 @@ +import Component from '@glimmer/component'; +import { LinkTo } from '@ember/routing'; + +export default class RfcCard extends Component { + + + get getURL() { + return `/id/${this.args.rfc.rfcFile}`; + } +} diff --git a/app/config/environment.js b/app/config/environment.js new file mode 100644 index 0000000..9597374 --- /dev/null +++ b/app/config/environment.js @@ -0,0 +1,60 @@ +import { assert } from '@ember/debug'; +import { isTesting } from '@embroider/macros'; + +let config = { + modulePrefix: 'rfcs-app', + rootURL: '/', + locationType: isTesting() ? 'none' : 'history', + APP: isTesting() + ? { + LOG_ACTIVE_GENERATION: false, + LOG_VIEW_LOOKUPS: false, + rootElement: '#ember-testing', + autoboot: false, + } + : {}, + 'ember-showdown-shiki': { + theme: 'github-dark', + languages: [ + 'bash', + 'css', + 'http', + 'javascript', + 'json', + 'json5', + 'ruby', + 'scss', + 'yaml', + 'typescript', + 'glimmer-js', + 'glimmer-ts', + 'handlebars', + ], + }, + showdown: { + tables: true, + }, +}; + +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; diff --git a/app/helpers/format-date.js b/app/helpers/format-date.js new file mode 100644 index 0000000..4b6faa0 --- /dev/null +++ b/app/helpers/format-date.js @@ -0,0 +1,13 @@ +export default function formatDate(date /*, positionalB, named*/) { + if (!date) { + return; + } + + try { + return new Intl.DateTimeFormat().format(new Date(date), { + dateStyle: 'full', + }); + } catch (e) { + console.error(`Error while formatting date '${date}': ${e.message}`); + } +} diff --git a/app/index.html b/app/index.html deleted file mode 100644 index 5a3aafe..0000000 --- a/app/index.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - {{content-for "head"}} - - - - - {{content-for "head-footer"}} - - - {{content-for "body"}} - - - - - {{content-for "body-footer"}} - - diff --git a/app/instance-initializers/clear-double-boot.js b/app/instance-initializers/clear-double-boot.js new file mode 100644 index 0000000..0ed1775 --- /dev/null +++ b/app/instance-initializers/clear-double-boot.js @@ -0,0 +1,46 @@ +// When using `ember serve` when fastboot addon is installed the application +// output will already be rendered to the DOM when the actual JavaScript +// loads. Ember does not automatically clear its `rootElement` so this +// leads to the "double" applications being visible at once (only the +// "bottom" one is running via JS and is interactive). +// +// This removes any pre-rendered ember-view elements, so that the booting +// application will replace the pre-rendered output +export function clearHtml() { + if (!import.meta.env.SSR) { + let current = document.getElementById('fastboot-body-start'); + let endMarker = document.getElementById('fastboot-body-end'); + + if (current && endMarker) { + let shoeboxNodes = document.querySelectorAll('[type="fastboot/shoebox"]'); + let shoeboxNodesArray = []; // Note that IE11 doesn't support more concise options like Array.from, so we have to do something like this + for (let i = 0; i < shoeboxNodes.length; i++) { + shoeboxNodesArray.push(shoeboxNodes[i]); + } + let parent = current.parentElement; + let nextNode; + do { + nextNode = current.nextSibling; + parent.removeChild(current); + current = nextNode; + } while ( + nextNode && + nextNode !== endMarker && + shoeboxNodesArray.indexOf(nextNode) < 0 + ); + endMarker.parentElement.removeChild(endMarker); + } + } +} +export default { + name: 'clear-double-boot', + + initialize(instance) { + var originalDidCreateRootView = instance.didCreateRootView; + + instance.didCreateRootView = function () { + clearHtml(); + originalDidCreateRootView.apply(instance, arguments); + }; + }, +}; diff --git a/app/router.js b/app/router.js index a3e1310..10cd1c9 100644 --- a/app/router.js +++ b/app/router.js @@ -6,4 +6,20 @@ export default class Router extends EmberRouter { rootURL = config.rootURL; } -Router.map(function () {}); +Router.map(function () { + this.route('rfc', { path: 'id/:id' }); + this.route('stages', function () { + this.route('proposed'); + this.route('exploring'); + this.route('accepted'); + this.route('released'); + this.route('recommended'); + this.route('discontinued'); + this.route('closed'); + this.route('ready-for-release'); + }); + this.route('create-rfc'); + this.route('role-core-team'); + this.route('rfcs-input'); + this.route('rfcs-help'); +}); diff --git a/app/routes/application.js b/app/routes/application.js new file mode 100644 index 0000000..72f0d5e --- /dev/null +++ b/app/routes/application.js @@ -0,0 +1,3 @@ +import Route from '@ember/routing/route'; + +export default class ApplicationRoute extends Route {} diff --git a/app/routes/create-rfc.js b/app/routes/create-rfc.js new file mode 100644 index 0000000..da4bb87 --- /dev/null +++ b/app/routes/create-rfc.js @@ -0,0 +1,3 @@ +import Route from '@ember/routing/route'; + +export default class CreateRfcRoute extends Route {} diff --git a/app/routes/index.js b/app/routes/index.js new file mode 100644 index 0000000..8ace536 --- /dev/null +++ b/app/routes/index.js @@ -0,0 +1,8 @@ +import Route from '@ember/routing/route'; + +export default class IndexRoute extends Route { + async model() { + const result = (await import('rfcs-app-toc-builder:fcp.json')).default; + return result; + } +} diff --git a/app/routes/rfc.js b/app/routes/rfc.js new file mode 100644 index 0000000..ab4e687 --- /dev/null +++ b/app/routes/rfc.js @@ -0,0 +1,25 @@ +import Route from '@ember/routing/route'; + +const rfcs = import.meta.glob('rfcs/text/*.md'); + +export default class RfcsRoute extends Route { + async model(params) { + /** + * we need to normalise the ID here because Netlify by default forces all URLs to be lowercase, that means that + * there starts to be a discrepency between what vite can see on disk and the actual id that we're trying to access + */ + const rormalisedRFCId = Object.keys(rfcs).find( + (id) => id.toLowerCase() === `/rfcs/text/${params.id.toLowerCase()}.md` + ); + + const rfc = (await rfcs[rormalisedRFCId]()).default; + + const number = Number(params.id.split('-')[0]); + + return { + ...rfc, + id: params.id, + url: `https://github.com/emberjs/rfcs/pull/${number}`, + }; + } +} diff --git a/app/routes/role-core-team.js b/app/routes/role-core-team.js new file mode 100644 index 0000000..a1d10e1 --- /dev/null +++ b/app/routes/role-core-team.js @@ -0,0 +1,3 @@ +import Route from '@ember/routing/route'; + +export default class RoleCoreTeamRoute extends Route {} diff --git a/app/routes/stages.js b/app/routes/stages.js new file mode 100644 index 0000000..4c1deac --- /dev/null +++ b/app/routes/stages.js @@ -0,0 +1,3 @@ +import Route from '@ember/routing/route'; + +export default class StagesRoute extends Route {} diff --git a/app/routes/stages/accepted.js b/app/routes/stages/accepted.js new file mode 100644 index 0000000..7ec700e --- /dev/null +++ b/app/routes/stages/accepted.js @@ -0,0 +1,14 @@ +import Route from '@ember/routing/route'; + +export default class StagesAcceptedRoute extends Route { + async model() { + const result = (await import('rfcs-app-toc-builder:stage-accepted.json')) + .default; + + /** + * filter out PRs that don't have RFC files - i.e. are not RFCS + * TODO figuire out the combine logic so that we don't get the data in here at this level + */ + return result.filter((item) => Boolean(item.rfcFile)); + } +} diff --git a/app/routes/stages/closed.js b/app/routes/stages/closed.js new file mode 100644 index 0000000..a4716d5 --- /dev/null +++ b/app/routes/stages/closed.js @@ -0,0 +1,7 @@ +import Route from '@ember/routing/route'; + +export default class StagesClosedRoute extends Route { + async model() { + return (await import('rfcs-app-toc-builder:stage-closed.json')).default; + } +} diff --git a/app/routes/stages/discontinued.js b/app/routes/stages/discontinued.js new file mode 100644 index 0000000..e1e1e1c --- /dev/null +++ b/app/routes/stages/discontinued.js @@ -0,0 +1,8 @@ +import Route from '@ember/routing/route'; + +export default class StagesDiscontinuedRoute extends Route { + async model() { + return (await import('rfcs-app-toc-builder:stage-discontinued.json')) + .default; + } +} diff --git a/app/routes/stages/exploring.js b/app/routes/stages/exploring.js new file mode 100644 index 0000000..ee08cc1 --- /dev/null +++ b/app/routes/stages/exploring.js @@ -0,0 +1,7 @@ +import Route from '@ember/routing/route'; + +export default class StagesExploringRoute extends Route { + async model() { + return (await import('rfcs-app-toc-builder:stage-exploring.json')).default; + } +} diff --git a/app/routes/stages/proposed.js b/app/routes/stages/proposed.js new file mode 100644 index 0000000..55affb6 --- /dev/null +++ b/app/routes/stages/proposed.js @@ -0,0 +1,7 @@ +import Route from '@ember/routing/route'; + +export default class StagesProposedRoute extends Route { + async model() { + return (await import('rfcs-app-toc-builder:stage-proposed.json')).default; + } +} diff --git a/app/routes/stages/ready-for-release.js b/app/routes/stages/ready-for-release.js new file mode 100644 index 0000000..e4d98bd --- /dev/null +++ b/app/routes/stages/ready-for-release.js @@ -0,0 +1,10 @@ +import Route from '@ember/routing/route'; + +export default class StagesReadyForReleaseRoute extends Route { + async model() { + const result = ( + await import('rfcs-app-toc-builder:stage-ready-for-release.json') + ).default; + return result; + } +} diff --git a/app/routes/stages/recommended.js b/app/routes/stages/recommended.js new file mode 100644 index 0000000..18a23e6 --- /dev/null +++ b/app/routes/stages/recommended.js @@ -0,0 +1,8 @@ +import Route from '@ember/routing/route'; + +export default class StagesRecommendedRoute extends Route { + async model() { + return (await import('rfcs-app-toc-builder:stage-recommended.json')) + .default; + } +} diff --git a/app/routes/stages/released.js b/app/routes/stages/released.js new file mode 100644 index 0000000..469f0ca --- /dev/null +++ b/app/routes/stages/released.js @@ -0,0 +1,7 @@ +import Route from '@ember/routing/route'; + +export default class StagesReleasedRoute extends Route { + async model() { + return (await import('rfcs-app-toc-builder:stage-released.json')).default; + } +} diff --git a/app/styles/app.css b/app/styles/app.css deleted file mode 100644 index e69de29..0000000 diff --git a/app/templates/application.gjs b/app/templates/application.gjs new file mode 100644 index 0000000..6f0570b --- /dev/null +++ b/app/templates/application.gjs @@ -0,0 +1,65 @@ +import { pageTitle } from 'ember-page-title'; +import { LinkTo } from '@ember/routing'; +import EsHeader from 'ember-styleguide/components/es-header'; +import EsSidebar from 'ember-styleguide/components/es-sidebar'; + + diff --git a/app/templates/create-rfc.gjs b/app/templates/create-rfc.gjs new file mode 100644 index 0000000..426fa76 --- /dev/null +++ b/app/templates/create-rfc.gjs @@ -0,0 +1,118 @@ +import { pageTitle } from 'ember-page-title'; +import { LinkTo } from '@ember/routing'; +import EsNote from 'ember-styleguide/components/es-note'; + + diff --git a/app/templates/index.gjs b/app/templates/index.gjs new file mode 100644 index 0000000..18c8795 --- /dev/null +++ b/app/templates/index.gjs @@ -0,0 +1,43 @@ +import { LinkTo } from '@ember/routing'; +import EsNote from 'ember-styleguide/components/es-note'; + +function daysUntilFriday() { + let today = new Date().getDay(); + return (12 - today) % 7; //It's 12 because Friday is the fifth day, and we wan't to %7 so we added 7 +} + + diff --git a/app/templates/rfc.gjs b/app/templates/rfc.gjs new file mode 100644 index 0000000..dae8af4 --- /dev/null +++ b/app/templates/rfc.gjs @@ -0,0 +1,23 @@ +import { pageTitle } from 'ember-page-title'; +import MarkdownToHtml from 'ember-cli-showdown/components/markdown-to-html'; +import Component from '@glimmer/component'; +import { inject as controller } from '@ember/controller'; + +export default class RFCRouteComponent extends Component { + @controller application; + + +} diff --git a/app/templates/role-core-team.gjs b/app/templates/role-core-team.gjs new file mode 100644 index 0000000..3487f62 --- /dev/null +++ b/app/templates/role-core-team.gjs @@ -0,0 +1,94 @@ +import { pageTitle } from 'ember-page-title'; + + diff --git a/app/templates/stages/accepted.gjs b/app/templates/stages/accepted.gjs new file mode 100644 index 0000000..1663cef --- /dev/null +++ b/app/templates/stages/accepted.gjs @@ -0,0 +1,15 @@ +import { pageTitle } from 'ember-page-title'; +import RfcCard from '../../components/rfc-card'; + diff --git a/app/templates/stages/closed.gjs b/app/templates/stages/closed.gjs new file mode 100644 index 0000000..e6ef10a --- /dev/null +++ b/app/templates/stages/closed.gjs @@ -0,0 +1,16 @@ +import { pageTitle } from 'ember-page-title'; +import RfcCard from 'rfcs-app/components/rfc-card'; + + diff --git a/app/templates/stages/discontinued.gjs b/app/templates/stages/discontinued.gjs new file mode 100644 index 0000000..a7b5d76 --- /dev/null +++ b/app/templates/stages/discontinued.gjs @@ -0,0 +1,15 @@ +import { pageTitle } from 'ember-page-title'; +import RfcCard from '../../components/rfc-card'; + diff --git a/app/templates/stages/exploring.gjs b/app/templates/stages/exploring.gjs new file mode 100644 index 0000000..8468fc9 --- /dev/null +++ b/app/templates/stages/exploring.gjs @@ -0,0 +1,17 @@ +import { pageTitle } from 'ember-page-title'; +import RfcCard from 'rfcs-app/components/rfc-card'; + + diff --git a/app/templates/stages/index.gjs b/app/templates/stages/index.gjs new file mode 100644 index 0000000..844214a --- /dev/null +++ b/app/templates/stages/index.gjs @@ -0,0 +1,236 @@ +import { pageTitle } from 'ember-page-title'; + + diff --git a/app/templates/stages/proposed.gjs b/app/templates/stages/proposed.gjs new file mode 100644 index 0000000..0aa7d74 --- /dev/null +++ b/app/templates/stages/proposed.gjs @@ -0,0 +1,17 @@ +import { pageTitle } from 'ember-page-title'; +import RfcCard from 'rfcs-app/components/rfc-card'; + + diff --git a/app/templates/stages/ready-for-release.gjs b/app/templates/stages/ready-for-release.gjs new file mode 100644 index 0000000..ed95e8f --- /dev/null +++ b/app/templates/stages/ready-for-release.gjs @@ -0,0 +1,17 @@ +import { pageTitle } from 'ember-page-title'; +import RfcCard from 'rfcs-app/components/rfc-card'; + + diff --git a/app/templates/stages/recommended.gjs b/app/templates/stages/recommended.gjs new file mode 100644 index 0000000..8b519db --- /dev/null +++ b/app/templates/stages/recommended.gjs @@ -0,0 +1,15 @@ +import { pageTitle } from 'ember-page-title'; +import RfcCard from '../../components/rfc-card'; + diff --git a/app/templates/stages/released.gjs b/app/templates/stages/released.gjs new file mode 100644 index 0000000..fc9ce5d --- /dev/null +++ b/app/templates/stages/released.gjs @@ -0,0 +1,15 @@ +import { pageTitle } from 'ember-page-title'; +import RfcCard from '../../components/rfc-card'; + diff --git a/babel.config.cjs b/babel.config.cjs new file mode 100644 index 0000000..419088a --- /dev/null +++ b/babel.config.cjs @@ -0,0 +1,42 @@ +const { + babelCompatSupport, + templateCompatSupport, +} = require('@embroider/compat/babel'); + +module.exports = { + plugins: [ + [ + 'babel-plugin-ember-template-compilation', + { + compilerPath: 'ember-source/dist/ember-template-compiler.js', + enableLegacyModules: [ + 'ember-cli-htmlbars', + 'ember-cli-htmlbars-inline-precompile', + 'htmlbars-inline-precompile', + ], + transforms: [...templateCompatSupport()], + }, + ], + [ + 'module:decorator-transforms', + { + runtime: { + import: require.resolve('decorator-transforms/runtime-esm'), + }, + }, + ], + [ + '@babel/plugin-transform-runtime', + { + absoluteRuntime: __dirname, + useESModules: true, + regenerator: false, + }, + ], + ...babelCompatSupport(), + ], + + generatorOpts: { + compact: false, + }, +}; diff --git a/combineData.mjs b/combineData.mjs new file mode 100755 index 0000000..ef70427 --- /dev/null +++ b/combineData.mjs @@ -0,0 +1,136 @@ +#!/usr/bin/env node + +import { readdir, readFile, writeFile } from 'fs/promises'; +import { join } from 'path'; + +const rfcsFiles = await readdir('./data/raw'); + +rfcsFiles.sort((a, b) => parseInt(a) - parseInt(b)); + +let rfcMap = {}; + +function getDays(date1, date2) { + if (date1) { + return Math.ceil( + (new Date(date1) - new Date(date2)) / (1000 * 60 * 60 * 24), + ); + } else { + return Math.ceil((new Date() - new Date(date2)) / (1000 * 60 * 60 * 24)); + } +} + +function findFirstStage(rfc) { + if (rfc.merged) { + return 'accepted'; + } else if (!rfc.closed) { + if ( + rfc.timelineItems.filter((item) => item.label == 'S-Exploring').length == + 1 + ) { + return 'exploring'; + } else { + return 'proposed'; + } + } else { + return 'closed'; + } +} + +function isFCP(rfc) { + if (rfc.merged) { + return false; + } else { + return ( + rfc.timelineItems.filter((item) => item.label == 'Final Comment Period') + .length % + 2 == + 1 + ); + } +} + +function getFirstStagesDuration(rfc) { + if (!rfc.closed || rfc.merged) { + let exploringLabels = rfc.timelineItems.filter( + (item) => item.label == 'S-Exploring', + ); + if (exploringLabels.length > 0) { + if (rfc.merged) { + return { + proposed: getDays(exploringLabels[0].createdAt, rfc.createdAt), + exploring: getDays(rfc.mergedAt, exploringLabels[0].createdAt), + accepted: null, + release: null, + released: null, + }; + } else { + return { + proposed: getDays(exploringLabels[0].createdAt, rfc.createdAt), + exploring: getDays(new Date(), exploringLabels[0].createdAt), + accepted: null, + release: null, + released: null, + }; + } + } else { + return { + proposed: getDays(new Date(), rfc.createdAt), + exploring: null, + accepted: null, + release: null, + released: null, + }; + } + } else { + return { + closed: getDays(rfc.closedAt, rfc.createdAt), + }; + } +} + +for (let file of rfcsFiles) { + const rfc = JSON.parse(await readFile(join('data/raw', file), 'utf8')); + if (rfc.title.includes('Advance RFC')) { + let advanceRFC = rfc.title.match(/[0-9]+/); + let num = parseInt(advanceRFC, 10); + let stage = rfc.title.split(' ').pop().toLowerCase(); + rfcMap[num].stageDuration[`${rfcMap[num].currentStage}`] = getDays( + rfc.mergedAt, + rfc.createdAt, + ); + if (rfc.merged) { + rfcMap[num].currentStage = stage; + } + + for (let assignee of rfc.assignees) { + /** + * only add the assignee if it doesn't already exist + * TODO we should probably update the assignees to be only the latest advance PR + * because maybe the assignees might change between the proposed stage and the release stage? + */ + if (!rfcMap[num].assignees.some((a) => a.login === assignee.login)) { + rfcMap[num].assignees.push(assignee); + } + } + + rfcMap[num].fcp = isFCP(rfc); + rfcMap[num].connected.push(rfc); + } else if (rfc.timelineItems.length) { + rfcMap[rfc.number] = { + ...rfc, + currentStage: findFirstStage(rfc), + labels: rfc.timelineItems.filter((item) => item.label == 'S-Exploring'), + fcp: isFCP(rfc), + stageDuration: getFirstStagesDuration(rfc), + connected: [], + assignees: rfc.assignees, + }; + } +} + +for (let rfc in rfcMap) { + await writeFile( + join('data', `${rfc}.json`), + JSON.stringify(rfcMap[rfc], null, 2), + ); +} diff --git a/config/ember-cli-update.json b/config/ember-cli-update.json index f9a3f45..672ce81 100644 --- a/config/ember-cli-update.json +++ b/config/ember-cli-update.json @@ -2,15 +2,14 @@ "schemaVersion": "1.0.0", "packages": [ { - "name": "ember-cli", - "version": "3.28.5", + "name": "@ember/app-blueprint", + "version": "0.6.0", "blueprints": [ { - "name": "app", - "outputRepo": "https://github.com/ember-cli/ember-new-output", - "codemodsSource": "ember-app-codemods-manifest@1", + "name": "@ember/app-blueprint", "isBaseBlueprint": true, "options": [ + "--pnpm", "--ci-provider=github" ] } diff --git a/config/environment.js b/config/environment.js deleted file mode 100644 index 5c5e6dc..0000000 --- a/config/environment.js +++ /dev/null @@ -1,62 +0,0 @@ -'use strict'; - -module.exports = function (environment) { - let ENV = { - modulePrefix: 'rfcs-app', - environment, - rootURL: '/', - locationType: 'auto', - - EmberENV: { - FEATURES: { - // Here you can enable experimental features on an ember canary build - // e.g. EMBER_NATIVE_DECORATOR_SUPPORT: true - }, - EXTEND_PROTOTYPES: { - // Prevent Ember Data from overriding Date.parse. - Date: false, - }, - }, - - APP: { - // Here you can pass flags/options to your application instance - // when it is created - }, - - showdown: { - ghCompatibleHeaderId: true, - }, - - rfcs: { - title: 'Ember.js RFCs', - description: - '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.', - }, - }; - - if (environment === 'development') { - // ENV.APP.LOG_RESOLVER = true; - // ENV.APP.LOG_ACTIVE_GENERATION = true; - // ENV.APP.LOG_TRANSITIONS = true; - // ENV.APP.LOG_TRANSITIONS_INTERNAL = true; - // ENV.APP.LOG_VIEW_LOOKUPS = true; - } - - if (environment === 'test') { - // Testem prefers this... - ENV.locationType = 'none'; - - // keep test console output quieter - ENV.APP.LOG_ACTIVE_GENERATION = false; - ENV.APP.LOG_VIEW_LOOKUPS = false; - - ENV.APP.rootElement = '#ember-testing'; - ENV.APP.autoboot = false; - } - - if (environment === 'production') { - // here you can enable a production-specific feature - } - - return ENV; -}; diff --git a/config/fastboot.js b/config/fastboot.js deleted file mode 100644 index a537769..0000000 --- a/config/fastboot.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = function () { - return { - buildSandboxGlobals(defaultGlobals) { - return Object.assign({}, defaultGlobals, { - atob: atob, - }); - }, - }; -}; diff --git a/config/optional-features.json b/config/optional-features.json index b26286e..5329dd9 100644 --- a/config/optional-features.json +++ b/config/optional-features.json @@ -2,5 +2,6 @@ "application-template-wrapper": false, "default-async-observers": true, "jquery-integration": false, - "template-only-glimmer-components": true + "template-only-glimmer-components": true, + "no-implicit-route-model": true } diff --git a/config/targets.js b/config/targets.js index e5e92fa..1e48e05 100644 --- a/config/targets.js +++ b/config/targets.js @@ -8,5 +8,4 @@ const browsers = [ module.exports = { browsers, - node: 'current', }; diff --git a/data/1.json b/data/1.json new file mode 100644 index 0000000..dd260e0 --- /dev/null +++ b/data/1.json @@ -0,0 +1,40 @@ +{ + "number": 1, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1", + "title": "RFC: Pass through attribute meta data to related Transform", + "createdAt": "2014-08-14T18:00:42Z", + "closed": true, + "closedAt": "2016-01-27T18:18:58Z", + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2014-08-22T18:30:31Z", + "label": "ember-data" + }, + { + "event": "labeled", + "createdAt": "2015-03-27T18:42:17Z", + "label": "Needs Response" + }, + { + "event": "labeled", + "createdAt": "2016-01-06T18:23:03Z", + "label": "Needs Implementer" + }, + { + "event": "unlabeled", + "createdAt": "2016-01-06T18:23:03Z", + "label": "Needs Response" + } + ], + "currentStage": "closed", + "labels": [], + "fcp": false, + "stageDuration": { + "closed": 532 + }, + "connected": [] +} \ No newline at end of file diff --git a/data/10.json b/data/10.json new file mode 100644 index 0000000..e7a286a --- /dev/null +++ b/data/10.json @@ -0,0 +1,34 @@ +{ + "number": 10, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/10", + "title": "RFC: Engines", + "createdAt": "2014-10-25T00:32:05Z", + "closed": true, + "closedAt": "2016-04-11T14:40:10Z", + "merged": true, + "mergedAt": "2016-04-11T14:40:10Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2015-03-27T18:40:21Z", + "label": "Needs Champion" + }, + { + "event": "labeled", + "createdAt": "2015-03-27T18:40:21Z", + "label": "Needs Implementer" + } + ], + "currentStage": "accepted", + "labels": [], + "fcp": false, + "stageDuration": { + "proposed": 3981, + "exploring": null, + "accepted": null, + "release": null, + "released": null + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1000.json b/data/1000.json new file mode 100644 index 0000000..93cb095 --- /dev/null +++ b/data/1000.json @@ -0,0 +1,74 @@ +{ + "number": 1000, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1000", + "title": "Make array built-in in strict-mode", + "createdAt": "2023-12-22T19:04:19Z", + "closed": true, + "closedAt": "2024-06-12T14:36:10Z", + "merged": true, + "mergedAt": "2024-06-12T14:36:10Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2023-12-22T19:04:34Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-01-19T19:59:09Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2024-02-09T20:03:47Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-05-17T18:41:01Z", + "label": "Final Comment Period" + } + ], + "currentStage": "accepted", + "labels": [ + { + "event": "labeled", + "createdAt": "2024-01-19T19:59:09Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 29, + "exploring": 145, + "accepted": 462, + "release": null, + "released": null + }, + "connected": [ + { + "number": 1034, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1034", + "title": "Advance RFC #1000 `\"Make (array) a built in helper\"` to Stage Ready for Release", + "createdAt": "2024-06-12T14:37:25Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-06-12T14:37:27Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2024-06-12T14:37:27Z", + "label": "S-Ready for Release" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1001.json b/data/1001.json new file mode 100644 index 0000000..b5996ed --- /dev/null +++ b/data/1001.json @@ -0,0 +1,140 @@ +{ + "number": 1001, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1001", + "title": "Deprecate named `inject` export from `@ember/service`", + "createdAt": "2023-12-26T18:17:20Z", + "closed": true, + "closedAt": "2024-03-08T20:06:28Z", + "merged": true, + "mergedAt": "2024-03-08T20:06:28Z", + "assignees": [ + { + "login": "NullVoxPopuli", + "avatarUrl": "https://avatars.githubusercontent.com/u/199018?v=4" + } + ], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2023-12-26T18:17:35Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-01-19T19:59:37Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2024-02-09T20:03:48Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-03-01T20:01:17Z", + "label": "Final Comment Period" + } + ], + "currentStage": "recommended", + "labels": [ + { + "event": "labeled", + "createdAt": "2024-01-19T19:59:37Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 25, + "exploring": 50, + "accepted": 287, + "release": 91, + "released": 14 + }, + "connected": [ + { + "number": 1013, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1013", + "title": "Advance RFC #1001 `\"Deprecate named inject export from @ember/service\"` to Stage Ready for Release", + "createdAt": "2024-03-08T20:07:06Z", + "closed": true, + "closedAt": "2024-12-20T19:10:47Z", + "merged": true, + "mergedAt": "2024-12-20T19:10:47Z", + "assignees": [ + { + "login": "NullVoxPopuli", + "avatarUrl": "https://avatars.githubusercontent.com/u/199018?v=4" + } + ], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-03-08T20:07:07Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2024-03-08T20:07:07Z", + "label": "S-Ready for Release" + }, + { + "event": "labeled", + "createdAt": "2024-12-13T20:12:00Z", + "label": "Final Comment Period" + } + ] + }, + { + "number": 1061, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1061", + "title": "Advance RFC #1001 `\"Deprecate named inject export from @ember/service\"` to Stage Released", + "createdAt": "2024-12-20T19:11:32Z", + "closed": true, + "closedAt": "2025-03-21T18:23:05Z", + "merged": true, + "mergedAt": "2025-03-21T18:23:05Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-12-20T19:11:32Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2024-12-20T19:11:32Z", + "label": "S-Released" + } + ] + }, + { + "number": 1089, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1089", + "title": "Advance RFC #1001 `\"Deprecate named inject export from @ember/service\"` to Stage Recommended", + "createdAt": "2025-03-21T18:23:54Z", + "closed": true, + "closedAt": "2025-04-04T18:17:44Z", + "merged": true, + "mergedAt": "2025-04-04T18:17:44Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-03-21T18:23:55Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-03-21T18:23:55Z", + "label": "S-Recommended" + }, + { + "event": "labeled", + "createdAt": "2025-03-28T18:16:27Z", + "label": "Final Comment Period" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1003.json b/data/1003.json new file mode 100644 index 0000000..f4a06bc --- /dev/null +++ b/data/1003.json @@ -0,0 +1,135 @@ +{ + "number": 1003, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1003", + "title": "Deprecate `import Ember from 'ember'`", + "createdAt": "2024-01-22T19:56:02Z", + "closed": true, + "closedAt": "2024-03-22T18:12:08Z", + "merged": true, + "mergedAt": "2024-03-22T18:12:08Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-01-22T19:56:18Z", + "label": "S-Proposed" + }, + { + "event": "unlabeled", + "createdAt": "2024-02-16T19:55:05Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-02-16T19:55:05Z", + "label": "S-Exploring" + }, + { + "event": "labeled", + "createdAt": "2024-03-08T19:54:36Z", + "label": "Final Comment Period" + } + ], + "currentStage": "released", + "labels": [ + { + "event": "labeled", + "createdAt": "2024-02-16T19:55:05Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 25, + "exploring": 35, + "accepted": 330, + "release": 91, + "released": 96 + }, + "connected": [ + { + "number": 1015, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1015", + "title": "Advance RFC #1003 `\"Deprecate `import Ember from 'ember';\"` to Stage Ready for Release", + "createdAt": "2024-03-22T18:12:58Z", + "closed": true, + "closedAt": "2025-02-14T19:27:48Z", + "merged": true, + "mergedAt": "2025-02-14T19:27:48Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-03-22T18:12:58Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2024-03-22T18:12:58Z", + "label": "S-Ready for Release" + }, + { + "event": "labeled", + "createdAt": "2024-05-17T18:20:00Z", + "label": "Final Comment Period" + }, + { + "event": "unlabeled", + "createdAt": "2024-06-04T18:16:09Z", + "label": "Final Comment Period" + }, + { + "event": "labeled", + "createdAt": "2025-02-07T19:40:40Z", + "label": "Final Comment Period" + } + ] + }, + { + "number": 1084, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1084", + "title": "Advance RFC #1003 `\"Deprecate `import Ember from 'ember';\"` to Stage Released", + "createdAt": "2025-03-14T18:53:05Z", + "closed": true, + "closedAt": "2025-06-13T18:19:03Z", + "merged": true, + "mergedAt": "2025-06-13T18:19:03Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-03-14T18:53:06Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-03-14T18:53:06Z", + "label": "S-Released" + } + ] + }, + { + "number": 1110, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1110", + "title": "Advance RFC #1003 `\"Deprecate `import Ember from 'ember';\"` to Stage Recommended", + "createdAt": "2025-06-13T18:19:57Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-06-13T18:19:58Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-06-13T18:19:58Z", + "label": "S-Recommended" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1006.json b/data/1006.json new file mode 100644 index 0000000..2ae1e65 --- /dev/null +++ b/data/1006.json @@ -0,0 +1,130 @@ +{ + "number": 1006, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1006", + "title": "Deprecate the (action) template helper and modifier", + "createdAt": "2024-02-13T20:42:58Z", + "closed": true, + "closedAt": "2024-03-08T20:03:07Z", + "merged": true, + "mergedAt": "2024-03-08T20:03:07Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-02-13T20:43:16Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-02-23T19:46:57Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2024-02-23T19:47:32Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-02-23T19:51:22Z", + "label": "Final Comment Period" + } + ], + "currentStage": "recommended", + "labels": [ + { + "event": "labeled", + "createdAt": "2024-02-23T19:46:57Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 10, + "exploring": 15, + "accepted": 49, + "release": 50, + "released": 77 + }, + "connected": [ + { + "number": 1011, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1011", + "title": "Advance RFC #1006 `\"Deprecate (action) template helper and {{action}} modifier.\"` to Stage Ready for Release", + "createdAt": "2024-03-08T20:03:52Z", + "closed": true, + "closedAt": "2024-04-26T18:18:43Z", + "merged": true, + "mergedAt": "2024-04-26T18:18:43Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-03-08T20:03:53Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2024-03-08T20:03:53Z", + "label": "S-Ready for Release" + }, + { + "event": "labeled", + "createdAt": "2024-04-17T14:29:51Z", + "label": "Final Comment Period" + } + ] + }, + { + "number": 1022, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1022", + "title": "Advance RFC #1006 `\"Deprecate (action) template helper and {{action}} modifier.\"` to Stage Released", + "createdAt": "2024-04-26T18:19:36Z", + "closed": true, + "closedAt": "2024-06-14T18:31:45Z", + "merged": true, + "mergedAt": "2024-06-14T18:31:45Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-04-26T18:19:37Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2024-04-26T18:19:37Z", + "label": "S-Released" + } + ] + }, + { + "number": 1036, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1036", + "title": "Advance RFC #1006 `\"Deprecate (action) template helper and {{action}} modifier.\"` to Stage Recommended", + "createdAt": "2024-06-14T18:32:27Z", + "closed": true, + "closedAt": "2024-08-30T18:12:39Z", + "merged": true, + "mergedAt": "2024-08-30T18:12:38Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-06-14T18:32:27Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2024-06-14T18:32:27Z", + "label": "S-Recommended" + }, + { + "event": "labeled", + "createdAt": "2024-08-23T18:16:32Z", + "label": "Final Comment Period" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1007.json b/data/1007.json new file mode 100644 index 0000000..d775af9 --- /dev/null +++ b/data/1007.json @@ -0,0 +1,25 @@ +{ + "number": 1007, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1007", + "title": "maybe, maybe not better on syntax - this RFC accidentally found some decision trees around when to use {{on}} vs on*", + "createdAt": "2024-02-16T23:19:00Z", + "closed": true, + "closedAt": "2024-02-23T19:09:35Z", + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-02-16T23:19:17Z", + "label": "S-Proposed" + } + ], + "currentStage": "closed", + "labels": [], + "fcp": false, + "stageDuration": { + "closed": 7 + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1009.json b/data/1009.json new file mode 100644 index 0000000..41fde3a --- /dev/null +++ b/data/1009.json @@ -0,0 +1,125 @@ +{ + "number": 1009, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1009", + "title": "Make deprecation workflow built in", + "createdAt": "2024-02-22T17:46:40Z", + "closed": true, + "closedAt": "2024-10-18T18:04:40Z", + "merged": true, + "mergedAt": "2024-10-18T18:04:40Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-02-22T17:46:57Z", + "label": "S-Proposed" + }, + { + "event": "unlabeled", + "createdAt": "2024-03-01T19:12:04Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-03-01T19:12:04Z", + "label": "S-Exploring" + }, + { + "event": "labeled", + "createdAt": "2024-09-27T18:37:29Z", + "label": "Final Comment Period" + } + ], + "currentStage": "released", + "labels": [ + { + "event": "labeled", + "createdAt": "2024-03-01T19:12:04Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 9, + "exploring": 231, + "accepted": 120, + "release": 14, + "released": 173 + }, + "connected": [ + { + "number": 1048, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1048", + "title": "Advance RFC #1009 `\"Move the deprecation workflow library to be installed in apps by default\"` to Stage Ready for Release", + "createdAt": "2024-10-18T18:05:34Z", + "closed": true, + "closedAt": "2025-02-14T19:25:41Z", + "merged": true, + "mergedAt": "2025-02-14T19:25:41Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-10-18T18:05:35Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2024-10-18T18:05:35Z", + "label": "S-Ready for Release" + }, + { + "event": "labeled", + "createdAt": "2025-02-07T19:29:28Z", + "label": "Final Comment Period" + } + ] + }, + { + "number": 1086, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1086", + "title": "Advance RFC #1009 `\"Move the deprecation workflow library to be installed in apps by default\"` to Stage Released", + "createdAt": "2025-03-14T18:54:21Z", + "closed": true, + "closedAt": "2025-03-28T18:24:29Z", + "merged": true, + "mergedAt": "2025-03-28T18:24:29Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-03-14T18:54:22Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-03-14T18:54:22Z", + "label": "S-Released" + } + ] + }, + { + "number": 1093, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1093", + "title": "Advance RFC #1009 `\"Move the deprecation workflow library to be installed in apps by default\"` to Stage Recommended", + "createdAt": "2025-03-28T18:25:16Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-03-28T18:25:17Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-03-28T18:25:17Z", + "label": "S-Recommended" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/101.json b/data/101.json new file mode 100644 index 0000000..aba0ff1 --- /dev/null +++ b/data/101.json @@ -0,0 +1,25 @@ +{ + "number": 101, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/101", + "title": "Friendly Errors", + "createdAt": "2015-10-23T14:58:37Z", + "closed": true, + "closedAt": "2016-01-06T00:45:21Z", + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2015-10-23T20:17:45Z", + "label": "T-ember-data" + } + ], + "currentStage": "closed", + "labels": [], + "fcp": false, + "stageDuration": { + "closed": 75 + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1014.json b/data/1014.json new file mode 100644 index 0000000..95b228e --- /dev/null +++ b/data/1014.json @@ -0,0 +1,41 @@ +{ + "number": 1014, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1014", + "title": "Introduce \"Ember Language Tooling Roadmap\" RFC", + "createdAt": "2024-03-17T01:26:28Z", + "closed": true, + "closedAt": "2024-12-13T19:36:06Z", + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-03-17T01:26:43Z", + "label": "S-Proposed" + }, + { + "event": "unlabeled", + "createdAt": "2024-03-22T18:20:02Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-03-22T18:20:02Z", + "label": "S-Exploring" + } + ], + "currentStage": "closed", + "labels": [ + { + "event": "labeled", + "createdAt": "2024-03-22T18:20:02Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "closed": 272 + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1016.json b/data/1016.json new file mode 100644 index 0000000..405a4d8 --- /dev/null +++ b/data/1016.json @@ -0,0 +1,25 @@ +{ + "number": 1016, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1016", + "title": "Remove support for this.attrs", + "createdAt": "2024-03-27T21:32:56Z", + "closed": true, + "closedAt": "2024-03-29T22:55:13Z", + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-03-27T21:33:10Z", + "label": "S-Proposed" + } + ], + "currentStage": "closed", + "labels": [], + "fcp": false, + "stageDuration": { + "closed": 3 + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1017.json b/data/1017.json new file mode 100644 index 0000000..f3db849 --- /dev/null +++ b/data/1017.json @@ -0,0 +1,25 @@ +{ + "number": 1017, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1017", + "title": "Propose Themes for ember-qunit", + "createdAt": "2024-03-28T14:54:59Z", + "closed": true, + "closedAt": "2024-04-10T14:51:26Z", + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-03-28T14:55:21Z", + "label": "S-Proposed" + } + ], + "currentStage": "closed", + "labels": [], + "fcp": false, + "stageDuration": { + "closed": 13 + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1026.json b/data/1026.json new file mode 100644 index 0000000..55ca963 --- /dev/null +++ b/data/1026.json @@ -0,0 +1,145 @@ +{ + "number": 1026, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1026", + "title": "EmberData | deprecate Store extends EmberObject", + "createdAt": "2024-05-11T08:21:17Z", + "closed": true, + "closedAt": "2024-06-14T18:30:51Z", + "merged": true, + "mergedAt": "2024-06-14T18:30:51Z", + "assignees": [ + { + "login": "runspired", + "avatarUrl": "https://avatars.githubusercontent.com/u/650309?v=4" + } + ], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-05-11T08:21:36Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-05-11T08:22:44Z", + "label": "T-ember-data" + }, + { + "event": "labeled", + "createdAt": "2024-05-11T08:22:44Z", + "label": "T-deprecation" + }, + { + "event": "unlabeled", + "createdAt": "2024-05-17T17:38:02Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-05-17T17:38:02Z", + "label": "S-Exploring" + }, + { + "event": "labeled", + "createdAt": "2024-05-17T17:38:20Z", + "label": "Final Comment Period" + } + ], + "currentStage": "recommended", + "labels": [ + { + "event": "labeled", + "createdAt": "2024-05-17T17:38:02Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 7, + "exploring": 29, + "accepted": 112, + "release": 36, + "released": 196 + }, + "connected": [ + { + "number": 1035, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1035", + "title": "Advance RFC #1026 `\"EmberData | Deprecate Store extending EmberObject\"` to Stage Ready for Release", + "createdAt": "2024-06-14T18:31:34Z", + "closed": true, + "closedAt": "2024-10-04T18:23:02Z", + "merged": true, + "mergedAt": "2024-10-04T18:23:02Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-06-14T18:31:35Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2024-06-14T18:31:35Z", + "label": "S-Ready for Release" + }, + { + "event": "labeled", + "createdAt": "2024-09-27T18:33:00Z", + "label": "Final Comment Period" + } + ] + }, + { + "number": 1047, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1047", + "title": "Advance RFC #1026 `\"EmberData | Deprecate Store extending EmberObject\"` to Stage Released", + "createdAt": "2024-10-04T18:23:50Z", + "closed": true, + "closedAt": "2024-11-08T19:09:12Z", + "merged": true, + "mergedAt": "2024-11-08T19:09:12Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-10-04T18:23:50Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2024-10-04T18:23:50Z", + "label": "S-Released" + } + ] + }, + { + "number": 1051, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1051", + "title": "Advance RFC #1026 `\"EmberData | Deprecate Store extending EmberObject\"` to Stage Recommended", + "createdAt": "2024-11-08T19:09:59Z", + "closed": true, + "closedAt": "2025-05-23T18:48:18Z", + "merged": true, + "mergedAt": "2025-05-23T18:48:17Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-11-08T19:10:00Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2024-11-08T19:10:00Z", + "label": "S-Recommended" + }, + { + "event": "labeled", + "createdAt": "2025-05-16T18:18:24Z", + "label": "Final Comment Period" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1027.json b/data/1027.json new file mode 100644 index 0000000..9372d64 --- /dev/null +++ b/data/1027.json @@ -0,0 +1,165 @@ +{ + "number": 1027, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1027", + "title": "EmberData | SchemaService", + "createdAt": "2024-05-11T10:05:52Z", + "closed": true, + "closedAt": "2024-06-07T17:09:39Z", + "merged": true, + "mergedAt": "2024-06-07T17:09:39Z", + "assignees": [ + { + "login": "runspired", + "avatarUrl": "https://avatars.githubusercontent.com/u/650309?v=4" + } + ], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-05-11T10:05:52Z", + "label": "T-ember-data" + }, + { + "event": "labeled", + "createdAt": "2024-05-11T10:05:52Z", + "label": "T-deprecation" + }, + { + "event": "labeled", + "createdAt": "2024-05-11T10:06:08Z", + "label": "S-Proposed" + }, + { + "event": "unlabeled", + "createdAt": "2024-05-17T17:39:19Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-05-17T17:39:19Z", + "label": "S-Exploring" + }, + { + "event": "labeled", + "createdAt": "2024-05-23T23:55:24Z", + "label": "Final Comment Period" + } + ], + "currentStage": "released", + "labels": [ + { + "event": "labeled", + "createdAt": "2024-05-17T17:39:19Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 7, + "exploring": 21, + "accepted": 351, + "release": 21, + "released": 96 + }, + "connected": [ + { + "number": 1030, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1030", + "title": "Advance RFC #1027 `\"EmberData | SchemaService\"` to Stage Ready for Release", + "createdAt": "2024-06-07T17:10:19Z", + "closed": true, + "closedAt": "2025-05-23T18:38:10Z", + "merged": true, + "mergedAt": "2025-05-23T18:38:10Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-06-07T17:10:20Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2024-06-07T17:10:20Z", + "label": "S-Ready for Release" + }, + { + "event": "labeled", + "createdAt": "2025-03-21T18:33:01Z", + "label": "T-ember-data" + }, + { + "event": "labeled", + "createdAt": "2025-05-16T18:30:10Z", + "label": "Final Comment Period" + } + ] + }, + { + "number": 1106, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1106", + "title": "Advance RFC #1027 `\"EmberData | SchemaService\"` to Stage Released", + "createdAt": "2025-05-23T18:38:54Z", + "closed": true, + "closedAt": "2025-06-13T18:17:50Z", + "merged": true, + "mergedAt": "2025-06-13T18:17:50Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-05-23T18:38:55Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-05-23T18:38:55Z", + "label": "S-Released" + }, + { + "event": "labeled", + "createdAt": "2025-05-23T18:38:56Z", + "label": "RFC Advancement" + } + ] + }, + { + "number": 1109, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1109", + "title": "Advance RFC #1027 `\"EmberData | SchemaService\"` to Stage Recommended", + "createdAt": "2025-06-13T18:18:36Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [ + { + "login": "runspired", + "avatarUrl": "https://avatars.githubusercontent.com/u/650309?v=4" + } + ], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-06-13T18:18:37Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-06-13T18:18:37Z", + "label": "S-Recommended" + }, + { + "event": "labeled", + "createdAt": "2025-06-13T18:18:38Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-07-02T15:52:45Z", + "label": "T-ember-data" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1029.json b/data/1029.json new file mode 100644 index 0000000..d251bf8 --- /dev/null +++ b/data/1029.json @@ -0,0 +1,170 @@ +{ + "number": 1029, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1029", + "title": "Deprecate app-prefix et al", + "createdAt": "2024-05-20T13:00:41Z", + "closed": true, + "closedAt": "2024-08-30T18:08:00Z", + "merged": true, + "mergedAt": "2024-08-30T18:08:00Z", + "assignees": [ + { + "login": "bertdeblock", + "avatarUrl": "https://avatars.githubusercontent.com/u/7403183?v=4" + } + ], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-05-20T13:00:56Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-06-28T18:54:21Z", + "label": "S-Exploring" + }, + { + "event": "labeled", + "createdAt": "2024-06-28T18:54:21Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2024-08-09T18:21:31Z", + "label": "S-Exploring" + }, + { + "event": "labeled", + "createdAt": "2024-08-23T18:46:24Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2024-08-23T18:46:43Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-08-23T18:47:24Z", + "label": "Final Comment Period" + } + ], + "currentStage": "recommended", + "labels": [ + { + "event": "labeled", + "createdAt": "2024-06-28T18:54:21Z", + "label": "S-Exploring" + }, + { + "event": "labeled", + "createdAt": "2024-06-28T18:54:21Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2024-08-09T18:21:31Z", + "label": "S-Exploring" + }, + { + "event": "labeled", + "createdAt": "2024-08-23T18:46:24Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 40, + "exploring": 63, + "accepted": 148, + "release": 63, + "released": 29 + }, + "connected": [ + { + "number": 1044, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1044", + "title": "Advance RFC #1029 `\"Deprecate app-prefix, app-suffix, tests-prefix, and tests-suffix\"` to Stage Ready for Release", + "createdAt": "2024-08-30T18:08:47Z", + "closed": true, + "closedAt": "2025-01-24T19:11:28Z", + "merged": true, + "mergedAt": "2025-01-24T19:11:28Z", + "assignees": [ + { + "login": "bertdeblock", + "avatarUrl": "https://avatars.githubusercontent.com/u/7403183?v=4" + } + ], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-08-30T18:08:47Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2024-08-30T18:08:48Z", + "label": "S-Ready for Release" + }, + { + "event": "labeled", + "createdAt": "2025-01-17T19:22:34Z", + "label": "Final Comment Period" + } + ] + }, + { + "number": 1072, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1072", + "title": "Advance RFC #1029 `\"Deprecate app-prefix, app-suffix, tests-prefix, and tests-suffix\"` to Stage Released", + "createdAt": "2025-01-24T19:12:14Z", + "closed": true, + "closedAt": "2025-03-28T18:25:23Z", + "merged": true, + "mergedAt": "2025-03-28T18:25:23Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-01-24T19:12:15Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-01-24T19:12:15Z", + "label": "S-Released" + } + ] + }, + { + "number": 1094, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1094", + "title": "Advance RFC #1029 `\"Deprecate app-prefix, app-suffix, tests-prefix, and tests-suffix\"` to Stage Recommended", + "createdAt": "2025-03-28T18:26:15Z", + "closed": true, + "closedAt": "2025-04-25T18:48:16Z", + "merged": true, + "mergedAt": "2025-04-25T18:48:16Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-03-28T18:26:16Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-03-28T18:26:16Z", + "label": "S-Recommended" + }, + { + "event": "labeled", + "createdAt": "2025-04-04T18:23:42Z", + "label": "Final Comment Period" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1037.json b/data/1037.json new file mode 100644 index 0000000..387a79b --- /dev/null +++ b/data/1037.json @@ -0,0 +1,61 @@ +{ + "number": 1037, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1037", + "title": "Make scoped CSS the default in 'template-tags'", + "createdAt": "2024-07-09T10:08:53Z", + "closed": true, + "closedAt": "2025-05-10T19:22:12Z", + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-07-09T10:09:11Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-07-12T18:58:32Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2024-08-09T18:21:21Z", + "label": "S-Exploring" + }, + { + "event": "labeled", + "createdAt": "2024-08-23T18:43:51Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2024-08-23T18:43:56Z", + "label": "S-Proposed" + } + ], + "currentStage": "closed", + "labels": [ + { + "event": "labeled", + "createdAt": "2024-07-12T18:58:32Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2024-08-09T18:21:21Z", + "label": "S-Exploring" + }, + { + "event": "labeled", + "createdAt": "2024-08-23T18:43:51Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "closed": 306 + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1038.json b/data/1038.json new file mode 100644 index 0000000..568a69e --- /dev/null +++ b/data/1038.json @@ -0,0 +1,25 @@ +{ + "number": 1038, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1038", + "title": "Deprecate Windows support", + "createdAt": "2024-07-09T21:59:49Z", + "closed": true, + "closedAt": "2024-07-10T17:54:09Z", + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-07-09T22:00:08Z", + "label": "S-Proposed" + } + ], + "currentStage": "closed", + "labels": [], + "fcp": false, + "stageDuration": { + "closed": 1 + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1041.json b/data/1041.json new file mode 100644 index 0000000..2cade67 --- /dev/null +++ b/data/1041.json @@ -0,0 +1,74 @@ +{ + "number": 1041, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1041", + "title": "Deprecate target action support.", + "createdAt": "2024-08-07T18:50:49Z", + "closed": true, + "closedAt": "2025-07-25T18:16:38Z", + "merged": true, + "mergedAt": "2025-07-25T18:16:38Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-08-07T18:51:06Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-08-09T18:21:05Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2024-08-09T18:21:11Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-07-18T19:02:06Z", + "label": "Final Comment Period" + } + ], + "currentStage": "accepted", + "labels": [ + { + "event": "labeled", + "createdAt": "2024-08-09T18:21:05Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 2, + "exploring": 350, + "accepted": 54, + "release": null, + "released": null + }, + "connected": [ + { + "number": 1126, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1126", + "title": "Advance RFC #1041 `\"Deprecate TargetActionSupport\"` to Stage Ready for Release", + "createdAt": "2025-07-25T18:17:28Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-07-25T18:17:29Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-07-25T18:17:29Z", + "label": "S-Ready for Release" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1045.json b/data/1045.json new file mode 100644 index 0000000..77ca87d --- /dev/null +++ b/data/1045.json @@ -0,0 +1,50 @@ +{ + "number": 1045, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1045", + "title": "Recommend regular methods instead of the `@action` decorator", + "createdAt": "2024-09-23T15:51:45Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-09-23T15:52:04Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-11-08T19:29:15Z", + "label": "S-Exploring" + }, + { + "event": "labeled", + "createdAt": "2024-11-08T19:30:33Z", + "label": "Final Comment Period" + }, + { + "event": "unlabeled", + "createdAt": "2024-12-06T19:07:18Z", + "label": "Final Comment Period" + } + ], + "currentStage": "exploring", + "labels": [ + { + "event": "labeled", + "createdAt": "2024-11-08T19:29:15Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 47, + "exploring": 313, + "accepted": null, + "release": null, + "released": null + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1046.json b/data/1046.json new file mode 100644 index 0000000..3666954 --- /dev/null +++ b/data/1046.json @@ -0,0 +1,125 @@ +{ + "number": 1046, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1046", + "title": "Template Tag In Routes", + "createdAt": "2024-10-04T16:51:20Z", + "closed": true, + "closedAt": "2024-11-22T19:53:25Z", + "merged": true, + "mergedAt": "2024-11-22T19:53:24Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-10-04T16:51:35Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-10-04T18:05:40Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2024-10-18T18:33:18Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-11-08T19:21:35Z", + "label": "Final Comment Period" + } + ], + "currentStage": "released", + "labels": [ + { + "event": "labeled", + "createdAt": "2024-10-04T18:05:40Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 1, + "exploring": 50, + "accepted": 56, + "release": 63, + "released": 180 + }, + "connected": [ + { + "number": 1053, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1053", + "title": "Advance RFC #1046 `\"Allow Use of Template Tag in Routes\"` to Stage Ready for Release", + "createdAt": "2024-11-22T19:55:05Z", + "closed": true, + "closedAt": "2025-01-17T19:06:44Z", + "merged": true, + "mergedAt": "2025-01-17T19:06:44Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-11-22T19:55:06Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2024-11-22T19:55:06Z", + "label": "S-Ready for Release" + }, + { + "event": "labeled", + "createdAt": "2025-01-10T20:04:47Z", + "label": "Final Comment Period" + } + ] + }, + { + "number": 1069, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1069", + "title": "Advance RFC #1046 `\"Use Template Tag in Routes\"` to Stage Released", + "createdAt": "2025-01-17T19:07:32Z", + "closed": true, + "closedAt": "2025-03-21T18:24:03Z", + "merged": true, + "mergedAt": "2025-03-21T18:24:03Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-01-17T19:07:34Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-01-17T19:07:34Z", + "label": "S-Released" + } + ] + }, + { + "number": 1090, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1090", + "title": "Advance RFC #1046 `\"Use Template Tag in Routes\"` to Stage Recommended", + "createdAt": "2025-03-21T18:24:52Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-03-21T18:24:53Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-03-21T18:24:53Z", + "label": "S-Recommended" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1054.json b/data/1054.json new file mode 100644 index 0000000..055ef5a --- /dev/null +++ b/data/1054.json @@ -0,0 +1,41 @@ +{ + "number": 1054, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1054", + "title": "External default blueprints in ember-cli", + "createdAt": "2024-12-01T04:17:06Z", + "closed": true, + "closedAt": "2024-12-16T16:58:11Z", + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-12-01T04:17:23Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-12-06T19:40:54Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2024-12-06T19:41:00Z", + "label": "S-Proposed" + } + ], + "currentStage": "closed", + "labels": [ + { + "event": "labeled", + "createdAt": "2024-12-06T19:40:54Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "closed": 16 + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1055.json b/data/1055.json new file mode 100644 index 0000000..ca3184f --- /dev/null +++ b/data/1055.json @@ -0,0 +1,145 @@ +{ + "number": 1055, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1055", + "title": "Vanilla Prettier Setup in Blueprints", + "createdAt": "2024-12-03T15:56:57Z", + "closed": true, + "closedAt": "2024-12-20T19:12:57Z", + "merged": true, + "mergedAt": "2024-12-20T19:12:57Z", + "assignees": [ + { + "login": "bertdeblock", + "avatarUrl": "https://avatars.githubusercontent.com/u/7403183?v=4" + } + ], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-12-03T15:56:57Z", + "label": "T-ember-cli" + }, + { + "event": "labeled", + "createdAt": "2024-12-03T15:57:15Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-12-06T19:30:41Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2024-12-06T19:41:14Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2024-12-13T19:26:54Z", + "label": "Final Comment Period" + } + ], + "currentStage": "recommended", + "labels": [ + { + "event": "labeled", + "createdAt": "2024-12-06T19:30:41Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 4, + "exploring": 14, + "accepted": 35, + "release": 70, + "released": 49 + }, + "connected": [ + { + "number": 1063, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1063", + "title": "Advance RFC #1055 `\"Vanilla Prettier Setup in Blueprints\"` to Stage Ready for Release", + "createdAt": "2024-12-20T19:13:40Z", + "closed": true, + "closedAt": "2025-01-24T19:12:35Z", + "merged": true, + "mergedAt": "2025-01-24T19:12:35Z", + "assignees": [ + { + "login": "bertdeblock", + "avatarUrl": "https://avatars.githubusercontent.com/u/7403183?v=4" + } + ], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-12-20T19:13:41Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2024-12-20T19:13:41Z", + "label": "S-Ready for Release" + }, + { + "event": "labeled", + "createdAt": "2025-01-17T19:19:57Z", + "label": "Final Comment Period" + } + ] + }, + { + "number": 1073, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1073", + "title": "Advance RFC #1055 `\"Vanilla Prettier Setup in Blueprints\"` to Stage Released", + "createdAt": "2025-01-24T19:13:22Z", + "closed": true, + "closedAt": "2025-04-04T18:43:34Z", + "merged": true, + "mergedAt": "2025-04-04T18:43:34Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-01-24T19:13:23Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-01-24T19:13:23Z", + "label": "S-Released" + } + ] + }, + { + "number": 1097, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1097", + "title": "Advance RFC #1055 `\"Vanilla Prettier Setup in Blueprints\"` to Stage Recommended", + "createdAt": "2025-04-04T18:44:15Z", + "closed": true, + "closedAt": "2025-05-23T18:34:19Z", + "merged": true, + "mergedAt": "2025-05-23T18:34:19Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-04-04T18:44:15Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-04-04T18:44:15Z", + "label": "S-Recommended" + }, + { + "event": "labeled", + "createdAt": "2025-05-16T18:09:25Z", + "label": "Final Comment Period" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1060.json b/data/1060.json new file mode 100644 index 0000000..5f2d8a6 --- /dev/null +++ b/data/1060.json @@ -0,0 +1,34 @@ +{ + "number": 1060, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1060", + "title": "Built in tracking utilities for promises", + "createdAt": "2024-12-20T04:00:50Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2024-12-20T04:01:05Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-03-21T18:33:02Z", + "label": "T-ember-data" + } + ], + "currentStage": "proposed", + "labels": [], + "fcp": false, + "stageDuration": { + "proposed": 272, + "exploring": null, + "accepted": null, + "release": null, + "released": null + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1065.json b/data/1065.json new file mode 100644 index 0000000..0597f6f --- /dev/null +++ b/data/1065.json @@ -0,0 +1,147 @@ +{ + "number": 1065, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1065", + "title": "Deprecate ember-fetch", + "createdAt": "2025-01-11T01:39:34Z", + "closed": true, + "closedAt": "2025-02-28T20:00:28Z", + "merged": true, + "mergedAt": "2025-02-28T20:00:28Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-01-11T01:39:50Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-01-17T20:01:07Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2025-01-24T19:28:17Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-02-21T19:19:20Z", + "label": "Final Comment Period" + } + ], + "currentStage": "released", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-01-17T20:01:07Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 7, + "exploring": 42, + "accepted": 70, + "release": 49, + "released": 68 + }, + "connected": [ + { + "number": 1081, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1081", + "title": "Advance RFC #1065 `\"Deprecate and Remove ember-fetch\"` to Stage Ready for Release", + "createdAt": "2025-03-14T18:46:08Z", + "closed": true, + "closedAt": "2025-05-23T18:27:36Z", + "merged": true, + "mergedAt": "2025-05-23T18:27:36Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-03-14T18:46:09Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-03-14T18:46:09Z", + "label": "S-Ready for Release" + }, + { + "event": "labeled", + "createdAt": "2025-05-16T18:36:51Z", + "label": "Final Comment Period" + } + ] + }, + { + "number": 1104, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1104", + "title": "Advance RFC #1065 `\"Deprecate and Remove ember-fetch\"` to Stage Released", + "createdAt": "2025-05-23T18:28:19Z", + "closed": true, + "closedAt": "2025-07-11T18:16:35Z", + "merged": true, + "mergedAt": "2025-07-11T18:16:35Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-05-23T18:28:19Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-05-23T18:28:20Z", + "label": "S-Released" + }, + { + "event": "labeled", + "createdAt": "2025-05-23T18:28:20Z", + "label": "RFC Advancement" + } + ] + }, + { + "number": 1123, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1123", + "title": "Advance RFC #1065 `\"Deprecate and Remove ember-fetch\"` to Stage Recommended", + "createdAt": "2025-07-11T18:17:27Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-07-11T18:17:28Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-07-11T18:17:28Z", + "label": "S-Recommended" + }, + { + "event": "labeled", + "createdAt": "2025-07-11T18:17:29Z", + "label": "RFC Advancement" + } + ] + }, + { + "number": 1124, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1124", + "title": "Revert \"Advance RFC #1065 `\"Deprecate and Remove ember-fetch\"` to Stage Released\"", + "createdAt": "2025-07-11T18:18:20Z", + "closed": true, + "closedAt": "2025-07-11T18:18:41Z", + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [] + } + ] +} \ No newline at end of file diff --git a/data/1066.json b/data/1066.json new file mode 100644 index 0000000..6a781cc --- /dev/null +++ b/data/1066.json @@ -0,0 +1,29 @@ +{ + "number": 1066, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1066", + "title": "Deprecate v1 addon blueprint discovery", + "createdAt": "2025-01-11T10:00:52Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-01-11T10:01:10Z", + "label": "S-Proposed" + } + ], + "currentStage": "proposed", + "labels": [], + "fcp": false, + "stageDuration": { + "proposed": 250, + "exploring": null, + "accepted": null, + "release": null, + "released": null + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1067.json b/data/1067.json new file mode 100644 index 0000000..1043c44 --- /dev/null +++ b/data/1067.json @@ -0,0 +1,29 @@ +{ + "number": 1067, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1067", + "title": "Propose `link` from `@ember/lifetime` to remove the boilerplate of setOwner + associateDestroyableChild", + "createdAt": "2025-01-11T16:32:37Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-01-11T16:32:53Z", + "label": "S-Proposed" + } + ], + "currentStage": "proposed", + "labels": [], + "fcp": false, + "stageDuration": { + "proposed": 249, + "exploring": null, + "accepted": null, + "release": null, + "released": null + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1068.json b/data/1068.json new file mode 100644 index 0000000..ffd245a --- /dev/null +++ b/data/1068.json @@ -0,0 +1,84 @@ +{ + "number": 1068, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1068", + "title": "tracked-built-ins built-in", + "createdAt": "2025-01-12T16:59:29Z", + "closed": true, + "closedAt": "2025-03-21T18:22:03Z", + "merged": true, + "mergedAt": "2025-03-21T18:22:03Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-01-12T16:59:45Z", + "label": "S-Proposed" + }, + { + "event": "unlabeled", + "createdAt": "2025-02-21T19:44:42Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-02-21T19:44:42Z", + "label": "Final Comment Period" + }, + { + "event": "labeled", + "createdAt": "2025-02-21T19:44:42Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2025-02-28T19:53:48Z", + "label": "Final Comment Period" + }, + { + "event": "labeled", + "createdAt": "2025-03-14T18:50:43Z", + "label": "Final Comment Period" + } + ], + "currentStage": "accepted", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-02-21T19:44:42Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 41, + "exploring": 28, + "accepted": 180, + "release": null, + "released": null + }, + "connected": [ + { + "number": 1088, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1088", + "title": "Advance RFC #1068 `\"Built in tracking utilities for common collections\"` (tracked-built-ins, built-in) to Stage Ready for Release", + "createdAt": "2025-03-21T18:22:51Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-03-21T18:22:52Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-03-21T18:22:52Z", + "label": "S-Ready for Release" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1070.json b/data/1070.json new file mode 100644 index 0000000..22229bb --- /dev/null +++ b/data/1070.json @@ -0,0 +1,130 @@ +{ + "number": 1070, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1070", + "title": "Default globals for strict mode", + "createdAt": "2025-01-18T17:05:07Z", + "closed": true, + "closedAt": "2025-02-28T19:57:40Z", + "merged": true, + "mergedAt": "2025-02-28T19:57:40Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-01-18T17:05:25Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-01-24T19:31:31Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2025-01-24T19:31:36Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-02-21T19:15:30Z", + "label": "Final Comment Period" + } + ], + "currentStage": "recommended", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-01-24T19:31:31Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 7, + "exploring": 36, + "accepted": 21, + "release": 1, + "released": 49 + }, + "connected": [ + { + "number": 1083, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1083", + "title": "Advance RFC #1070 `\"Default globals for strict mode\"` to Stage Ready for Release", + "createdAt": "2025-03-14T18:51:01Z", + "closed": true, + "closedAt": "2025-04-04T18:09:22Z", + "merged": true, + "mergedAt": "2025-04-04T18:09:22Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-03-14T18:51:02Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-03-14T18:51:02Z", + "label": "S-Ready for Release" + }, + { + "event": "labeled", + "createdAt": "2025-03-28T18:41:03Z", + "label": "Final Comment Period" + } + ] + }, + { + "number": 1095, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1095", + "title": "Advance RFC #1070 `\"Default globals for strict mode\"` to Stage Released", + "createdAt": "2025-04-04T18:10:12Z", + "closed": true, + "closedAt": "2025-04-04T18:41:35Z", + "merged": true, + "mergedAt": "2025-04-04T18:41:35Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-04-04T18:10:13Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-04-04T18:10:13Z", + "label": "S-Released" + } + ] + }, + { + "number": 1096, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1096", + "title": "Advance RFC #1070 `\"Default globals for strict mode\"` to Stage Recommended", + "createdAt": "2025-04-04T18:42:27Z", + "closed": true, + "closedAt": "2025-05-23T18:28:15Z", + "merged": true, + "mergedAt": "2025-05-23T18:28:15Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-04-04T18:42:28Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-04-04T18:42:28Z", + "label": "S-Recommended" + }, + { + "event": "labeled", + "createdAt": "2025-05-16T18:13:20Z", + "label": "Final Comment Period" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1071.json b/data/1071.json new file mode 100644 index 0000000..928f37a --- /dev/null +++ b/data/1071.json @@ -0,0 +1,45 @@ +{ + "number": 1071, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1071", + "title": "A new reactive primitive: `cell`", + "createdAt": "2025-01-19T17:39:32Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-01-19T17:39:45Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-02-21T20:11:33Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2025-02-21T20:11:38Z", + "label": "S-Proposed" + } + ], + "currentStage": "exploring", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-02-21T20:11:33Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 34, + "exploring": 208, + "accepted": null, + "release": null, + "released": null + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1074.json b/data/1074.json new file mode 100644 index 0000000..5b38dc8 --- /dev/null +++ b/data/1074.json @@ -0,0 +1,45 @@ +{ + "number": 1074, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1074", + "title": "Deprecate `--yarn` support for `ember new`", + "createdAt": "2025-01-30T22:20:38Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-01-30T22:20:54Z", + "label": "S-Proposed" + }, + { + "event": "unlabeled", + "createdAt": "2025-02-07T19:57:34Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-02-07T19:57:34Z", + "label": "S-Exploring" + } + ], + "currentStage": "exploring", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-02-07T19:57:34Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 8, + "exploring": 222, + "accepted": null, + "release": null, + "released": null + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1075.json b/data/1075.json new file mode 100644 index 0000000..e83b7e7 --- /dev/null +++ b/data/1075.json @@ -0,0 +1,119 @@ +{ + "number": 1075, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1075", + "title": "WarpDrive Package Unification", + "createdAt": "2025-02-13T12:02:58Z", + "closed": true, + "closedAt": "2025-02-28T19:55:42Z", + "merged": true, + "mergedAt": "2025-02-28T19:55:41Z", + "assignees": [ + { + "login": "runspired", + "avatarUrl": "https://avatars.githubusercontent.com/u/650309?v=4" + } + ], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-02-13T12:02:59Z", + "label": "T-ember-data" + }, + { + "event": "labeled", + "createdAt": "2025-02-13T12:02:59Z", + "label": "T-deprecation" + }, + { + "event": "labeled", + "createdAt": "2025-02-13T12:02:59Z", + "label": "T-framework" + }, + { + "event": "labeled", + "createdAt": "2025-02-13T12:02:59Z", + "label": "T-learning" + }, + { + "event": "labeled", + "createdAt": "2025-02-13T12:02:59Z", + "label": "T-steering" + }, + { + "event": "labeled", + "createdAt": "2025-02-13T12:02:59Z", + "label": "T-ember-cli" + }, + { + "event": "labeled", + "createdAt": "2025-02-13T12:02:59Z", + "label": "T-TypeScript" + }, + { + "event": "labeled", + "createdAt": "2025-02-13T12:03:17Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-02-21T19:38:00Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2025-02-21T19:38:04Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-02-21T19:38:10Z", + "label": "Final Comment Period" + } + ], + "currentStage": "accepted", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-02-21T19:38:00Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 9, + "exploring": 8, + "accepted": 187, + "release": null, + "released": null + }, + "connected": [ + { + "number": 1082, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1082", + "title": "Advance RFC #1075 `\"WarpDrive Package Unification\"` to Stage Ready for Release", + "createdAt": "2025-03-14T18:50:23Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-03-14T18:50:24Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-03-14T18:50:24Z", + "label": "S-Ready for Release" + }, + { + "event": "labeled", + "createdAt": "2025-03-21T18:33:03Z", + "label": "T-ember-data" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1078.json b/data/1078.json new file mode 100644 index 0000000..561c0e3 --- /dev/null +++ b/data/1078.json @@ -0,0 +1,29 @@ +{ + "number": 1078, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1078", + "title": "Fix title comment", + "createdAt": "2025-03-06T19:29:07Z", + "closed": true, + "closedAt": "2025-03-07T19:11:56Z", + "merged": true, + "mergedAt": "2025-03-07T19:11:55Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-03-06T20:26:13Z", + "label": "bug" + } + ], + "currentStage": "accepted", + "labels": [], + "fcp": false, + "stageDuration": { + "proposed": 195, + "exploring": null, + "accepted": null, + "release": null, + "released": null + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1079.json b/data/1079.json new file mode 100644 index 0000000..8841be7 --- /dev/null +++ b/data/1079.json @@ -0,0 +1,29 @@ +{ + "number": 1079, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1079", + "title": "Propose new reactivity utility: `reactive` from `@ember/reactive`", + "createdAt": "2025-03-06T21:09:08Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-03-06T21:09:20Z", + "label": "S-Proposed" + } + ], + "currentStage": "proposed", + "labels": [], + "fcp": false, + "stageDuration": { + "proposed": 195, + "exploring": null, + "accepted": null, + "release": null, + "released": null + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1098.json b/data/1098.json new file mode 100644 index 0000000..da5c28d --- /dev/null +++ b/data/1098.json @@ -0,0 +1,25 @@ +{ + "number": 1098, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1098", + "title": "Existing Glimmer Details, Goals, etc", + "createdAt": "2025-04-21T04:06:20Z", + "closed": true, + "closedAt": "2025-05-04T13:01:21Z", + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-04-21T04:06:34Z", + "label": "S-Proposed" + } + ], + "currentStage": "closed", + "labels": [], + "fcp": false, + "stageDuration": { + "closed": 14 + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1099.json b/data/1099.json new file mode 100644 index 0000000..cd8b306 --- /dev/null +++ b/data/1099.json @@ -0,0 +1,102 @@ +{ + "number": 1099, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1099", + "title": " renderComponent()", + "createdAt": "2025-05-01T22:01:17Z", + "closed": true, + "closedAt": "2025-08-08T18:14:43Z", + "merged": true, + "mergedAt": "2025-08-08T18:14:43Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-05-01T22:01:31Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-05-02T18:48:05Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2025-05-02T18:48:08Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-07-25T18:49:41Z", + "label": "Final Comment Period" + } + ], + "currentStage": "release", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-05-02T18:48:05Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 1, + "exploring": 98, + "accepted": 35, + "release": 5, + "released": null + }, + "connected": [ + { + "number": 1128, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1128", + "title": "Advance RFC #1099 `\"renderComponent\"` to Stage Ready for Release", + "createdAt": "2025-08-08T18:15:29Z", + "closed": true, + "closedAt": "2025-09-12T18:11:57Z", + "merged": true, + "mergedAt": "2025-09-12T18:11:57Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-08-08T18:15:30Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-08-08T18:15:30Z", + "label": "S-Ready for Release" + }, + { + "event": "labeled", + "createdAt": "2025-09-05T18:23:34Z", + "label": "Final Comment Period" + } + ] + }, + { + "number": 1144, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1144", + "title": "Advance RFC #1099 `\"renderComponent\"` to Stage Released", + "createdAt": "2025-09-12T18:12:42Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-09-12T18:12:42Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-09-12T18:12:43Z", + "label": "S-Released" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1101.json b/data/1101.json new file mode 100644 index 0000000..07e47ac --- /dev/null +++ b/data/1101.json @@ -0,0 +1,45 @@ +{ + "number": 1101, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1101", + "title": "Deprecate Ember Vendor Bundles", + "createdAt": "2025-05-13T18:58:19Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-05-13T18:58:34Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-05-23T18:53:57Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2025-05-23T18:53:57Z", + "label": "S-Proposed" + } + ], + "currentStage": "exploring", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-05-23T18:53:57Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 10, + "exploring": 117, + "accepted": null, + "release": null, + "released": null + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1102.json b/data/1102.json new file mode 100644 index 0000000..69bc677 --- /dev/null +++ b/data/1102.json @@ -0,0 +1,45 @@ +{ + "number": 1102, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1102", + "title": "Remove the global event dispatcher", + "createdAt": "2025-05-19T17:10:12Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-05-19T17:10:24Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-05-23T18:53:58Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2025-05-23T18:53:58Z", + "label": "S-Proposed" + } + ], + "currentStage": "exploring", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-05-23T18:53:58Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 5, + "exploring": 117, + "accepted": null, + "release": null, + "released": null + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1103.json b/data/1103.json new file mode 100644 index 0000000..7f3089b --- /dev/null +++ b/data/1103.json @@ -0,0 +1,25 @@ +{ + "number": 1103, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1103", + "title": "How autotracking works", + "createdAt": "2025-05-23T16:04:04Z", + "closed": true, + "closedAt": "2025-05-28T16:39:57Z", + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-05-23T16:04:17Z", + "label": "S-Proposed" + } + ], + "currentStage": "closed", + "labels": [], + "fcp": false, + "stageDuration": { + "closed": 6 + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1111.json b/data/1111.json new file mode 100644 index 0000000..ab9f0d6 --- /dev/null +++ b/data/1111.json @@ -0,0 +1,84 @@ +{ + "number": 1111, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1111", + "title": "Deprecate Events System", + "createdAt": "2025-06-13T19:00:25Z", + "closed": true, + "closedAt": "2025-08-22T18:13:46Z", + "merged": true, + "mergedAt": "2025-08-22T18:13:46Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-06-13T19:00:39Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-06-20T18:45:55Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2025-06-20T18:45:58Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-08-08T18:44:41Z", + "label": "Final Comment Period" + }, + { + "event": "unlabeled", + "createdAt": "2025-08-08T18:45:39Z", + "label": "Final Comment Period" + }, + { + "event": "labeled", + "createdAt": "2025-08-15T18:52:08Z", + "label": "Final Comment Period" + } + ], + "currentStage": "accepted", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-06-20T18:45:55Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 7, + "exploring": 63, + "accepted": 26, + "release": null, + "released": null + }, + "connected": [ + { + "number": 1139, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1139", + "title": "Advance RFC #1111 `\"Deprecating Ember.Evented and @ember/object/events\"` to Stage Ready for Release", + "createdAt": "2025-08-22T18:14:26Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-08-22T18:14:27Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-08-22T18:14:27Z", + "label": "S-Ready for Release" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1112.json b/data/1112.json new file mode 100644 index 0000000..afbc6d7 --- /dev/null +++ b/data/1112.json @@ -0,0 +1,74 @@ +{ + "number": 1112, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1112", + "title": "Deprecate Ember Proxies", + "createdAt": "2025-06-13T19:45:33Z", + "closed": true, + "closedAt": "2025-08-15T18:55:24Z", + "merged": true, + "mergedAt": "2025-08-15T18:55:24Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-06-13T19:45:46Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-06-20T18:19:05Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2025-06-20T18:19:16Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-08-08T18:59:56Z", + "label": "Final Comment Period" + } + ], + "currentStage": "accepted", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-06-20T18:19:05Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 7, + "exploring": 57, + "accepted": 33, + "release": null, + "released": null + }, + "connected": [ + { + "number": 1135, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1135", + "title": "Advance RFC #1112 `\"Deprecating Ember Proxies\"` to Stage Ready for Release", + "createdAt": "2025-08-15T18:56:03Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-08-15T18:56:04Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-08-15T18:56:04Z", + "label": "S-Ready for Release" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1113.json b/data/1113.json new file mode 100644 index 0000000..5652cc5 --- /dev/null +++ b/data/1113.json @@ -0,0 +1,41 @@ +{ + "number": 1113, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1113", + "title": "Deprecate Comparable", + "createdAt": "2025-06-13T19:54:42Z", + "closed": true, + "closedAt": "2025-06-20T20:34:56Z", + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-06-13T19:54:54Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-06-20T18:45:05Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2025-06-20T18:45:14Z", + "label": "S-Proposed" + } + ], + "currentStage": "closed", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-06-20T18:45:05Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "closed": 8 + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1114.json b/data/1114.json new file mode 100644 index 0000000..18543f0 --- /dev/null +++ b/data/1114.json @@ -0,0 +1,74 @@ +{ + "number": 1114, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1114", + "title": "Deprecate Ember Array", + "createdAt": "2025-06-13T20:09:01Z", + "closed": true, + "closedAt": "2025-08-29T18:12:00Z", + "merged": true, + "mergedAt": "2025-08-29T18:12:00Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-06-13T20:09:18Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-06-20T18:15:51Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2025-06-20T18:44:16Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-08-22T18:45:56Z", + "label": "Final Comment Period" + } + ], + "currentStage": "accepted", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-06-20T18:15:51Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 7, + "exploring": 70, + "accepted": 19, + "release": null, + "released": null + }, + "connected": [ + { + "number": 1140, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1140", + "title": "Advance RFC #1114 `\"Deprecating Ember Array\"` to Stage Ready for Release", + "createdAt": "2025-08-29T18:12:38Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-08-29T18:12:39Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-08-29T18:12:39Z", + "label": "S-Ready for Release" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1115.json b/data/1115.json new file mode 100644 index 0000000..54c2c65 --- /dev/null +++ b/data/1115.json @@ -0,0 +1,45 @@ +{ + "number": 1115, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1115", + "title": "Deprecate Observers", + "createdAt": "2025-06-16T17:34:17Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-06-16T17:34:31Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-06-20T18:11:29Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2025-06-20T18:11:32Z", + "label": "S-Proposed" + } + ], + "currentStage": "exploring", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-06-20T18:11:29Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 5, + "exploring": 89, + "accepted": null, + "release": null, + "released": null + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1116.json b/data/1116.json new file mode 100644 index 0000000..a37512f --- /dev/null +++ b/data/1116.json @@ -0,0 +1,79 @@ +{ + "number": 1116, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1116", + "title": "Deprecate Mixin Support", + "createdAt": "2025-06-20T13:04:24Z", + "closed": true, + "closedAt": "2025-09-05T18:09:38Z", + "merged": true, + "mergedAt": "2025-09-05T18:09:38Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-06-20T13:04:39Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-06-20T18:17:45Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2025-06-20T18:17:48Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-08-29T18:28:48Z", + "label": "Final Comment Period" + } + ], + "currentStage": "accepted", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-06-20T18:17:45Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 1, + "exploring": 77, + "accepted": 12, + "release": null, + "released": null + }, + "connected": [ + { + "number": 1143, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1143", + "title": "Advance RFC #1116 `\"Deprecating Mixin Support\"` to Stage Ready for Release", + "createdAt": "2025-09-05T18:10:24Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-09-05T18:10:25Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-09-05T18:10:25Z", + "label": "S-Ready for Release" + }, + { + "event": "labeled", + "createdAt": "2025-09-05T18:10:25Z", + "label": "RFC Advancement" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1117.json b/data/1117.json new file mode 100644 index 0000000..e90de67 --- /dev/null +++ b/data/1117.json @@ -0,0 +1,79 @@ +{ + "number": 1117, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1117", + "title": "Deprecate Classic Classes", + "createdAt": "2025-06-20T13:12:37Z", + "closed": true, + "closedAt": "2025-08-29T18:14:21Z", + "merged": true, + "mergedAt": "2025-08-29T18:14:21Z", + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-06-20T13:12:52Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-06-20T18:22:05Z", + "label": "S-Exploring" + }, + { + "event": "unlabeled", + "createdAt": "2025-06-20T18:22:11Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-08-22T18:50:09Z", + "label": "Final Comment Period" + } + ], + "currentStage": "accepted", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-06-20T18:22:05Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 1, + "exploring": 70, + "accepted": 19, + "release": null, + "released": null + }, + "connected": [ + { + "number": 1141, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1141", + "title": "Advance RFC #1117 `\"Deprecate Classic Classes\"` to Stage Ready for Release", + "createdAt": "2025-08-29T18:15:01Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-08-29T18:15:02Z", + "label": "RFC Advancement" + }, + { + "event": "labeled", + "createdAt": "2025-08-29T18:15:02Z", + "label": "S-Ready for Release" + }, + { + "event": "labeled", + "createdAt": "2025-08-29T18:15:03Z", + "label": "RFC Advancement" + } + ] + } + ] +} \ No newline at end of file diff --git a/data/1118.json b/data/1118.json new file mode 100644 index 0000000..e80ae77 --- /dev/null +++ b/data/1118.json @@ -0,0 +1,45 @@ +{ + "number": 1118, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1118", + "title": "Make @service able to be used in templates", + "createdAt": "2025-06-23T19:18:29Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-06-23T19:18:44Z", + "label": "S-Proposed" + }, + { + "event": "unlabeled", + "createdAt": "2025-07-11T18:40:29Z", + "label": "S-Proposed" + }, + { + "event": "labeled", + "createdAt": "2025-07-11T18:40:29Z", + "label": "S-Exploring" + } + ], + "currentStage": "exploring", + "labels": [ + { + "event": "labeled", + "createdAt": "2025-07-11T18:40:29Z", + "label": "S-Exploring" + } + ], + "fcp": false, + "stageDuration": { + "proposed": 18, + "exploring": 68, + "accepted": null, + "release": null, + "released": null + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1119.json b/data/1119.json new file mode 100644 index 0000000..38f3d46 --- /dev/null +++ b/data/1119.json @@ -0,0 +1,29 @@ +{ + "number": 1119, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1119", + "title": "Ember API to enable Vite support in Ember Inspector", + "createdAt": "2025-06-27T13:50:37Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-06-27T13:50:54Z", + "label": "S-Proposed" + } + ], + "currentStage": "proposed", + "labels": [], + "fcp": false, + "stageDuration": { + "proposed": 82, + "exploring": null, + "accepted": null, + "release": null, + "released": null + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1120.json b/data/1120.json new file mode 100644 index 0000000..2bd739a --- /dev/null +++ b/data/1120.json @@ -0,0 +1,29 @@ +{ + "number": 1120, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1120", + "title": "Deprecate initializers and instance initializers", + "createdAt": "2025-07-03T03:52:58Z", + "closed": false, + "closedAt": null, + "merged": false, + "mergedAt": null, + "assignees": [], + "timelineItems": [ + { + "event": "labeled", + "createdAt": "2025-07-03T03:53:13Z", + "label": "S-Proposed" + } + ], + "currentStage": "proposed", + "labels": [], + "fcp": false, + "stageDuration": { + "proposed": 77, + "exploring": null, + "accepted": null, + "release": null, + "released": null + }, + "connected": [] +} \ No newline at end of file diff --git a/data/1121.json b/data/1121.json new file mode 100644 index 0000000..6fa651a --- /dev/null +++ b/data/1121.json @@ -0,0 +1,79 @@ +{ + "number": 1121, + "url": "https://api.github.com/repos/emberjs/rfcs/pulls/1121", + "title": "Strip