Category

Project Updates

Node.js Certifications update: Node.js 10 to Node.js 14

By Blog, Certification, Node.js, Project Updates, Training

The OpenJS Node.js Application Developer (JSNAD) and the OpenJS Node.js Services Developer (JSNSD) Exams (Node.js Certifications) will be updated from Node.js version 10, which is now in maintenance, to Node.js version 14, which is the most current LTS (Long Term Support) line. Changes will come into effect November 3, 2020. All tests taking place after 8:00 pm PT on June 16, 2020 will be based on Node.js version 14.

 The updated exam will include the ability to use either native EcmaScript modules or CommonJS modules to answer questions, with CommonJS remaining the default and EcmaScript modules as an opt-in.

For example a given task on the examination may provide a folder containing an answer.js file and a package.json file. The package.json file does not contain a type field, as is the case when generating a package.json file with npm init. By default, the answer.js file is therefore considered a CommonJS module. So loading a module would be achieved like so:

const fs = require('fs')

To opt-in to native EcmaScript modules, candidates may either set the type field of the package.json file to module or may rename the answer.js file to answer.mjs. In either of those cases a module would be loaded like so:

import fs from 'fs'

Candidates may also explicitly opt-in to CommonJS by setting the type field to commonjs or by renaming the answer.js to answer.cjs but this is unnecessary as the absence of a type field means the answer.js file is interpreted as CommonJS anyway.

This opt-in approach for EcmaScript modules is in keeping with Node’s module determination algorithm, see https://nodejs.org/docs/latest-v14.x/api/packages.html#packages_determining_module_system. Industry standards and best practices will be tracked over the next year and EcmaScript modules may become the default in future updates.

The JSNSD exam has also been updated to become more web-framework friendly, the npm start field is now the essential entry-point for determining how a web server is started. This allows for frameworks with their own initialization CLIs to be used more easily than before, for example see https://www.fastify.io/docs/latest/Getting-Started/#run-your-server-from-cli.

While there are no changes to the current set of Domains and Competencies for the JSNSAD and JSNAD Exams, candidates are advised to review functionality of libraries or frameworks on Node.js version 14. For a full list of differences between Node.js version 10 and Node.js version 14 see https://nodejs.medium.com/node-js-version-14-available-now-8170d384567e.

To help prepare for the Node.js Certification exams, the Linux Foundation offers training courses for both the Applications and Services exams. The training courses were authored by David Clements, a principal architect, public speaker, author of the Node Cookbook, and open source creator specializing in Node.js and browser JavaScript.

These exams are evergreen and soon after a Node.js version becomes the only LTS line the certifications are updated to stay in lockstep with that LTS version. Now that Node.js version 10 has moved into maintenance, certifications will be based on Node.js version 14.

The OpenJS Node.js Certification program was developed in partnership with NearForm and NodeSource. The certifications are a good way to showcase your abilities in the job market and allow companies to find top talent.

OpenJS Foundation AMA: AMP Project TSC

By AMA, AMP, Blog, Project Updates

