Adopt - The default choice when selecting technologies
Assess - Technologies that we believe may be valuable, and are currently being assessed to understand their value and impact.
Hold - Technologies in hold must no longer be used for new development
Off-the-shelf tooling, popularity is insane, extremely engaged community, easy to recruit for. Used on External Consultations and Identity Management projects, as well as the Nice Design System.
Microsoft’s superset of JavaScript for static typing. TypeScript is “transcompiled” to JavaScript, showing errors at compilation. Used on Identity Management. The Design System supplies type definitions for TypeScript enabled projects.
JS Testing framework. The default test driver for React when using Create-React-App. Enzyme is a testing utility that makes it easy to simulate interactions and assert on the output of React components. Used in consultations, IdAM, and the design system. Also the webdriver.io steps.
Module bundler for JavaScript (and other assets with plugins). Preferred approach to using JS on any new project or to be retrofitted where feasible.
We should be using modern syntax for JS wherever possible, as long as the code is transpiled before being used in the browser. Babel tooling makes adopting the latest spec recommendations very simple.
CSS Preprocessor. Used on at least NICE Design System, Pathways and External Consultations.
Front end testing framework. Used in everything.
Currently used in a few projects. For when you want .NET to render the HTML. We generally use React now, but sometimes we will use razor where react is overkill.
Currently standard, but can sometimes be a bit of a pain, so we are assessing yarn.
We’re not currently using any state management approaches, would be good to assess for the next large single-page-app project.
We have some sites that could do we being rewritten, and would be rewritten with a static site generators (eg CKS and BNF). Gatsby currently makes more sense than any other ones.
Trial to replace npm. Do not use both.
cross browser testing
Now we’re supporting IE11+, JavaScript in our target browsers is pretty aligned, or easier than ever to compensate for.
If we are in control of the DOM, we use react. If not, eg content managed html, we don’t.
Unmaintained asset bundler for .Net. Last update was in 2014.
Used by Medtech with MongoDB. Universal JavaScript app framework (runs same code on back and front end).
CSS pre-processor; lost the war with SASS. Used in at least Publications and Niceorg.
Use the NICE design system
We are using React
We are using React
We are using React
For bundling, we use webpack
View engines, now out of date. We are using Razor or JSX templating
Trialled on comment collection, typescript does what flow does but better. Use typescript.
Used for previous versions of the design system, we use jest and enzyme instead.