Post on 13-Apr-2017
ENTERPRISE NODECODE DISCOVERY
ABOUT ME
Tech Lead @ MLS
Medium: @kurtiskempleTwitter: @kurtiskemple
GitHub: @kkemple
REPO FOR THIS WEBINARKKEMPLE/AWESOME-ENTERPRISE-WEB-SERVICE
WHY IS CODE DISCOVERY IMPORTANT?
BENEFITS
• Prevents Code Duplication
• Improves Documentation Processes
• Improves Cross-team Communication
BUILDING PACKAGES FOR DISCOVERABILITY
DEFINING APIS
• Naming Conventions Should be Intuitive
• The API Should be as Simple As Possible (jQuery)
• The API Should be First Level of Documentation
PACKAGE NAMING CONVENTIONS
• Naming Conventions Should be Intuitive
(<org>.UI.components.forms)
• Naming Conventions Should be Consistent
• Naming Conventions Should be Descriptive
DOCUMENTATION
• Anything Public Should be Documented
• Provide Example Usages
• The More Information You Provide About What and Why
the Better
• Types Are a Form of Documentation (Flow, Typescript)
SEMVAR (SEMANTIC VERSIONING)
• Allows for Individual Updates
• Helps Show Maturity of Module
• Forces Thought Into Updates
STORING PACKAGES
SINOPIA
• Open Source Private Registry
• Caches NPM Modules
• Ability to Whitelist/Blacklist Modules
• Search
• https://www.npmjs.com/package/sinopia
NPM ENTERPRISE
• Enterprise Private Registry
• Caches Public NPM Modules
• Ability to Whitelist/Blacklist Modules
• Advanced Search and Dashboard
• https://www.npmjs.com/enterprise
ARTIFACTORY (JFROG)
• Private Registry + Other Artifact Storage
• Caches Public NPM Modules
• Ability to Whitelist/Blacklist Modules
• Advanced Search and Dashboard
• https://www.jfrog.com/artifactory/
INTEGRATING CODE DISCOVERY INTO YOUR WORKFLOW
JS INSPECT
CODE CLIMATE - DUPLICATION ENGINE
SWAGGER API DOCS
JS DOC
RTYPE
FLOW
SEMANTIC-RELEASE
Q&A
• Enterprise Node.js - Code Qualityhttps://www.crowdcast.io/e/enterprise-node-1
• Enterprise Node.js - Code Discoveryhttps://www.crowdcast.io/e/enterprise-node-2
• Enterprise Node.js - Securing Your Environmenthttps://www.crowdcast.io/e/enterprise-node-3
• Enterprise Node.js - Deploying with Dockerhttps://www.crowdcast.io/e/enterprise-node-4
24
ENTERPRISE NODE.JS
JavaScript is replacing Java, Ruby, and .NET as the technology of choice for companies that want to build enterprise software faster, and with fewer resources. Learn about enterprise JavaScript applications at every level of the stack. As well as how to secure, integrate, test, store, monitor, and deploy them.
O’REILLY SOFTWARE ARCHITECTURE CONFERENCEArchitecting For Enterprise in Node.js