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.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.
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.