View
45
Download
0
Category
Preview:
Citation preview
MODERN OPEN SOURCE NODE.JS PACKAGESSafely Build, Publish & MaintainES2015, ES2016 Packages Today
HAI!ENTREPRENEUR, HACKER, DEVELOPER
OPEN SOURCE ADVOCATE & DOG LOVER
@AhmadNassri AhmadNassri.com
VP of Engineering at Mashape, Founder at Tech Masters, Mentor at Node School Toronto, BoardMember at Full Stack Toronto, Board Member at Open API Initiative, Editor at The RESTful
Web.
Tech Outlaw, wanted by a 3rd world dictator(true story)
JS HISTORYSTANDARDIZATION TIMELINE
TC39 & ECMA-262COMMITTEE & STANDARD
EC1JUNE 1997
EC2JUNE 1998
EC3DECEMBER 1999
EC4ABANDONED!
:(
EC HARMONYAUGUST 2008
EC5DECEMBER 2009
ES6 ES2015JUNE 2015!!!
ES2016JUNE 2016 :)
ES2017WIP
NEW PROCESSYOU CAN CONTRIBUTE TOO!
STAGE 0 (STRAWMAN)ALLOW INPUT INTO THE SPECIFICATIONtc39.github.io/process-document
STAGE 1 (PROPOSAL)MAKE THE CASE, DESCRIBE A SOLUTION, IDENTIFY CHALLENGES
tc39.github.io/process-document
STAGE 2 (DRAFT)PRECISELY DESCRIBE SYNTAX & SEMANTICS USING FORMAL SPEC LANGUAGE
tc39.github.io/process-document
STAGE 3 (CANDIDATE)FURTHER REFINEMENT WILL REQUIRE FEEDBACK FROM IMPLEMENTATIONS AND USERS
tc39.github.io/process-document
STAGE 4 (FINISHED)READY FOR INCLUSION IN THE FORMAL ECMASCRIPT STANDARD
tc39.github.io/process-document
I CAN HAZES2016?
NOT YET!
SPEC COMPATIBILITYhttps://kangax.github.io/compat-table/es6/
LONG-TERM SUPPORT!https://github.com/nodejs/LTS
NO MOREWAITING!
TRANSPILER(S) TO THE RESCUE
MOAR TRANSPILERS!https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js
ICYMI ...https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js
SUPERSETS ARETHE NEW
FRAMEWORKS!
BACKWARDCOMPATIBLE?
MODERNWORKFLOW!
TOOLS
SIMPLE WORKFLOW
PACKAGE.JSON
PACKAGE.JSON
PACKAGE.JSON
.TRAVIS.YML
EASY!RIGHT?
GOTCHAS
FINAL SPECCHANGED
ES7 !== ES2016
COMPILED APIDIFFERS
FROM SOURCE(compiled == source && compiled !== source) === true
PERFORMANCE LOSS+
NO OPTIMIZATION
SUGARvs
CORE
ABANDONWARETool Decay + Fragile Ecosystems
TOOLING HEAVYSetup, Config, Environments, Virtualization, Resources
IT GETS BETTER
IT *IS* BETTER
IT WILL BE EVENBETTER
CONTRIBUTE AND MAKEIT BETTER!
github.com/tc39
github.com/ahmadnassri/npm-package-generator
THANK YOU!@AhmadNassri
AhmadNassri.com
AhmadNassri.com/talks
TechMasters.chat NodeSchool.io/toronto FSTO.co
Recommended