Template for making easy-to-work-with tempates
ts-template
Usage
- Copy this template
- Clone to a local directory (eg
git clone https://github.com/me/my-repository/ && cd my-repository
) - Run
yarn && yarn setup
to initialize the node package (Get rid of template strings - and this readme!) - Happy Coding!
Useful Scripts
-
yarn build
will build using typescript pre-configured to node-compatible defaults -
yarn docs
will auto-generate a README.md that starts with TOP.md, then adds CLI documentation (via commanderdoc) for any tool you have set up, and then library documentation after that. -
yarn test
is pre-configured to test for typescript errors -
yarn watch
will watch the codebase for changes and rebuild (using livelink)
Git code protections
-
git commit
will be blocked on themain
branch unless you set the environment variableALLOWMAIN=1
Branch commits and PRs are thus encouraged -
git commit
also tests messages for meeting the commitline standard conventions. -
git commit
blocks pushes that do not passyarn test
(as a base case, they must pass typescript compilation) -
npm publish
will always rebuild the code, the documentation, and push those changes back to the repository. -
npm publish
will only publish the lib and src directories - any others are no
A note on "main"
I made a deliberate choice to change the primary branch from master
to main
for reasons that are obvious to some. This repository endeavors to make that just automatic.
PRs and feedback welcome via GitHub issues.
usesegment - v1.0.0
usesegment - v1.0.0
Table of contents
Functions
Functions
Segment
▸ Segment(props
: { children?
: ReactNode ; id
: string }): Element
React Component to initialize analytics
Parameters:
Name | Type |
---|---|
props |
object |
props.children? |
ReactNode |
props.id |
string |
Returns: Element
Defined in: index.tsx:87
getAnalytics
▸ getAnalytics(): AnalyticsJS
Retrieve the analytics object. Note that it throws if it has not yet been installed
Returns: AnalyticsJS
analytics object
Defined in: index.tsx:19
install
▸ install(id
: string): void
Download and install analytics.js
Parameters:
Name | Type | Description |
---|---|---|
id |
string | Segment identifier from snippet |
Returns: void
Defined in: index.tsx:28
useSegment
▸ useSegment(): AnalyticsJS
Use Analytics in context of a compoent
Returns: AnalyticsJS
analytics object
Defined in: index.tsx:98