AMP Project joined the OpenJS Foundation this past summer as a Growth project, aiming to create a more “user-first” open web experience for all. In this AMA, users were able to ask questions via Twitter (#AskAMP) and live YouTube chat. This AMA followed AMP Fest, which can be viewed here. AMP Fest focuses on content where participants could “learn about the latest ways the community is working to make the web better for everyone – publishers, platforms, advertisers, creators, and of course, users.”

Moderated by Naina Raisinghani, the AMA was a way to learn more about the project with David Strauss, Chris Papazian, Dima Voytenko, Malte Ubl, Saulo Santos, Kasiana McLenaghan, and Rudy Galfi.

Questions ranged from what project individuals were most excited about to whether there should be ramifications or praise for net neutrality or the lack thereof. The talk took a mix of inquiries from chat and preset questions. 

The full AMA is available here: OpenJS Foundation AMA – AMP Project

Timestamps

0:00 Brief Introduction

1:09 Introduction

4:42 AMP Fest Recap

6:10 AMP Projects You’re Excited About?

9:50 Can TSC Share What Platforms Support AMP?

11:47 What Is The Most Critical Part of Stories?

15:25 What’s One Use Case For AMP In Email? 

19:20 Does the TSC Have Any Thoughts On NYT Content Application Framework Proposal? 

25:20 What Improvements Does The TSC Want To Make In The New Year?

31:35 Will Websites Need AMP and HTML To Get Picked Up By Publishing Platforms?

40:20 More Approachable Architectural Options For HTML Conversion On High Volume Sites

43:58 Do You See The Project Working On Components Or User-Built Components 

48:44 Should Publishers or Companies Be Encouraged or Penalized For Prioritizing Websites?

50:45 Are There Any Updates On AMP Runtime Giving a PWA For Navigating Amongst AMP Pages. Any Update?

52:00 Any Chance That People Will Be Able to Embed>React>AMP as Opposed to Embed>AMP>React?

56:00 Closing Thoughts

Node.js v15.0.0 is here!

By Announcement, Blog, Node.js, Project Updates

This week, Node.js, an Impact project at the OpenJS Foundation, shipped Node.js v15, a major release for the JavaScript server-side runtime.

The new release includes:

  • Abort Controller
  • N-API Version 7
  • npm 7
  • Throw on unhandled rejections
  • QUIC (experimental)
  • V8 8.6

Additional project news includes

  • Completion of the Node.js Contributors Survey to gather feedback on the contribution process to determine target areas for improvement.
  • big improvements to Node.js automation and tooling including the ability to kick off CI runs and land commits just by adding a GitHub label, making it easier for collaborators to manage the constant flow of Pull Requests.
  • The beginning of Next 10 Years of Node.js effort. The goal of this effort is to reflect on what led to success in the first 10 years of Node.js and set the direction for success in the next 10. One of the outcomes so far is that we’ve created a Technical Values document to guide our efforts.

To read more about Node.js v15, please read the blog here written by Bethany Griggs and the Node.js TSC.

OpenJS World Day One Highlights

By Announcement, Blog, Event, OpenJS World, Project Updates

Today was the first day of OpenJS World, the OpenJS Foundation’s virtual, global event bringing together the JavaScript and web development community. Today was filled with incredible talks and keynotes and while a little different than what we are used to, it offered us all a chance to learn and grow, virtually. We are thrilled to have gathered viewers from across the globe to our event and we hope you enjoyed Day One as much as we did! For those who did not get to attend today’s event, there’s still time to register for Day Two, and replays will be available in both the event platform and on YouTube next week.

Keynotes

Day one kicked off with Robin Ginn, OpenJS Foundation Executive Director welcoming everyone and going over a brief JavaScript History as well as an overview of our Foundation. We also heard from Anil Dash, CEO of Glitch, on tech and inclusivity. He asked some great questions of our community on biases built within tech due to a lack of diversity from those doing the building.

Other keynote speakers included 

  • Cassidy Williams, Principal Developer Experience Engineer, Netlify who gave her keynote on, “Learning By Teaching for Your Community”
  • Prosper Otemuyiwa, Co-founder & CTO, Eden who talked about “Media Performance at Scale.”
  • Keeley Hammond, Senior Software Engineer, InVision, who spoke about Electron’s journey as an OpenJS Foundation hosted project. 
  • Malte Ubl, Principal Engineer, Google, spoke about the AMP project
  • Dr. Joy Rankin, Research Lead at the AI Now Institute and Research Scholar at New York University, sat down with Kris Borchers to discuss “How (not) to Save the World with Tech”

OpenJS World Project News

We are thrilled to share that both AMP and Electron have graduated from the incubation program!

AMP Project Graduates Incubation Program

Today, during OpenJS World keynotes, Malte Ubl, Principal Engineer at Google, the creator of AMP, and a member of the AMP Project’s Technical Steering Committee, announced the AMP Project has graduated from the Foundation’s incubation program. AMP entered incubation in October of 2019 and during this time, the collaboration between the project and the Foundation has been very beneficial. Graduating from the OpenJS Foundation Incubation program signals more opportunities for growth and diversity for the open source AMP project and its developers. In becoming a full-fledged OpenJS Foundation project, AMP can better deliver on its vision of delivering  “A strong, user-first open web forever.” 

Electron Project Graduates Incubation Program

Today at OpenJS World, Keeley Hammond, Senior Software Engineer at InVision, and a member of the Electron governance team, took the keynote stage and let the world know that Electron has successfully graduated from the Foundation’s incubation program and is now an Impact Project. Electron entered incubation in December of 2019, at the last OpenJS Foundation global conference in Montreal. This is an important step as it shows real growth, maturity, and stability for the popular web framework, which is used for building desktop apps across multiple platforms. 

Sessions 

Today we featured more than 30 breakout sessions across a variety of topics from AI to application development and project-specific talks. A replay of each of these talks is available within the OpenJS World event platform. You will need to register for the event or login to the platform to access these sessions. To find the replay, navigate to the home page, click into the topic area, and find the talks on demand. We are also posting on the OpenJS YouTube on Monday June 29, 2020.

Engaging Virtually Through Fun and Games

We’ve created a few opportunities for fun during these two days. Attendees can create a virtual badge, collect badges for sessions attended, and even earn points for cool OpenJS SWAG! We also held a scavenger hunt today where attendees had to search through sponsor’s booths and find birthday related items, in honor on JavaScript’s 25th Anniversary! Participants who collected all birthday party items will be entered into a drawing for a DJI Tello drone, provided by IBM’s Call for Code team! Learn more in the Fun and Games section on the event platform.

OpenJS World Day Two, and Collab Summit

We are just getting started this week! Please join us tomorrow as we kick off our keynote sessions with Christina Koch, NASA Astronaut! Tomorrow will be another fantastic day, a trend to continue into the OpenJS Collab Summit on Thursday (Project Day) and Friday (Cross-Project Day).

Thanks

Finally, and certainly not least of all, we send our sincerest THANK YOU to our sponsors who have made this event possible. This year has been challenging for so many and having sponsors come through and support this event is extremely appreciated. 

Thanks to Diamond Sponsor IBM, Gold Sponsors Cloud Native Computing Foundation and Google, Silver Sponsors Red Hat/OpenShift and SoftwareAG, Bronze Sponsors Heroku, Profound Logic, Sentry and White Source.

Project News: WebdriverIO ships v6

By Announcement, Blog, Project Updates, WebdriverIO

Kudos to the WebdriverIO team for their recent v 6 release. Webdriver, a hosted project at the OpenJS Foundation, is a Next-gen browser automation test framework for Node.js

Big updates include:

Drop Node v8 Support
WebDriver has dropped support for Node v8, which was deprecated by the Node.js team at the start of 2020. It is not recommended to run any systems using that version anymore. It is strongly advised to switch to Node v12 which will be supported until April 2022.

Automation Protocol is now Default
Because of the great success of automation tools like Puppeteer and Cypress.io it became obvious that the WebDriver protocol in its current shape and form doesn’t meet the requirements of today’s developer and automation engineers. Members of the WebdriverIO project are part of the W3C Working Group that defines the WebDriver specification and they work together with browser vendors on solutions to improve the current state of the art. Thanks to folks from Microsoft there already proposals about a new bidirectional connection similar to other automation protocols like Chrome Devtools.

Performance Improvements
A big goal with the new release was to make WebdriverIO more performant and faster. Running tests on Puppeteer can already speed up local execution. Additionally, v6 has replaced the heavy dependency to request which has been fully depreciated as of February 11th 2020. With that, the bundle size of the webdriver and webdriverio package has been decreased by 4x.

These are only a few things that the v6 release brings. Read the full blog on the WebdriverIO site