diff --git a/.travis.yml b/.travis.yml index f451de505..5c9466631 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,6 +5,6 @@ before_install: - gem install bundler --version 1.17.2 script: - npm install alex@8.0.1 markdownlint-cli@0.19.0 --global -- bash scripts/language-check.sh -- bash scripts/markdown-lint.sh +- ./scripts/validate.sh alex +- ./scripts/validate.sh markdownlint - bundle exec middleman build diff --git a/scripts/language-check.sh b/scripts/language-check.sh deleted file mode 100755 index b373c6940..000000000 --- a/scripts/language-check.sh +++ /dev/null @@ -1,7 +0,0 @@ -git remote add base https://github.com/ember-learn/ember-blog.git -git fetch base -BLOG_HAS_CHANGES=$(git diff --name-status base/master source/2*) -if [[ $BLOG_HAS_CHANGES ]] - then - alex $(git diff --name-status base/master source/*.md | sed s/^..//) -fi diff --git a/scripts/markdown-lint.sh b/scripts/markdown-lint.sh deleted file mode 100755 index e610151c0..000000000 --- a/scripts/markdown-lint.sh +++ /dev/null @@ -1,7 +0,0 @@ -git remote add base https://github.com/ember-learn/ember-blog.git -git fetch base -BLOG_HAS_CHANGES=$(git diff --name-status base/master source/2*) -if [[ $BLOG_HAS_CHANGES ]] - then - markdownlint $(git diff --name-status base/master source/*.md | sed s/^..//) -fi diff --git a/scripts/validate.sh b/scripts/validate.sh new file mode 100755 index 000000000..d7b120ee0 --- /dev/null +++ b/scripts/validate.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +# set options to ensure errors propogate +# if any command terminate unexpectedly +set -e -o pipefail +# shellcheck disable=SC2086 +linting_binary=$1 + +if [ -z "$linting_binary" ]; then + echo "Please specify a linting binary." + exit 1 +fi +# if the remote already exists, do nothing +git remote add base https://github.com/ember-learn/ember-blog.git || test 1 +git fetch base +BLOG_HAS_CHANGES=$(git diff --name-status base/master source/2*) +if [[ $BLOG_HAS_CHANGES ]] + then + $linting_binary $(git diff --name-status base/master source/*.md | sed s/^..//) +fi diff --git a/source/2020-01-24-the-ember-times-issue-132.md b/source/2020-01-24-the-ember-times-issue-132.md index af3aa9ada..a24238593 100644 --- a/source/2020-01-24-the-ember-times-issue-132.md +++ b/source/2020-01-24-the-ember-times-issue-132.md @@ -1,7 +1,7 @@ --- title: The Ember Times - Issue No. 132 author: Anne-Greeth van Herwijnen, Chris Ng, Jessica Jordan, Isaac Lee, Amy Lam -tags: Recent Posts, Newsletter, Ember.js Times, Ember Times, 2020 +tags: Newsletter, Ember.js Times, Ember Times, 2020 alias : "blog/2020/01/24-the-ember-times-issue-132.html" responsive: true --- diff --git a/source/2020-01-31-the-ember-times-issue-133.md b/source/2020-01-31-the-ember-times-issue-133.md new file mode 100644 index 000000000..7523054b7 --- /dev/null +++ b/source/2020-01-31-the-ember-times-issue-133.md @@ -0,0 +1,152 @@ +--- +title: The Ember Times - Issue No. 133 +author: Chris Ng, Sean Massa, Isaac Lee, Jessica Jordan, Amy Lam +tags: Recent Posts, Newsletter, Ember.js Times, Ember Times, 2020 +alias : "blog/2020/01/31-the-ember-times-issue-133.html" +responsive: true +--- + +✌️ Emberistas! 🐹 + +This week: +Check out the RFC for Improved Ember Registry APIs 🗒️®️, +Octane community feedback from FlashRecruit 👏, +contributing to OSS with confidence at EmberConf 💪, +and meet two developers who write short Ember posts regularly ✏️! + +READMORE + +--- + +## [RFC: Improved Ember Registry APIs 🗒️®️](https://github.com/emberjs/rfcs/pull/585) + +[Chris Krycho (@chriskrycho)](https://github.com/chriskrycho) proposed adding a new, object-based API for all registry APIs; deprecate the current string-based microsyntax registry APIs; and introduce a `capabilities` property to the resolver to safely support existing resolvers. + +The [RFC: Improved Ember Registry APIs](https://github.com/emberjs/rfcs/pull/585) covers the problems with the [microsyntax](https://guides.emberjs.com/release/applications/dependency-injection/#toc_factory-registrations) and the lack of TypeScript support. The RFC recommends adding a new `Identifier` API which would contain the `name`, `type`, and optionally the `namespace` fields instead of the current microsyntax. For example: + +From: + +```js +getOwner(this).lookup('service:session'); +``` + +To: + +```js +getOwner(this).lookup({ type: 'service', name: 'session' }) +``` + +From: + +```js +class Example { + @service('global@session') + session; +} +``` + +To: + +```js +class Example { + @service({ namespace: 'global', name: 'session' }) + session; +} +``` + +If you would like to learn more or add your feedback please take a look at the [RFC on GitHub](https://github.com/emberjs/rfcs/pull/585)! + +--- + +## [Octane community feedback from FlashRecruit 👏](https://flashrecruit.com) + +At [**FlashRecruit**](https://flashrecruit.com), we're building a conversational job marketplace. We've been using Ember Octane since before the official preview--don't tell anyone--to build the new version of our job board and dashboard. + +Ember Octane allowed us to quickly prototype an application, move on to production with little tech debt, and feel well supported throughout the process. + + +Tracked Properties and Glimmer Components provide a wonderful mental model to work from. They also simplify our code by bringing it closer to JavaScript and HTML. We had a new hire that only had to learn the Octane way, which ended up far smoother than the classic-style onboarding. + + +We saw a few issues in the preview period, but the community was quick to help us figure out how to move past them. They were mostly fixed by the official release, as well. + + +We look forward to the enhanced tracking changes coming in RFCs like [#577](https://github.com/emberjs/rfcs/pull/577). Honestly, anything beyond this point is just gravy. + +> We know there are lots of other great examples of Octane being used in the wild. If you’d like to share your experiences, please feel to reach out to the Ember Times team: [#support-ember-times](https://discordapp.com/channels/480462759797063690/485450546887786506) on the [Ember Community Discord](https://discordapp.com/invite/zT3asNS)! + +--- + +## [Confident contributing to open-source at EmberConf 💪💻](https://emberconf.com/#/speakers/anne-greeth-van-herwijnen) + +After her [previous OSS pitch at EmberFest 2019](https://www.youtube.com/watch?v=GHbjdesHhPA), +Emberista and [Ember Times](https://blog.emberjs.com/tags/newsletter.html) editor [Anne-Greeth van Herwijnen (@MinThaMie)](https://github.com/MinThaMie) will guide you to your next (or maybe even first!) open-source contribution! + +With plenty of research on what makes an open-source community successful in facilitating contributions, she will demonstrate how Ember empowers contributors to give back to the project in her talk [**Why Contributing Seems Scary**](https://emberconf.com/#/schedule/day-2_why-contributing-seems-scary) at [this year's EmberConf](https://emberconf.com/). + +In an exclusive interview with The Ember Times, Anne-Greeth shares with us, who she thinks is qualified to contribute to Ember: + + +> […] I think everyone can contribute to Ember. It just matters on your opinion of what you think contributing means. So for me contributing goes from helping out at EmberConf, to writing, reading RFCs, and everything in between. And I think as long as you want to. you can always find something for you to contribute to. + +What is something that surprises first-time contributors when working on a project like Ember? Anne-Greeth speaks from her previous experience when sharing her OSS journey with others: + + +> From the talk about contributing I gave at EmberFest last year and also one I gave at my work, I noticed that people were surprised how easy it is to contribute. And that contributing doesn’t mean that you necessarily have to fix the problem, but that also identifying a problem is contributing to it. At my company I got the response from somebody who just two hours after my talk already created their first pull request to an open-source repository (which wasn’t Ember), but still he was like “Hey, I did this!” In general, the feedback has been really positive, because my examples are really low-key. People feel really encouraged and inspired, that they can do it, too! + +Besides learning how to contribute with confidence, what makes EmberConf a must-visit experience this year? Anne-Greeth talks about what she is looking forward to the most: + +> I think the people. It sounds really cheesy, but for me, meeting all the people that I met years before, but also meeting new people at different meetups, but also in between talks, is, I think, really cool. And discussing with them things about Ember, but also about culture and about different countries is, I think, one of the best things about EmberConf. + +If you want to learn more about why contributing seems scary (but doesn't need to be), join more than 800 other Ember developers at [EmberConf in Portland, OR, from March 16 - 18, 2020](https://emberconf.com/). Prices for regular attendee tickets start from $449. Get your tickets, before they are sold out, [on the EmberConf website](https://emberconf.com/#/register)! + +--- + +## [Getting into writing Ember posts ✏️](https://dev.to/t/ember/latest) + +This week, we give a hearty shout-out to [Ilya Radchenko (@knownasilya)](https://github.com/knownasilya) and [Michal Bryxí (@MichalBryxi)](https://github.com/MichalBryxi). Since January, they have been regularly sharing their learnings of Ember through short blog posts. + +Here are some of our favorites: + +- [Ember Components at Their Simplest](https://ilyaradchenko.com/ember-components-at-their-simplest/) +- [When Components Aren't Enough](https://ilyaradchenko.com/when-components-aren't-enough/) +- [6 Tips for Transitioning to Ember CSS Modules](https://ilyaradchenko.com/6-tips-for-transitioning-to-ember-css-modules/) +- [Add Fulltext Filter Support to ember-cli-mirage](https://dev.to/michalbryxi/add-fulltext-filter-support-to-ember-cli-mirage-3nef) +- [Shining Some Light on Timing Out Tests](https://dev.to/michalbryxi/shining-some-light-on-timing-out-tests-35e6) +- [Component Arguments vs HTML Attributes Bug Hunt](https://dev.to/michalbryxi/component-arguments-vs-html-attributes-bug-hunt-1ke9) + +We encourage you to have a read. You may be pleasantly surprised to see that, through small steps, one can end up teaching and helping others a lot. 💞 + +--- + +## [Contributors' Corner 👏](https://guides.emberjs.com/release/contributing/repositories/) + +
This week we'd like to thank @salbador, @mansona, @amyrlam, @Nippius, @maxwondercorn, @skaterdav85, @NBallaney, @betocantu93, @rwjblue, @chancancode, @pzuraq and @efx for their contributions to Ember and related repositories! 💖
+ +--- + +## [Got a question? Ask Readers' Questions! 🤓](https://docs.google.com/forms/d/e/1FAIpQLScqu7Lw_9cIkRtAiXKitgkAo4xX_pV1pdCfMJgIr6Py1V-9Og/viewform) + +Wondering about something related to Ember, Ember Data, Glimmer, or addons in the Ember ecosystem, but don't know where to ask? Readers’ Questions are just for you!
+ +Submit your own short and sweet question under bit.ly/ask-ember-core. And don’t worry, there are no silly questions, we appreciate them all - promise! 🤞
+