Safely Build, Publish & Maintain ES2015, ES2016 Packages Today
-
Upload
torontonodejs -
Category
Technology
-
view
42 -
download
0
Transcript of Safely Build, Publish & Maintain ES2015, ES2016 Packages Today
![Page 1: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/1.jpg)
MODERN OPEN SOURCE NODE.JS PACKAGESSafely Build, Publish & MaintainES2015, ES2016 Packages Today
![Page 2: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/2.jpg)
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)
![Page 3: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/3.jpg)
![Page 4: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/4.jpg)
![Page 5: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/5.jpg)
JS HISTORYSTANDARDIZATION TIMELINE
![Page 6: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/6.jpg)
TC39 & ECMA-262COMMITTEE & STANDARD
![Page 7: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/7.jpg)
![Page 8: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/8.jpg)
EC1JUNE 1997
![Page 9: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/9.jpg)
EC2JUNE 1998
![Page 10: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/10.jpg)
EC3DECEMBER 1999
![Page 11: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/11.jpg)
EC4ABANDONED!
:(
![Page 12: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/12.jpg)
EC HARMONYAUGUST 2008
![Page 13: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/13.jpg)
EC5DECEMBER 2009
![Page 14: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/14.jpg)
ES6 ES2015JUNE 2015!!!
![Page 15: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/15.jpg)
ES2016JUNE 2016 :)
![Page 16: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/16.jpg)
ES2017WIP
![Page 17: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/17.jpg)
NEW PROCESSYOU CAN CONTRIBUTE TOO!
![Page 18: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/18.jpg)
STAGE 0 (STRAWMAN)ALLOW INPUT INTO THE SPECIFICATIONtc39.github.io/process-document
![Page 19: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/19.jpg)
STAGE 1 (PROPOSAL)MAKE THE CASE, DESCRIBE A SOLUTION, IDENTIFY CHALLENGES
tc39.github.io/process-document
![Page 20: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/20.jpg)
STAGE 2 (DRAFT)PRECISELY DESCRIBE SYNTAX & SEMANTICS USING FORMAL SPEC LANGUAGE
tc39.github.io/process-document
![Page 21: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/21.jpg)
STAGE 3 (CANDIDATE)FURTHER REFINEMENT WILL REQUIRE FEEDBACK FROM IMPLEMENTATIONS AND USERS
tc39.github.io/process-document
![Page 22: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/22.jpg)
STAGE 4 (FINISHED)READY FOR INCLUSION IN THE FORMAL ECMASCRIPT STANDARD
tc39.github.io/process-document
![Page 23: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/23.jpg)
I CAN HAZES2016?
![Page 24: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/24.jpg)
NOT YET!
![Page 25: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/25.jpg)
SPEC COMPATIBILITYhttps://kangax.github.io/compat-table/es6/
![Page 26: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/26.jpg)
LONG-TERM SUPPORT!https://github.com/nodejs/LTS
![Page 27: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/27.jpg)
NO MOREWAITING!
![Page 28: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/28.jpg)
TRANSPILER(S) TO THE RESCUE
![Page 29: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/29.jpg)
MOAR TRANSPILERS!https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js
![Page 30: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/30.jpg)
ICYMI ...https://github.com/jashkenas/coffeescript/wiki/list-of-languages-that-compile-to-js
![Page 31: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/31.jpg)
SUPERSETS ARETHE NEW
FRAMEWORKS!
![Page 32: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/32.jpg)
BACKWARDCOMPATIBLE?
![Page 33: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/33.jpg)
MODERNWORKFLOW!
![Page 34: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/34.jpg)
TOOLS
![Page 35: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/35.jpg)
SIMPLE WORKFLOW
![Page 36: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/36.jpg)
PACKAGE.JSON
![Page 37: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/37.jpg)
PACKAGE.JSON
![Page 38: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/38.jpg)
PACKAGE.JSON
![Page 39: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/39.jpg)
.TRAVIS.YML
![Page 40: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/40.jpg)
EASY!RIGHT?
![Page 41: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/41.jpg)
GOTCHAS
![Page 42: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/42.jpg)
FINAL SPECCHANGED
ES7 !== ES2016
![Page 43: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/43.jpg)
COMPILED APIDIFFERS
FROM SOURCE(compiled == source && compiled !== source) === true
![Page 44: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/44.jpg)
PERFORMANCE LOSS+
NO OPTIMIZATION
![Page 45: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/45.jpg)
SUGARvs
CORE
![Page 46: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/46.jpg)
ABANDONWARETool Decay + Fragile Ecosystems
![Page 47: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/47.jpg)
TOOLING HEAVYSetup, Config, Environments, Virtualization, Resources
![Page 48: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/48.jpg)
IT GETS BETTER
![Page 49: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/49.jpg)
IT *IS* BETTER
![Page 50: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/50.jpg)
IT WILL BE EVENBETTER
![Page 51: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/51.jpg)
CONTRIBUTE AND MAKEIT BETTER!
github.com/tc39
![Page 52: Safely Build, Publish & Maintain ES2015, ES2016 Packages Today](https://reader031.fdocuments.us/reader031/viewer/2022022201/589e8f8a1a28ab443e8b6cd3/html5/thumbnails/52.jpg)
github.com/ahmadnassri/npm-package-generator
THANK YOU!@AhmadNassri
AhmadNassri.com
AhmadNassri.com/talks
TechMasters.chat NodeSchool.io/toronto FSTO.co