Git Product home page Git Product logo

pluralsight-js-dev-env's Introduction

pluralsight-js-dev-env

JS Development Environment

  • VS Code Terminal
  • Node Security Platform
    • Install: npm install -g nsp
    • Run security check: nsp check
  • Development Webserver
    • Browsersync*
    • Express
  • Sharing work-in-progress
    • localtunnel*
      • Default run: lt --port 3000
      • Custom url: lt --port 3000 --subdomain gregg
    • ngrok - secure
    • now
    • Surge - static html files
  • Automation
    • Grunt
    • Gulp
    • npm scripts
      • npm start
      • npm run share
  • Transpiler
    • Babel*
    • Typescript
    • Elm
  • Bundlers (5 Module formats)
    • IIFE
    • Asynchronous Module Definition (AMD)
    • CommonJS (CJS)*
    • Universal Module Definition (UMD)
    • ES6 Modules*
      • Standardized
      • Statically analyzable
        • improved autocomplete
        • intelligent refactoring
        • fails fast
        • tree shaking: dead-code elimination
      • Easy to read
        • named imports
        • default exports
  • Bundlers
    • Browserify: simple
    • Webpack: comprehensive (CSS, images, fonts, html)*
    • Rollup: tree-shaking performance
    • JSPM: runtime loader
  • SourceMaps
    • Debug transpiled and bundled code
    • Map code back to original source
    • Downloaded if you open dev tools
  • Linter
    • JSLint (Crockford)
    • JSHint
    • ESLint (current standard)*
  • Testing and Continuous Integration
    • Testing Framework
      • Mocha* (popular, configurable)
      • Jasmine (popular)
      • Tape
      • QUnit
      • AVA
      • Jest
    • Assertion Libraries
      • Chai*
      • Should.js
      • expect
    • Helper Libraries
      • JSDOM* (simulate DOM in memory)
      • Cheerio (jQuery for server)
    • Where to Run Tests
      • Browser
        • Karma, Testem
      • Headless Browser
        • PhantomJS
      • In-memory DOM
        • JSDOM*
    • Where Do Test Files Belong?
      • Centralize
        • Less "noise" in src folder
        • Deployment confusion
        • Inertia
      • Alongside*
        • Easy imports
        • Clear visibility
        • Convenient to open
        • No recreating folder structure
        • Easy to move files
    • When Should Tests Run?
      • Unit Tests should run when you hit save
  • Continuous Integration
    • What does CI do?
      • Run automated build
      • Run your tests
      • Check code coverage
      • Automate deployment
    • CI Servers
      • Travis* (linux)
      • Appveyor* (Windows)
      • Jenkins
      • CircleCI
      • Semaphore
      • SnapCI
  • HTTP Calls
    • HTTP Call Approaches
      • Node
        • http
        • request*
      • Browser
        • XMLHttpRequest
        • jQuery
        • Fetch*
      • Node & Browser
        • isomorphic-fetch
        • xhr
        • SuperAgent
        • Axios
    • Why Centralize API Calls?
      • Configure all calls
      • Handle preloader logic
      • Handle errors
      • Single seam for mocking -Why Mock HTTP?
      • Unit Testing
      • Instant response
      • Keep working when services are down
      • Rapid prototyping
      • Avoid inter-team bottlenecks
      • Work offline
    • How to Mock HTTP
      • Nock
      • Static JSON
      • Create dev webserver (api-mock, JSON server, JSON Schema faker, BrowserSync, Express)
    • Our Plan for Mocking HTTP
      • Declare our scheme
        • JSON schema faker
      • Generate Random Data
        • faker.js
        • chance.js
        • randexp.js
      • Serve Data via API
  • Production Build

pluralsight-js-dev-env's People

Contributors

greggnakamura avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.