SlideShare a Scribd company logo
Tales Of An Open
Source Library
Adam Klein
CTO @ 500Tech
MAKE A POINT
https://angular2-tree.readme.io/
Tales of an open source library
Tales of an open source library
MVP
Customizable & Extendible
MVP
Customizable & Extendible
Listenable
MVP
Customizable & Extendible
Listenable
API
MVP
Customizable & Extendible
Listenable
API
Killer Feature - Keyboard Navigation
A year later…
222 stars
87 forks
187 github issues
80 support tickets
29 pull requests
Version 3.2.3
Async Data
Drag & Drop
Filter
Virtual Scroll
Integration tests
And more…
TIPS FOR THE OPEN
SOURCERER
LIBRARY
SystemJS
Webpack
UMD
Tree Shaking
AoT Typescript
http://blog.mgechev.com/2016/06/26/tree-shaking-angular2-
production-build-rollup-javascript/
Read This
import { TreeModule } from ‘angular-tree-component’
Typescript
• components
• tree.component.ts
• tree-node.component.ts
• models
• tree.model.ts
• components
• tree.component.js
• tree-node.component.js
• models
• tree.model.js
Typescript
• components
• tree.component.ts
• tree-node.component.ts
• models
• tree.model.ts
• components
• tree.component.js
• tree.component.d.ts
• tree-node.component.js
• tree-node.component.d.ts
• models
• tree.model.js
• tree.model.d.ts
Webpack
• components
• tree.component.ts
• tree-node.component.ts
• models
• tree.model.ts
• components
• tree.component.js
• tree.component.d.ts
• tree-node.component.js
• tree-node.component.d.ts
• models
• tree.model.js
• tree.model.d.ts
SystemJS
SystemJS
rollup
SystemJS
rollup
bundle vendors
SystemJS
rollup
bundle vendors
tree shaking
SystemJS
rollup
bundle vendors
tree shaking
UMD
SystemJS
• components
• tree.component.js
• tree.component.d.ts
• tree-node.component.js
• tree-node.component.d.ts
• models
• tree.model.js
• tree.model.d.ts
• angular-tree-component.umd.js
AoT
ngc
metadata.json
Tales of an open source library
Versioning
SemVer
MAKE A POINT
Versioning
SemVer
Backwards Compatibility & Deprecation
Versioning
SemVer
Backwards Compatibility & Deprecation
Doc versions
readme.io
Versioning
SemVer
Backwards Compatibility & Deprecation
Doc versions
Changelog
OH THE ISSUES….
SOME KIND WORDS
“I saw your project named angular2-tree-component
and got happy. I guess you are the first one who
developed a tree-view component with latest
angular2 version. Congratulations!”
“Hi Adam,
Thanks for the awesome tree menu. It's great
and easy to use.“
“Hey,
Nice work done on the tree component!”
CALL FOR
CONTRIBUTORS
slidehare.net/500tech
@adamklein500
Thank You

More Related Content

PDF
Mobx Internals
PDF
Using JHipster 4 for generating Angular/Spring Boot apps
PDF
Using JHipster for generating Angular/Spring Boot apps
PPTX
Testing a Service Fabric solution and live happy!!
PPTX
Angular 2.0: Getting ready
PPTX
Why I am hooked on the future of React
PDF
No more waiting for API - Android Stub Server
PDF
Introduction to Spring Boot!
Mobx Internals
Using JHipster 4 for generating Angular/Spring Boot apps
Using JHipster for generating Angular/Spring Boot apps
Testing a Service Fabric solution and live happy!!
Angular 2.0: Getting ready
Why I am hooked on the future of React
No more waiting for API - Android Stub Server
Introduction to Spring Boot!

What's hot (20)

PDF
Using JHipster for generating Angular/Spring Boot apps
PDF
Workflow as code with Azure Durable Functions
PDF
Orgchart for Alfresco lightning talk
PPTX
React native - React(ive) Way To Build Native Mobile Apps
PPTX
Cypress for Testing
PPT
Story ofcorespring infodeck
PPTX
Introduction to angular 2
PPTX
Cypress workshop for JSFoo 2019
PPTX
Introduction to cypress in Angular (Chinese)
PDF
Dynamic bpm design by doing lightning talk
PDF
Cypress - Best Practices
PPTX
Enhance existing REST APIs (e.g. Facebook Graph API) with code completion us...
PPTX
Cypress first impressions
PDF
Spring Boot Intro
PPTX
SharePoint Framework, Angular and Azure Functions
PDF
Getting Reactive with Spring Framework 5.0’s GA release
PDF
O365Con18 - SharePoint Framework for Administrators - Waldek Mastykarz
PDF
Building a Spring Boot Application - Ask the Audience! (from JVMCon 2018)
PPTX
How we built a job board in one week with JHipster
PPTX
End to end test automation with cypress
Using JHipster for generating Angular/Spring Boot apps
Workflow as code with Azure Durable Functions
Orgchart for Alfresco lightning talk
React native - React(ive) Way To Build Native Mobile Apps
Cypress for Testing
Story ofcorespring infodeck
Introduction to angular 2
Cypress workshop for JSFoo 2019
Introduction to cypress in Angular (Chinese)
Dynamic bpm design by doing lightning talk
Cypress - Best Practices
Enhance existing REST APIs (e.g. Facebook Graph API) with code completion us...
Cypress first impressions
Spring Boot Intro
SharePoint Framework, Angular and Azure Functions
Getting Reactive with Spring Framework 5.0’s GA release
O365Con18 - SharePoint Framework for Administrators - Waldek Mastykarz
Building a Spring Boot Application - Ask the Audience! (from JVMCon 2018)
How we built a job board in one week with JHipster
End to end test automation with cypress
Ad

