Skip to content
Greg Swindle edited this page Jan 22, 2018 · 3 revisions

Articles, books, tools, and tutorials—with descriptions and refactoring catalog entries whenever available—to help you reduce software complexity and design debt.

Table of contents

1. Articles

1.1. Abstract syntax trees (ASTs)

  1. ESTree AST Descriptor Syntax

    Description:

    This document specifies the extensions to the core ESTree AST types to support the ES5, ES6 (ES2015), ES7 (ES2016), and ES8 (2017) grammars.

1.2. Refactoring

  1. Software Complexity: The Art of Naming

    Description:

    What do function names imply? Why are some classes so confusing? When should we split functions? Good writing is an exercise in empathy and most of it comes down to good naming.

    Refactoring catalog entries:

2. Books

Nothing here, yet!

3. Tools

Software designed to eliminate technical/design debt and reduce complexity.

eslint-plugin-crc relies on the following dependencies.
Dependency Description Version License Type
bunyan@1.8.12 a JSON logging library for node.js services 1.8.12 MIT production
doctrine@2.1.0 JSDoc parser 2.1.0 Apache-2.0 production
escomplex@2.0.0-alpha Software complexity analysis of JavaScript-family abstract syntax trees. 2.0.0-alpha MIT production
eslint@4.16.0 An AST-based pattern checker for JavaScript. 4.16.0 MIT production
eslint-scope@3.7.1 ECMAScript scope analyzer for ESLint 3.7.1 BSD-2-Clause production
espree@3.5.2 An Esprima-compatible JavaScript parser built on Acorn 3.5.2 BSD-2-Clause production
esquery@1.0.0 A query library for ECMAScript AST using a CSS selector like query language. 1.0.0 BSD production
lodash@4.17.4 Lodash modular utilities. 4.17.4 MIT production
meow@4.0.0 CLI app helper 4.0.0 MIT production
requireindex@1.1.0 Write minimal node index.js files that require and export siblings by file basename 1.1.0 MIT production
babel-register@6.26.0 babel require hook 6.26.0 MIT dev
bithound@1.7.0 Commands for interacting with bitHound: https://bithound.io 1.7.0 MIT dev
chai@4.1.2 BDD/TDD assertion library for node.js and the browser. Test framework agnostic. 4.1.2 MIT dev
coveralls@3.0.0 takes json-cov output into stdin and POSTs to coveralls.io 3.0.0 BSD-2-Clause dev
docdash@0.4.0 A clean, responsive documentation template theme for JSDoc 3 inspired by lodash and minami 0.4.0 Apache-2.0 dev
eslint-config-scanjs@1.0.0-beta4 umbrella config to get scanjs-like functionality from eslint 1.0.0-beta4 MPL-2.0 dev
eslint-config-xo-space@0.17.0 ESLint shareable config for XO with 2-space indent 0.17.0 MIT dev
eslint-plugin-import@2.8.0 Import with sanity. 2.8.0 MIT dev
eslint-plugin-jsdoc@3.3.1 JSDoc linting rules for ESLint. 3.3.1 BSD-3-Clause dev
eslint-plugin-no-unsafe-innerhtml@1.0.16 custom ESLint rule to disallows unsafe innerHTML, outerHTML and insertAdjacentHTML 1.0.16 MPL-2.0 dev
eslint-plugin-no-unsanitized@2.0.2 ESLint rule to disallow unsanitized code 2.0.2 MPL-2.0 dev
eslint-plugin-node@5.2.1 Additional ESLint's rules for Node.js 5.2.1 MIT dev
eslint-plugin-promise@3.6.0 Enforce best practices for JavaScript promises 3.6.0 ISC dev
eslint-plugin-scanjs-rules@0.2.1 ESLint plugin that contains ScanJS rules 0.2.1 MPL-2.0 dev
eslint-plugin-security@1.4.0 Security rules for eslint 1.4.0 Apache-2.0 dev
eslint-plugin-standard@3.0.1 ESlint Plugin for the Standard Linter 3.0.1 MIT dev
eslint-plugin-unicorn@3.0.1 Various awesome ESLint rules 3.0.1 MIT dev
eslint-plugin-xss@0.1.9 Validates XSS related issues of mixing HTML and non-HTML content in variables. 0.1.9 ISC dev
jsdoc@3.5.5 An API documentation generator for JavaScript. 3.5.5 Apache-2.0 dev
lec@^1.0.1 Command Line Wrapper for Line Ending Corrector (An utility that makes sure your files have consistent line endings) 1.0.1 MIT dev
markdown-magic@0.1.20 Automatically update markdown files with content from external sources 0.1.20 MIT dev
markdown-magic-dependency-table@1.3.2 Generate table of information about dependencies automatically in markdown 1.3.2 MIT dev
markdown-magic-package-scripts@1.2.1 Print list of scripts in package.json with descriptions 1.2.1 MIT dev
mocha@5.0.0 simple, flexible, fun test framework 5.0.0 MIT dev
nodemon@1.14.11 Simple monitor script for use during development of a node.js app. 1.14.11 MIT dev
nsp@3.1.0 The Node Security (nodesecurity.io) command line interface 3.1.0 Apache-2.0 dev
nyc@11.4.1 the Istanbul command line interface 11.4.1 ISC dev
properties-parser@0.3.1 A parser for .properties files written in javascript 0.3.1 MIT dev
semantic-release@12.2.2 Automated semver compliant package publishing 12.2.2 MIT dev
simple-mock@0.8.0 Super simple stubs and spies with 1-step sandbox restore 0.8.0 MIT dev
snyk@1.69.1 snyk library and cli utility 1.69.1 Apache-2.0 dev
standard-version@4.3.0 replacement for npm version with automatic CHANGELOG generation 4.3.0 ISC dev

4. Training and tutorials

Nothing here, yet!