Viewers also liked (18)

PPTX
Angular 4 - quick view
PPTX
Drupal Training Days 2017 - Drupal 8 basic functions.
PPTX
How to Achieve Good Nutrition slideshow
PDF
tmoviesnews
DOCX
Урок-віночок "Звичайні дроби"
DOCX
Projectcharter
PPTX
DOC
Звичайні дроби і дії з ними
PDF
Tales of an open source library
PDF
Angular. MobX. Happiness
PDF
React vs angular (mobile first battle)
PPTX
Desarrollo científico y tecnológico en colombia
PDF
Modello unità di apprendimento ub d fase 3
PDF
anguilla catamaran charters /anguilla boat charters
PDF
Political alert house of representatives daily program, monday 20 march 2017
PDF
Desenhos para pano de prato para imprimir
PDF
Political alert house of representatives daily program, tuesday 21 march 2017
PPTX
Junta del 4 bimestre
Angular 4 - quick view
Drupal Training Days 2017 - Drupal 8 basic functions.
How to Achieve Good Nutrition slideshow
tmoviesnews
Урок-віночок "Звичайні дроби"
Projectcharter
Звичайні дроби і дії з ними
Tales of an open source library
Angular. MobX. Happiness
React vs angular (mobile first battle)
Desarrollo científico y tecnológico en colombia
Modello unità di apprendimento ub d fase 3
anguilla catamaran charters /anguilla boat charters
Political alert house of representatives daily program, monday 20 march 2017
Desenhos para pano de prato para imprimir
Political alert house of representatives daily program, tuesday 21 march 2017
Junta del 4 bimestre
Ad

More from 500Tech (20)

PDF
State managment in a world of hooks
PDF
State managment in a world of hooks
PDF
React Under the Hook - DevDays Europe 2019
PDF
React Back to the Future
PDF
Hooks - why should you care today?
PDF
Migrating from angular to react
PDF
How to write bad code in redux (ReactNext 2018)
PDF
Opinionated Approach to Redux
PDF
Mobx - Performance and Sanity
PDF
Mobx Performance and Sanity
PDF
Mobx - performance and sanity
PDF
Angular2 a modern web platform
PDF
Render to DOM
PDF
Managing state in Angular 1.x with Redux
PDF
Higher-Order Components — Ilya Gelman
PDF
React vs angular
PDF
D3 svg & angular
PDF
ReactJS vs AngularJS - Head to Head comparison
PDF
Understanding Redux — Ilya Gelman
PDF
Js tests like a pro
State managment in a world of hooks
State managment in a world of hooks
React Under the Hook - DevDays Europe 2019
React Back to the Future
Hooks - why should you care today?
Migrating from angular to react
How to write bad code in redux (ReactNext 2018)
Opinionated Approach to Redux
Mobx - Performance and Sanity
Mobx Performance and Sanity
Mobx - performance and sanity
Angular2 a modern web platform
Render to DOM
Managing state in Angular 1.x with Redux
Higher-Order Components — Ilya Gelman
React vs angular
D3 svg & angular
ReactJS vs AngularJS - Head to Head comparison
Understanding Redux — Ilya Gelman
Js tests like a pro

Recently uploaded (20)

PDF
Getting Started with Data Integration: FME Form 101
PDF
August Patch Tuesday
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Web App vs Mobile App What Should You Build First.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
1. Introduction to Computer Programming.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Mushroom cultivation and it's methods.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
DP Operators-handbook-extract for the Mautical Institute
PPTX
A Presentation on Touch Screen Technology
Getting Started with Data Integration: FME Form 101
August Patch Tuesday
Agricultural_Statistics_at_a_Glance_2022_0.pdf
MIND Revenue Release Quarter 2 2025 Press Release
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Univ-Connecticut-ChatGPT-Presentaion.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Web App vs Mobile App What Should You Build First.pdf
Programs and apps: productivity, graphics, security and other tools
1 - Historical Antecedents, Social Consideration.pdf
1. Introduction to Computer Programming.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
A comparative study of natural language inference in Swahili using monolingua...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Mushroom cultivation and it's methods.pdf
A Presentation on Artificial Intelligence
DP Operators-handbook-extract for the Mautical Institute
A Presentation on Touch Screen Technology

Tales of an open source library