From 7d8e22941107b06c189106d5de4d68cdb1369c7d Mon Sep 17 00:00:00 2001 From: Jason Dreyzehner Date: Mon, 12 Mar 2018 01:06:26 -0400 Subject: [PATCH] Updates --- assets/js/search.js | 4 +- enums/placeholders.html | 217 ++ enums/runner.html | 203 ++ enums/testdirectories.html | 259 ++ globals.html | 2445 ++++++++--------- index.html | 1695 +++--------- interfaces/tasks.html | 303 ++ .../typescriptstarterinferredoptions.html | 258 ++ interfaces/typescriptstarteroptions.html | 401 +++ interfaces/typescriptstarteruseroptions.html | 314 +++ 10 files changed, 3596 insertions(+), 2503 deletions(-) create mode 100644 enums/placeholders.html create mode 100644 enums/runner.html create mode 100644 enums/testdirectories.html create mode 100644 interfaces/tasks.html create mode 100644 interfaces/typescriptstarterinferredoptions.html create mode 100644 interfaces/typescriptstarteroptions.html create mode 100644 interfaces/typescriptstarteruseroptions.html diff --git a/assets/js/search.js b/assets/js/search.js index 541183e..9d603f7 100644 --- a/assets/js/search.js +++ b/assets/js/search.js @@ -1,3 +1,3 @@ -var typedoc = typedoc || {}; +var typedoc = typedoc || {}; typedoc.search = typedoc.search || {}; - typedoc.search.data = {"kinds":{"64":"Function"},"rows":[{"id":0,"kind":64,"name":"asyncABC","url":"globals.html#asyncabc","classes":"tsd-kind-function"},{"id":1,"kind":64,"name":"sha256","url":"globals.html#sha256","classes":"tsd-kind-function"},{"id":2,"kind":64,"name":"double","url":"globals.html#double","classes":"tsd-kind-function"},{"id":3,"kind":64,"name":"power","url":"globals.html#power","classes":"tsd-kind-function"}]}; \ No newline at end of file + typedoc.search.data = {"kinds":{"4":"Enumeration","16":"Enumeration member","32":"Variable","64":"Function","256":"Interface","1024":"Property","65536":"Type literal","2097152":"Object literal"},"rows":[{"id":0,"kind":4,"name":"Runner","url":"enums/runner.html","classes":"tsd-kind-enum"},{"id":1,"kind":16,"name":"Npm","url":"enums/runner.html#npm","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Runner"},{"id":2,"kind":16,"name":"Yarn","url":"enums/runner.html#yarn","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Runner"},{"id":3,"kind":256,"name":"TypescriptStarterUserOptions","url":"interfaces/typescriptstarteruseroptions.html","classes":"tsd-kind-interface"},{"id":4,"kind":1024,"name":"description","url":"interfaces/typescriptstarteruseroptions.html#description","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TypescriptStarterUserOptions"},{"id":5,"kind":1024,"name":"domDefinitions","url":"interfaces/typescriptstarteruseroptions.html#domdefinitions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TypescriptStarterUserOptions"},{"id":6,"kind":1024,"name":"immutable","url":"interfaces/typescriptstarteruseroptions.html#immutable","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TypescriptStarterUserOptions"},{"id":7,"kind":1024,"name":"install","url":"interfaces/typescriptstarteruseroptions.html#install","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TypescriptStarterUserOptions"},{"id":8,"kind":1024,"name":"nodeDefinitions","url":"interfaces/typescriptstarteruseroptions.html#nodedefinitions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TypescriptStarterUserOptions"},{"id":9,"kind":1024,"name":"projectName","url":"interfaces/typescriptstarteruseroptions.html#projectname","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TypescriptStarterUserOptions"},{"id":10,"kind":1024,"name":"runner","url":"interfaces/typescriptstarteruseroptions.html#runner","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TypescriptStarterUserOptions"},{"id":11,"kind":1024,"name":"strict","url":"interfaces/typescriptstarteruseroptions.html#strict","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TypescriptStarterUserOptions"},{"id":12,"kind":1024,"name":"vscode","url":"interfaces/typescriptstarteruseroptions.html#vscode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TypescriptStarterUserOptions"},{"id":13,"kind":256,"name":"TypescriptStarterInferredOptions","url":"interfaces/typescriptstarterinferredoptions.html","classes":"tsd-kind-interface"},{"id":14,"kind":1024,"name":"githubUsername","url":"interfaces/typescriptstarterinferredoptions.html#githubusername","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TypescriptStarterInferredOptions"},{"id":15,"kind":1024,"name":"fullName","url":"interfaces/typescriptstarterinferredoptions.html#fullname","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TypescriptStarterInferredOptions"},{"id":16,"kind":1024,"name":"email","url":"interfaces/typescriptstarterinferredoptions.html#email","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TypescriptStarterInferredOptions"},{"id":17,"kind":1024,"name":"repoURL","url":"interfaces/typescriptstarterinferredoptions.html#repourl","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TypescriptStarterInferredOptions"},{"id":18,"kind":1024,"name":"workingDirectory","url":"interfaces/typescriptstarterinferredoptions.html#workingdirectory","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"TypescriptStarterInferredOptions"},{"id":19,"kind":256,"name":"TypescriptStarterOptions","url":"interfaces/typescriptstarteroptions.html","classes":"tsd-kind-interface"},{"id":20,"kind":1024,"name":"description","url":"interfaces/typescriptstarteroptions.html#description","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TypescriptStarterOptions"},{"id":21,"kind":1024,"name":"domDefinitions","url":"interfaces/typescriptstarteroptions.html#domdefinitions","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TypescriptStarterOptions"},{"id":22,"kind":1024,"name":"immutable","url":"interfaces/typescriptstarteroptions.html#immutable","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TypescriptStarterOptions"},{"id":23,"kind":1024,"name":"install","url":"interfaces/typescriptstarteroptions.html#install","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TypescriptStarterOptions"},{"id":24,"kind":1024,"name":"nodeDefinitions","url":"interfaces/typescriptstarteroptions.html#nodedefinitions","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TypescriptStarterOptions"},{"id":25,"kind":1024,"name":"projectName","url":"interfaces/typescriptstarteroptions.html#projectname","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TypescriptStarterOptions"},{"id":26,"kind":1024,"name":"runner","url":"interfaces/typescriptstarteroptions.html#runner","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TypescriptStarterOptions"},{"id":27,"kind":1024,"name":"strict","url":"interfaces/typescriptstarteroptions.html#strict","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TypescriptStarterOptions"},{"id":28,"kind":1024,"name":"vscode","url":"interfaces/typescriptstarteroptions.html#vscode","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TypescriptStarterOptions"},{"id":29,"kind":1024,"name":"githubUsername","url":"interfaces/typescriptstarteroptions.html#githubusername","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TypescriptStarterOptions"},{"id":30,"kind":1024,"name":"fullName","url":"interfaces/typescriptstarteroptions.html#fullname","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TypescriptStarterOptions"},{"id":31,"kind":1024,"name":"email","url":"interfaces/typescriptstarteroptions.html#email","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TypescriptStarterOptions"},{"id":32,"kind":1024,"name":"repoURL","url":"interfaces/typescriptstarteroptions.html#repourl","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TypescriptStarterOptions"},{"id":33,"kind":1024,"name":"workingDirectory","url":"interfaces/typescriptstarteroptions.html#workingdirectory","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"TypescriptStarterOptions"},{"id":34,"kind":64,"name":"validateName","url":"globals.html#validatename","classes":"tsd-kind-function"},{"id":35,"kind":64,"name":"getIntro","url":"globals.html#getintro","classes":"tsd-kind-function"},{"id":36,"kind":64,"name":"checkArgs","url":"globals.html#checkargs","classes":"tsd-kind-function"},{"id":37,"kind":64,"name":"inquire","url":"globals.html#inquire","classes":"tsd-kind-function"},{"id":38,"kind":4,"name":"Placeholders","url":"enums/placeholders.html","classes":"tsd-kind-enum"},{"id":39,"kind":16,"name":"email","url":"enums/placeholders.html#email","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Placeholders"},{"id":40,"kind":16,"name":"name","url":"enums/placeholders.html#name","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Placeholders"},{"id":41,"kind":16,"name":"username","url":"enums/placeholders.html#username","classes":"tsd-kind-enum-member tsd-parent-kind-enum","parent":"Placeholders"},{"id":42,"kind":256,"name":"Tasks","url":"interfaces/tasks.html","classes":"tsd-kind-interface"},{"id":43,"kind":1024,"name":"cloneRepo","url":"interfaces/tasks.html#clonerepo","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Tasks"},{"id":44,"kind":65536,"name":"__type","url":"interfaces/tasks.html#clonerepo.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property tsd-is-not-exported","parent":"Tasks.cloneRepo"},{"id":45,"kind":1024,"name":"initialCommit","url":"interfaces/tasks.html#initialcommit","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Tasks"},{"id":46,"kind":65536,"name":"__type","url":"interfaces/tasks.html#initialcommit.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-property tsd-is-not-exported","parent":"Tasks.initialCommit"},{"id":47,"kind":1024,"name":"install","url":"interfaces/tasks.html#install","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"Tasks"},{"id":48,"kind":65536,"name":"__type","url":"interfaces/tasks.html#install.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-property tsd-is-not-exported","parent":"Tasks.install"},{"id":49,"kind":32,"name":"inherit","url":"globals.html#inherit","classes":"tsd-kind-variable tsd-is-not-exported"},{"id":50,"kind":64,"name":"cloneRepo","url":"globals.html#clonerepo","classes":"tsd-kind-function"},{"id":51,"kind":64,"name":"getGithubUsername","url":"globals.html#getgithubusername","classes":"tsd-kind-function"},{"id":52,"kind":64,"name":"getUserInfo","url":"globals.html#getuserinfo","classes":"tsd-kind-function"},{"id":53,"kind":64,"name":"initialCommit","url":"globals.html#initialcommit","classes":"tsd-kind-function"},{"id":54,"kind":64,"name":"install","url":"globals.html#install","classes":"tsd-kind-function"},{"id":55,"kind":64,"name":"getRepoUrl","url":"globals.html#getrepourl","classes":"tsd-kind-function"},{"id":56,"kind":2097152,"name":"LiveTasks","url":"globals.html#livetasks","classes":"tsd-kind-object-literal"},{"id":57,"kind":32,"name":"cloneRepo","url":"globals.html#livetasks.clonerepo","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"LiveTasks"},{"id":58,"kind":32,"name":"initialCommit","url":"globals.html#livetasks.initialcommit","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"LiveTasks"},{"id":59,"kind":32,"name":"install","url":"globals.html#livetasks.install","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"LiveTasks"},{"id":60,"kind":64,"name":"getInferredOptions","url":"globals.html#getinferredoptions","classes":"tsd-kind-function"},{"id":61,"kind":64,"name":"typescriptStarter","url":"globals.html#typescriptstarter","classes":"tsd-kind-function"},{"id":62,"kind":64,"name":"readPackageJson","url":"globals.html#readpackagejson","classes":"tsd-kind-function tsd-is-not-exported"},{"id":63,"kind":64,"name":"writePackageJson","url":"globals.html#writepackagejson","classes":"tsd-kind-function tsd-is-not-exported"},{"id":64,"kind":4,"name":"TestDirectories","url":"enums/testdirectories.html","classes":"tsd-kind-enum tsd-is-not-exported"},{"id":65,"kind":16,"name":"one","url":"enums/testdirectories.html#one","classes":"tsd-kind-enum-member tsd-parent-kind-enum tsd-is-not-exported","parent":"TestDirectories"},{"id":66,"kind":16,"name":"two","url":"enums/testdirectories.html#two","classes":"tsd-kind-enum-member tsd-parent-kind-enum tsd-is-not-exported","parent":"TestDirectories"},{"id":67,"kind":16,"name":"three","url":"enums/testdirectories.html#three","classes":"tsd-kind-enum-member tsd-parent-kind-enum tsd-is-not-exported","parent":"TestDirectories"},{"id":68,"kind":16,"name":"four","url":"enums/testdirectories.html#four","classes":"tsd-kind-enum-member tsd-parent-kind-enum tsd-is-not-exported","parent":"TestDirectories"},{"id":69,"kind":16,"name":"five","url":"enums/testdirectories.html#five","classes":"tsd-kind-enum-member tsd-parent-kind-enum tsd-is-not-exported","parent":"TestDirectories"},{"id":70,"kind":16,"name":"six","url":"enums/testdirectories.html#six","classes":"tsd-kind-enum-member tsd-parent-kind-enum tsd-is-not-exported","parent":"TestDirectories"},{"id":71,"kind":32,"name":"repoURL","url":"globals.html#repourl","classes":"tsd-kind-variable tsd-is-not-exported"},{"id":72,"kind":32,"name":"buildDir","url":"globals.html#builddir","classes":"tsd-kind-variable tsd-is-not-exported"},{"id":73,"kind":64,"name":"hashAllTheThings","url":"globals.html#hashallthethings","classes":"tsd-kind-function tsd-is-not-exported"},{"id":74,"kind":32,"name":"down","url":"globals.html#down","classes":"tsd-kind-variable tsd-is-not-exported"},{"id":75,"kind":32,"name":"up","url":"globals.html#up","classes":"tsd-kind-variable tsd-is-not-exported"},{"id":76,"kind":32,"name":"enter","url":"globals.html#enter","classes":"tsd-kind-variable tsd-is-not-exported"},{"id":77,"kind":64,"name":"ms","url":"globals.html#ms","classes":"tsd-kind-function tsd-is-not-exported"},{"id":78,"kind":64,"name":"testInteractive","url":"globals.html#testinteractive","classes":"tsd-kind-function tsd-is-not-exported"},{"id":79,"kind":64,"name":"sandboxTasks","url":"globals.html#sandboxtasks","classes":"tsd-kind-function tsd-is-not-exported"},{"id":80,"kind":2097152,"name":"sandboxOptions","url":"globals.html#sandboxoptions","classes":"tsd-kind-object-literal tsd-is-not-exported"},{"id":81,"kind":32,"name":"description","url":"globals.html#sandboxoptions.description","classes":"tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported","parent":"sandboxOptions"},{"id":82,"kind":32,"name":"githubUsername","url":"globals.html#sandboxoptions.githubusername","classes":"tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported","parent":"sandboxOptions"},{"id":83,"kind":32,"name":"repoURL","url":"globals.html#sandboxoptions.repourl","classes":"tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported","parent":"sandboxOptions"},{"id":84,"kind":32,"name":"workingDirectory","url":"globals.html#sandboxoptions.workingdirectory","classes":"tsd-kind-variable tsd-parent-kind-object-literal tsd-is-not-exported","parent":"sandboxOptions"},{"id":85,"kind":64,"name":"silenceConsole","url":"globals.html#silenceconsole","classes":"tsd-kind-function tsd-is-not-exported"},{"id":86,"kind":64,"name":"passUpdateNotifier","url":"globals.html#passupdatenotifier","classes":"tsd-kind-function tsd-is-not-exported"},{"id":87,"kind":64,"name":"mockErr","url":"globals.html#mockerr","classes":"tsd-kind-function tsd-is-not-exported"},{"id":88,"kind":64,"name":"asyncABC","url":"globals.html#asyncabc","classes":"tsd-kind-function"},{"id":89,"kind":64,"name":"sha256","url":"globals.html#sha256","classes":"tsd-kind-function"},{"id":90,"kind":64,"name":"sha256Native","url":"globals.html#sha256native","classes":"tsd-kind-function"},{"id":91,"kind":64,"name":"double","url":"globals.html#double","classes":"tsd-kind-function"},{"id":92,"kind":64,"name":"power","url":"globals.html#power","classes":"tsd-kind-function"},{"id":93,"kind":64,"name":"hash","url":"globals.html#hash","classes":"tsd-kind-function tsd-is-not-exported"}]}; \ No newline at end of file diff --git a/enums/placeholders.html b/enums/placeholders.html new file mode 100644 index 0000000..218916c --- /dev/null +++ b/enums/placeholders.html @@ -0,0 +1,217 @@ + + + + + + Placeholders | typescript-starter + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration Placeholders

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

email

+
email: = "YOUR_EMAIL"
+ +
+
+ +

name

+
name: = "YOUR_NAME"
+ +
+
+ +

username

+
username: = "YOUR_GITHUB_USER_NAME"
+ +
+
+
+ +
+
+ +
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/enums/runner.html b/enums/runner.html new file mode 100644 index 0000000..356a603 --- /dev/null +++ b/enums/runner.html @@ -0,0 +1,203 @@ + + + + + + Runner | typescript-starter + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration Runner

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

Npm

+
Npm: = "npm"
+ +
+
+ +

Yarn

+
Yarn: = "yarn"
+ +
+
+
+ +
+
+ +
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/enums/testdirectories.html b/enums/testdirectories.html new file mode 100644 index 0000000..d257688 --- /dev/null +++ b/enums/testdirectories.html @@ -0,0 +1,259 @@ + + + + + + TestDirectories | typescript-starter + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

Enumeration TestDirectories

+
+
+
+
+
+
+
+

Index

+
+
+
+

Enumeration members

+ +
+
+
+
+
+

Enumeration members

+
+ +

five

+
five: = "test-5"
+ +
+
+ +

four

+
four: = "test-4"
+ +
+
+ +

one

+
one: = "test-1"
+ +
+
+ +

six

+
six: = "test-6"
+ +
+
+ +

three

+
three: = "test-3"
+ +
+
+ +

two

+
two: = "test-2"
+ +
+
+
+ +
+
+ +
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/globals.html b/globals.html index afbd614..6f028fc 100644 --- a/globals.html +++ b/globals.html @@ -1,885 +1,28 @@ - + - typescript-starter | typescript-starter + typescript-starter - +
-
- typescript-starter +
@@ -901,414 +44,1222 @@ img { max-width: 100%; }
- Menu + Menu
+
+
+ +

typescript-starter

+
+
-
-
-
-

Typescript Starter Darktypescript-starter

-

Build Status - Codecov - NPM version - Standard Version - dependencies Status - devDependencies Status

-

typescript-starter

-

A typescript starter for building javascript libraries and projects:

-
    -
  • Write standard, future javascript – with stable es7 features – today (stage 3 or finished features)
  • -
  • Optionally use typescript to improve tooling, linting, and documentation generation
  • -
  • Export as a javascript module, making your work fully tree-shakable for consumers using es6 imports (like Rollup or Webpack 2)
  • -
  • Export type declarations to improve your downstream development experience
  • -
  • Backwards compatibility for Node.js-style (CommonJS) imports
  • -
  • Both strict and flexible typescript configurations available
  • -
-

So we can have nice things:

-
    -
  • Generate API documentation (HTML or JSON) without a mess of JSDoc tags to maintain
  • -
  • Collocated, atomic, concurrent unit tests with AVA
  • -
  • Source-mapped code coverage reports with nyc
  • -
  • Configurable code coverage testing (for continuous integration)
  • -
-

Get started

-

Before you start, consider using an editor with good typescript support.

-

VS Code (below) is a popular option. Editors with typescript support can provide helpful autocomplete, inline documentation, and code refactoring features.

-

- Typescript Editor Support – vscode -

-

To see how this starter can be used as a dependency in other projects, check out the examples folder. The example above is from examples/node-typescript.

-

Development zen

-

This starter includes a watch task which makes development faster and more interactive. It's particularly helpful for TDD/BDD workflows.

-

To start working, install Yarn and run:

-
yarn watch
-

which will build and watch the entire project for changes (to both the library source files and test source files). As you develop, you can add tests for new functionality – which will initially fail – before developing the new functionality. Each time you save, any changes will be rebuilt and retested.

-

- Typescript and AVA watch task -

-

Since only changed files are rebuilt and retested, this workflow remains fast even for large projects.

- -

To make getting started easier, the default tsconfig.json is using the config/tsconfig.flexible configuration. This will allow you to get started without many warnings from Typescript.

-

To enable additional Typescript type checking features (a good idea for mission-critical or large projects), change the extends value in tsconfig.json to ./config/tsconfig.strict.

-

View test coverage

-

To generate and view test coverage, run:

-
yarn cov
-
-

This will create an HTML report of test coverage – source-mapped back to Typescript – and open it in your default browser.

-

- source-mapped typescript test coverage example -

-

Generate your API docs

-

The src folder is analyzed and documentation is automatically generated using typedoc.

-
yarn docs
-
-

This command generates API documentation for your library in HTML format and opens it in a browser.

-

Since types are tracked by Typescript, there's no need to indicate types in JSDoc format. For more information, see the typedoc documentation.

-

To generate and publish your documentation to GitHub Pages use the following command:

-
yarn docs:publish
-
-

Once published, your documentation should be available at the proper GitHub Pages URL for your repo. See this repo's GitHub Pages for an example.

-

- typedoc documentation example -

-

For more advanced documentation generation, you can provide your own typedoc theme, or build your own documentation using the JSON typedoc export:

-
yarn docs:json
-
-

Generate/update changelog & tag release

-

This project is tooled for Conventional Changelog to make managing releases easier. See the standard-version documentation for more information on the workflow, or CHANGELOG.md for an example.

-
# bump package.json version, update CHANGELOG.md, git tag the release
-yarn changelog
-
-

One-step publish preparation script

-

Bringing together many of the steps above, this repo includes a one-step release command.

-
# Standard release
-yarn release
-# Release without bumping package.json version
-yarn changelog -- --first-release
-# PGP sign the release
-yarn changelog -- --sign
-
-

This command runs:

-
    -
  • yarn reset: cleans the repo by removing all untracked files and resetting --hard to the latest commit. (Note: this could be destructive.)
  • -
  • yarn test: build and fully test the project
  • -
  • yarn docs:publish: generate and publish the latest version of the documentation to GitHub Pages
  • -
  • yarn changelog: bump package.json version, update CHANGELOG.md, and git tag the release
  • -
-

When the script finishes, it will log the final command needed to push the release commit to the repo and publish the package on the npm registry:

-
git push --follow-tags origin master; npm publish
-

Look over the release if you'd like, then execute the command to publish everything.

-

All package scripts

-

You can run the info script for information on each script intended to be individually run.

-
yarn run info
-
-  info:
-    Display information about the scripts
-  build:
-    (Trash and re)build the library
-  lint:
-    Lint all typescript source files
-  unit:
-    Build the library and run unit tests
-  test:
-    Lint, build, and test the library
-  watch:
-    Watch source files, rebuild library on changes, rerun relevant tests
-  cov:
-    Run tests, generate the HTML coverage report, and open it in a browser
-  docs:
-    Generate HTML API documentation and open it in a browser
-  docs:publish:
-    Generate HTML API documentation and push it to GitHub Pages
-  docs:json:
-    Generate API documentation in typedoc JSON format
-  release:
-    Bump package.json version, update CHANGELOG.md, tag a release
-  reset:
-    Delete all untracked files and reset the repo to the last commit
-  publish:
-    Reset, build, test, publish docs, and prepare release (a one-step publish process)
-

Notes

-

Multiple builds (main, module, and browser)

-

The src of typescript-starter is compiled into three separate builds: main, module, and browser. The main build is configured to use the CommonJS module system, while the module build uses the new ES6 module system. The browser build contains two bundles, an ES6 module (the preferred export) and a CommonJS bundle (primarily used for testing).

-

Because Node.js does not yet support the ES6 module system, Node.js projects which depend on typescript-starter will follow the main field in package.json. Tools which support the new system (like Rollup) will follow the module field, giving them the ability to statically analyze typescript-starter. When building for the browser, newer tools follow the browser field, which will resolve to the browser build's ES6 module.

-

Testing

-

By convention, tests in typescript-starter are co-located with the files they test. The project is configured to allow tests to be written in Typescript and your library to be imported as if it were being used by another project. (E.g. import { double, power } from 'typescript-starter'.) This makes tests both intuitive to write and easy to read as another form of documentation.

-

Note, tests are compiled and performed on the final builds in the standard Node.js runtime (rather than an alternative like ts-node) to ensure tests pass in that environment. If you are using ts-node in production, you can modify this project to skip test compilation.

-

Browser libraries

-

While both the browser and the Node.js versions of the library are tested, this starter currently does not run the browser tests in a real browser (AVA is currently Node-only). While the current testing system will be sufficient for most use cases, some projects will (also) need to implement a browser-based testing system like karma-ava. (Pull requests welcome!)

-

Note: test coverage is only checked against the Node.js implementation. This is much simpler, and works well for libraries where the node and browser implementations have different dependencies and only minor adapter code. With only a few lines of differences (e.g. src/adapters/crypto.browser.ts), including those few lines in test coverage analysis usually isn't necessary.

-

Building browser dependencies

-

This starter demonstrates importing and using a CommonJS module (hash.js) for it's hash256 method when built for the browser. See the build:browser-deps package script and rollup.config.js for more details. Of course, your project likely does not need this dependency, so it can be removed. If your library doesn't need to bundle external dependencies for the browser, several other devDependencies can also be removed (browserify, rollup-plugin-alias, rollup-plugin-commonjs, rollup-plugin-node-resolve, etc).

-

Dependency on tslib

-

By default, this project requires tslib as a dependency. This is the recommended way to use Typescript's es6 & es7 transpiling for sizable projects, but you can remove this dependency by removing the importHelpers compiler option in tsconfig.json. Depending on your usage, this may increase the size of your library significantly, as the Typescript compiler will inject it's helper functions directly into every file which uses them. (See also: noEmitHelpers)

-

Targeting older environments

-

By default, this library targets environments with native (or already-polyfilled) support for es6 features. If your library needs to target Internet Explorer, outdated Android browsers, or versions of Node older than v4, you may need to change the target in tsconfig.json to es5 (rather than es6) and bring in a Promise polyfill (such as es6-promise).

-

It's a good idea to maintain 100% unit test coverage, and always test in the environments you target.

-
-
-

Index

-
-
-
-

Functions

- -
-
-
-
-
-

Functions

-
- -

asyncABC

-
    -
  • asyncABC(): Promise<string[]>
  • -
-
    -
  • - -
    -
    -

    A sample async function (to demo Typescript's es7 async/await downleveling).

    -
    -

    Example (es imports)

    -
    import { asyncABC } from 'typescript-starter'
    +						
+
+

Interfaces

+ +
+
+

Variables

+ +
+
+

Functions

+ +
+
+

Object literals

+ +
+
+ + +
+

Variables

+
+ +

Const buildDir

+
buildDir: string = join(process.cwd(), 'build')
+ +
+
+ +

Const down

+
down: "" = ""
+ +
+
+ +

Const enter

+
enter: " + " = " + "
+ +
+
+ +

Const inherit

+
inherit: undefined | null | number | "pipe" | "ipc" | "ignore" | Stream = 'inherit' as StdIOOption
+ +
+
+ +

Const repoURL

+
repoURL: string = process.cwd()
+ +
+
+

NOTE: many of the tests below validate file modification. The filesystem is + not mocked, and these tests make real changes. Proceed with caution.

+
+

Filesystem changes made by these tests should be contained in the build + directory for easier clean up.

+
+
+
+ +

Const up

+
up: "" = ""
+ +
+
+
+

Functions

+
+ +

asyncABC

+
    +
  • asyncABC(): Promise<ReadonlyArray<string>>
  • +
+
    +
  • + +
    +
    +

    A sample async function (to demo Typescript's es7 async/await downleveling).

    +
    +

    Example (es imports)

    +
    import { asyncABC } from 'typescript-starter'
     console.log(await asyncABC())
     // => ['a','b','c']
     
    -

    Example (commonjs)

    -
    var double = require('typescript-starter').asyncABC;
    +								

    Example (commonjs)

    +
    var double = require('typescript-starter').asyncABC;
     asyncABC().then(console.log);
     // => ['a','b','c']
     
    -
    -

    Returns Promise<string[]>

    -

    a Promise which should contain ['a','b','c']

    -
  • -
-
-
- -

double

-
    -
  • double(value: number): number
  • -
-
    -
  • - -
    -
    -

    Multiplies a value by 2. (Also a full example of Typedoc's functionality.)

    -

    Example (es module)

    -
    import { double } from 'typescript-starter'
    -console.log(double(4))
    -// => 8
    -
    -

    Example (commonjs)

    -
    var double = require('typescript-starter').double;
    -console.log(double(4))
    -// => 8
    -
    -
    -
    anothernote
    -

    Some other value.

    -
    -
    -
    -

    Parameters

    -
      -
    • -
      value: number
      -
      -

      Comment describing the value parameter.

      +

      Returns Promise<ReadonlyArray<string>>

      +

      a Promise which should contain ['a','b','c']

      +
    • +
    +
+
+ +

checkArgs

+ + +
+
+ +

Const cloneRepo

+
    +
  • cloneRepo(spawner: ExecaStatic, suppressOutput?: boolean): (Anonymous function)
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      spawner: ExecaStatic
      +
    • +
    • +
      Default value suppressOutput: boolean = false
      +
    • +
    +

    Returns (Anonymous function)

    +
  • +
+
+
+ +

double

+
    +
  • double(value: number): number
  • +
+
    +
  • + +
    +
    +

    Multiplies a value by 2. (Also a full example of Typedoc's functionality.)

    -
  • -
-

Returns number

-

Comment describing the return type.

- - -
-
- -

power

-
    -
  • power(base: number, exponent: number): number
  • -
-
    -
  • - -
    -
    -

    Raise the value of the first parameter to the power of the second using the es7 ** operator.

    +

    Example (es module)

    +
    import { double } from 'typescript-starter'
    +console.log(double(4))
    +// => 8
    +
    +

    Example (commonjs)

    +
    var double = require('typescript-starter').double;
    +console.log(double(4))
    +// => 8
    +
    +
    +
    anothernote
    +

    Some other value.

    +
    +
    -

    Example (es module)

    -
    import { power } from 'typescript-starter'
    +							

    Parameters

    +
      +
    • +
      value: number
      +
      +

      Comment describing the value parameter.

      +
      +
    • +
    +

    Returns number

    +

    Comment describing the return type.

    +
  • +
+
+
+ +

Const getGithubUsername

+
    +
  • getGithubUsername(fetcher: any): (Anonymous function)
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      fetcher: any
      +
    • +
    +

    Returns (Anonymous function)

    +
  • +
+
+
+ +

Const getInferredOptions

+ + +
+
+ +

getIntro

+
    +
  • getIntro(columns: number | undefined): string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      columns: number | undefined
      +
    • +
    +

    Returns string

    +
  • +
+
+
+ +

Const getRepoUrl

+
    +
  • getRepoUrl(): string
  • +
+ +
+
+ +

Const getUserInfo

+
    +
  • getUserInfo(spawner: ExecaStatic): (Anonymous function)
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      spawner: ExecaStatic
      +
    • +
    +

    Returns (Anonymous function)

    +
  • +
+
+
+ +

Const hash

+
    +
  • hash(t: ExecutionContext<__type>, input: string, expected: string): void
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      t: ExecutionContext<__type>
      +
    • +
    • +
      input: string
      +
    • +
    • +
      expected: string
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

hashAllTheThings

+
    +
  • hashAllTheThings(projectName: string, sandboxed?: boolean): Promise<object>
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      projectName: string
      +
    • +
    • +
      Default value sandboxed: boolean = false
      +
    • +
    +

    Returns Promise<object>

    +
  • +
+
+
+ +

Const initialCommit

+
    +
  • initialCommit(spawner: ExecaStatic): (Anonymous function)
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      spawner: ExecaStatic
      +
    • +
    +

    Returns (Anonymous function)

    +
  • +
+
+
+ +

inquire

+ + +
+
+ +

Const install

+
    +
  • install(spawner: ExecaStatic): (Anonymous function)
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      spawner: ExecaStatic
      +
    • +
    +

    Returns (Anonymous function)

    +
  • +
+
+
+ +

Const mockErr

+
    +
  • mockErr(code?: string | number): ExecaStatic
  • +
+ +
+
+ +

Const ms

+
    +
  • ms(milliseconds: number): Promise<void>
  • +
+ +
+
+ +

Const passUpdateNotifier

+
    +
  • passUpdateNotifier(version: string): void
  • +
+ +
+
+ +

power

+
    +
  • power(base: number, exponent: number): number
  • +
+
    +
  • + +
    +
    +

    Raise the value of the first parameter to the power of the second using the es7 ** operator.

    +
    +

    Example (es module)

    +
    import { power } from 'typescript-starter'
     console.log(power(2,3))
     // => 8
     
    -

    Example (commonjs)

    -
    var power = require('typescript-starter').power;
    +								

    Example (commonjs)

    +
    var power = require('typescript-starter').power;
     console.log(power(2,3))
     // => 8
     
    -
    -

    Parameters

    -
      -
    • -
      base: number
      -
    • -
    • -
      exponent: number
      -
    • -
    -

    Returns number

    -
  • -
-
-
- -

sha256

-
    -
  • sha256(message: string): string
  • -
-
    -
  • - -
    -
    -

    Calculate the sha256 digest of a string. On Node.js, this will use the native module, in the browser, it will fall back to a pure javascript implementation.

    -

    Example (es imports)

    -
    import { sha256 } from 'typescript-starter'
    +							

    Parameters

    +
      +
    • +
      base: number
      +
    • +
    • +
      exponent: number
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

Const readPackageJson

+
    +
  • readPackageJson(path: string): any
  • +
+ +
+
+ +

Const sandboxTasks

+
    +
  • sandboxTasks(t: ExecutionContext<__type>, commit: boolean, install: boolean): Tasks
  • +
+ +
+
+ +

sha256

+
    +
  • sha256(message: string): string
  • +
+
    +
  • + +
    +
    +

    Calculate the sha256 digest of a string.

    +
    +

    Example (es imports)

    +
    import { sha256 } from 'typescript-starter'
     sha256('test')
     // => '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08'
     
    -
    -

    Parameters

    -
      -
    • -
      message: string
      -
    • +
+

Parameters

+
    +
  • +
    message: string
    +
  • +
+

Returns string

+

sha256 message digest

+ + + +
+ +

sha256Native

+
    +
  • sha256Native(message: string): string
  • +
+
    +
  • + +
    +
    +

    A faster implementation of sha256 which requires the native Node.js module. Browser consumers should use sha256, instead.

    +
    +

    Example (es imports)

    +
    import { sha256Native as sha256 } from 'typescript-starter'
    +sha256('test')
    +// => '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08'
    +
    +
    +

    Parameters

    +
      +
    • +
      message: string
      +
    • +
    +

    Returns string

    +

    sha256 message digest

    +
  • +
+
+
+ +

Const silenceConsole

+
    +
  • silenceConsole(console: any): void
  • +
+ +
+
+ +

testInteractive

+
    +
  • testInteractive(t: ExecutionContext<__type>, projectName: string, entry: ReadonlyArray<string | ReadonlyArray<string>>): Promise<ExecaReturns>
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      t: ExecutionContext<__type>
      +
    • +
    • +
      projectName: string
      +
    • +
    • +
      entry: ReadonlyArray<string | ReadonlyArray<string>>
      +
    • +
    +

    Returns Promise<ExecaReturns>

    +
  • +
+
+
+ +

typescriptStarter

+
    +
  • typescriptStarter(__namedParameters: object, tasks: Tasks): Promise<void>
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      __namedParameters: object
      +
        +
      • +
        description: string
        +
      • +
      • +
        domDefinitions: boolean
        +
      • +
      • +
        email: string
        +
      • +
      • +
        fullName: string
        +
      • +
      • +
        githubUsername: string
        +
      • +
      • +
        immutable: boolean
        +
      • +
      • +
        install: boolean
        +
      • +
      • +
        nodeDefinitions: boolean
        +
      • +
      • +
        projectName: string
        +
      • +
      • +
        repoURL: string
        +
      • +
      • +
        runner: Runner
        +
      • +
      • +
        strict: boolean
        +
      • +
      • +
        vscode: boolean
        +
      • +
      • +
        workingDirectory: string
        +
      • +
      +
    • +
    • +
      tasks: Tasks
      +
    • +
    +

    Returns Promise<void>

    +
  • +
+
+
+ +

validateName

+
    +
  • validateName(input: string): true | string
  • +
+
    +
  • + +

    Parameters

    +
      +
    • +
      input: string
      +
    • +
    +

    Returns true + | + string +

    +
  • +
+
+
+ +

Const writePackageJson

+
    +
  • writePackageJson(path: string, pkg: any): void
  • +
+ +
+ +
+

Object literals

+
+ +

Const LiveTasks

+
LiveTasks: object
+ +
+ +

cloneRepo

+
cloneRepo: (Anonymous function) = cloneRepo(execa)
+ +
+
+ +

initialCommit

+
initialCommit: (Anonymous function) = initialCommit(execa)
+ +
+
+ +

install

+
install: (Anonymous function) = install(execa)
+ +
+
+
+ +

Const sandboxOptions

+
sandboxOptions: object
+ +
+ +

description

+
description: string = "this is an example description"
+ +
+
+ +

githubUsername

+
githubUsername: string = "SOME_GITHUB_USERNAME"
+ +
+
+ +

repoURL

+
repoURL: string
+ +
+
+ +

workingDirectory

+
workingDirectory: string = buildDir
+ +
+
+
+ + - +
+
+

Legend

+
+
    +
  • Module
  • +
  • Object literal
  • +
  • Variable
  • +
  • Function
  • +
  • Function with type parameter
  • +
  • Index signature
  • +
  • Type alias
  • +
+
    +
  • Enumeration
  • +
  • Enumeration member
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Index signature
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
  • Index signature
  • +
+
    +
  • Inherited constructor
  • +
  • Inherited property
  • +
  • Inherited method
  • +
  • Inherited accessor
  • +
+
    +
  • Protected property
  • +
  • Protected method
  • +
  • Protected accessor
  • +
+
    +
  • Private property
  • +
  • Private method
  • +
  • Private accessor
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + \ No newline at end of file diff --git a/index.html b/index.html index c808ee2..8d666d8 100644 --- a/index.html +++ b/index.html @@ -1,885 +1,28 @@ - + - typescript-starter | typescript-starter + typescript-starter - +
-
- typescript-starter +
@@ -901,415 +44,459 @@ img { max-width: 100%; }
- Menu + Menu
+
+
+ +

typescript-starter

+
+
-
-
-
-

Typescript Starter Darktypescript-starter

-

Build Status - Codecov - NPM version - Standard Version - dependencies Status - devDependencies Status

-

typescript-starter

-

A typescript starter for building javascript libraries and projects:

-
    -
  • Write standard, future javascript – with stable es7 features – today (stage 3 or finished features)
  • -
  • Optionally use typescript to improve tooling, linting, and documentation generation
  • -
  • Export as a javascript module, making your work fully tree-shakable for consumers using es6 imports (like Rollup or Webpack 2)
  • -
  • Export type declarations to improve your downstream development experience
  • -
  • Backwards compatibility for Node.js-style (CommonJS) imports
  • -
  • Both strict and flexible typescript configurations available
  • -
-

So we can have nice things:

-
    -
  • Generate API documentation (HTML or JSON) without a mess of JSDoc tags to maintain
  • -
  • Collocated, atomic, concurrent unit tests with AVA
  • -
  • Source-mapped code coverage reports with nyc
  • -
  • Configurable code coverage testing (for continuous integration)
  • -
-

Get started

-

Before you start, consider using an editor with good typescript support.

-

VS Code (below) is a popular option. Editors with typescript support can provide helpful autocomplete, inline documentation, and code refactoring features.

-

- Typescript Editor Support – vscode -

-

To see how this starter can be used as a dependency in other projects, check out the examples folder. The example above is from examples/node-typescript.

-

Development zen

-

This starter includes a watch task which makes development faster and more interactive. It's particularly helpful for TDD/BDD workflows.

-

To start working, install Yarn and run:

-
yarn watch
-

which will build and watch the entire project for changes (to both the library source files and test source files). As you develop, you can add tests for new functionality – which will initially fail – before developing the new functionality. Each time you save, any changes will be rebuilt and retested.

-

- Typescript and AVA watch task -

-

Since only changed files are rebuilt and retested, this workflow remains fast even for large projects.

- -

To make getting started easier, the default tsconfig.json is using the config/tsconfig.flexible configuration. This will allow you to get started without many warnings from Typescript.

-

To enable additional Typescript type checking features (a good idea for mission-critical or large projects), change the extends value in tsconfig.json to ./config/tsconfig.strict.

-

View test coverage

-

To generate and view test coverage, run:

-
yarn cov
+	
+
+
+

Typescript Starter Darktypescript-starter

+

NPM version + Build Status + Codecov + Standard Version + GitHub stars

+

typescript-starter

+

A clean, simple typescript starter for building javascript libraries and Node.js applications.

+

+ demo of the typescript-starter command-line interface +

+

Start Now

+

Run one simple command to install and use the interactive project generator. You'll need Node v8.9 (the current LTS release) or later.

+
npx typescript-starter
 
-

This will create an HTML report of test coverage – source-mapped back to Typescript – and open it in your default browser.

-

- source-mapped typescript test coverage example -

-

Generate your API docs

-

The src folder is analyzed and documentation is automatically generated using typedoc.

-
yarn docs
+				

The interactive CLI will help you create and configure your project automatically.

+
+

Since this repo includes the CLI and it's tests, you'll only need to fork or clone this project if you want to contribute. If you find this project useful, please consider leaving a star so others can find it. Thanks!

+
+

Features

+ +

So we can have nice things:

+
    +
  • Generate API documentation (HTML or JSON) without a mess of JSDoc tags to maintain
  • +
  • Collocated, atomic, concurrent unit tests with AVA
  • +
  • Source-mapped code coverage reports with nyc
  • +
  • Configurable code coverage testing (for continuous integration)
  • +
  • Automatic linting and formatting using TSLint and Prettier
  • +
  • Automatically check for known vulnerabilities in your dependencies with nsp
  • +
+

But first, a good editor

+

Before you start, consider using an editor with good typescript support.

+

VS Code (below) is a popular option. Editors with typescript support can provide helpful autocomplete, inline documentation, and code refactoring features.

+

Also consider installing editor extensions for TSLint and Prettier. These extensions automatically format your code each time you save, and may quickly become invaluable.

+

+ Typescript Editor Support – vscode +

+

Developing with typescript-starter

+

Development zen

+

To start working, run the watch task using npm or yarn.

+
npm run watch
 
-

This command generates API documentation for your library in HTML format and opens it in a browser.

-

Since types are tracked by Typescript, there's no need to indicate types in JSDoc format. For more information, see the typedoc documentation.

-

To generate and publish your documentation to GitHub Pages use the following command:

-
yarn docs:publish
+				

This starter includes a watch task which makes development faster and more interactive. It's particularly helpful for TDD/BDD workflows.

+

The watch task will build and watch the entire project for changes (to both the library source files and test source files). As you develop, you can add tests for new functionality – which will initially fail – before developing the new functionality. Each time you save, any changes will be rebuilt and retested.

+

+ demo of typescript-starter's watch task +

+

Since only changed files are rebuilt and retested, this workflow remains fast even for large projects.

+ +

To make getting started easier, the default tsconfig.json is using a very flexible configuration. This will allow you to get started without many warnings from Typescript.

+

To enable additional Typescript type checking features (a good idea for mission-critical or large projects), review the commented-out lines in your typescript compiler options.

+

View test coverage

+

To generate and view test coverage, run:

+
npm run cov
 
-

Once published, your documentation should be available at the proper GitHub Pages URL for your repo. See this repo's GitHub Pages for an example.

-

- typedoc documentation example -

-

For more advanced documentation generation, you can provide your own typedoc theme, or build your own documentation using the JSON typedoc export:

-
yarn docs:json
+				

This will create an HTML report of test coverage – source-mapped back to Typescript – and open it in your default browser.

+

+ source-mapped typescript test coverage example +

+

Generate your API docs

+

The src folder is analyzed and documentation is automatically generated using TypeDoc.

+
npm run docs
 
-

Generate/update changelog & tag release

-

This project is tooled for Conventional Changelog to make managing releases easier. See the standard-version documentation for more information on the workflow, or CHANGELOG.md for an example.

-
# bump package.json version, update CHANGELOG.md, git tag the release
-yarn changelog
+				

This command generates API documentation for your library in HTML format and opens it in a browser.

+

Since types are tracked by Typescript, there's no need to indicate types in JSDoc format. For more information, see the TypeDoc documentation.

+

To generate and publish your documentation to GitHub Pages use the following command:

+
npm run docs:publish
 
-

One-step publish preparation script

-

Bringing together many of the steps above, this repo includes a one-step release command.

-
# Standard release
-yarn release
-# Release without bumping package.json version
-yarn changelog -- --first-release
-# PGP sign the release
-yarn changelog -- --sign
+				

Once published, your documentation should be available at the proper GitHub Pages URL for your repo. See typescript-starter's GitHub Pages for an example.

+

+ TypeDoc documentation example +

+

For more advanced documentation generation, you can provide your own TypeDoc theme, or build your own documentation using the JSON TypeDoc export:

+
npm run docs:json
 
-

This command runs:

-
    -
  • yarn reset: cleans the repo by removing all untracked files and resetting --hard to the latest commit. (Note: this could be destructive.)
  • -
  • yarn test: build and fully test the project
  • -
  • yarn docs:publish: generate and publish the latest version of the documentation to GitHub Pages
  • -
  • yarn changelog: bump package.json version, update CHANGELOG.md, and git tag the release
  • -
-

When the script finishes, it will log the final command needed to push the release commit to the repo and publish the package on the npm registry:

-
git push --follow-tags origin master; npm publish
-

Look over the release if you'd like, then execute the command to publish everything.

-

All package scripts

-

You can run the info script for information on each script intended to be individually run.

-
yarn run info
+				

Update the changelog, commit, & tag release

+

It's recommended that you install commitizen to make commits to your project.

+
npm install -g commitizen
 
-  info:
-    Display information about the scripts
-  build:
-    (Trash and re)build the library
-  lint:
-    Lint all typescript source files
-  unit:
-    Build the library and run unit tests
-  test:
-    Lint, build, and test the library
-  watch:
-    Watch source files, rebuild library on changes, rerun relevant tests
-  cov:
-    Run tests, generate the HTML coverage report, and open it in a browser
-  docs:
-    Generate HTML API documentation and open it in a browser
-  docs:publish:
-    Generate HTML API documentation and push it to GitHub Pages
-  docs:json:
-    Generate API documentation in typedoc JSON format
-  release:
-    Bump package.json version, update CHANGELOG.md, tag a release
-  reset:
-    Delete all untracked files and reset the repo to the last commit
-  publish:
-    Reset, build, test, publish docs, and prepare release (a one-step publish process)
-

Notes

-

Multiple builds (main, module, and browser)

-

The src of typescript-starter is compiled into three separate builds: main, module, and browser. The main build is configured to use the CommonJS module system, while the module build uses the new ES6 module system. The browser build contains two bundles, an ES6 module (the preferred export) and a CommonJS bundle (primarily used for testing).

-

Because Node.js does not yet support the ES6 module system, Node.js projects which depend on typescript-starter will follow the main field in package.json. Tools which support the new system (like Rollup) will follow the module field, giving them the ability to statically analyze typescript-starter. When building for the browser, newer tools follow the browser field, which will resolve to the browser build's ES6 module.

-

Testing

-

By convention, tests in typescript-starter are co-located with the files they test. The project is configured to allow tests to be written in Typescript and your library to be imported as if it were being used by another project. (E.g. import { double, power } from 'typescript-starter'.) This makes tests both intuitive to write and easy to read as another form of documentation.

-

Note, tests are compiled and performed on the final builds in the standard Node.js runtime (rather than an alternative like ts-node) to ensure tests pass in that environment. If you are using ts-node in production, you can modify this project to skip test compilation.

-

Browser libraries

-

While both the browser and the Node.js versions of the library are tested, this starter currently does not run the browser tests in a real browser (AVA is currently Node-only). While the current testing system will be sufficient for most use cases, some projects will (also) need to implement a browser-based testing system like karma-ava. (Pull requests welcome!)

-

Note: test coverage is only checked against the Node.js implementation. This is much simpler, and works well for libraries where the node and browser implementations have different dependencies and only minor adapter code. With only a few lines of differences (e.g. src/adapters/crypto.browser.ts), including those few lines in test coverage analysis usually isn't necessary.

-

Building browser dependencies

-

This starter demonstrates importing and using a CommonJS module (hash.js) for it's hash256 method when built for the browser. See the build:browser-deps package script and rollup.config.js for more details. Of course, your project likely does not need this dependency, so it can be removed. If your library doesn't need to bundle external dependencies for the browser, several other devDependencies can also be removed (browserify, rollup-plugin-alias, rollup-plugin-commonjs, rollup-plugin-node-resolve, etc).

-

Dependency on tslib

-

By default, this project requires tslib as a dependency. This is the recommended way to use Typescript's es6 & es7 transpiling for sizable projects, but you can remove this dependency by removing the importHelpers compiler option in tsconfig.json. Depending on your usage, this may increase the size of your library significantly, as the Typescript compiler will inject it's helper functions directly into every file which uses them. (See also: noEmitHelpers)

-

Targeting older environments

-

By default, this library targets environments with native (or already-polyfilled) support for es6 features. If your library needs to target Internet Explorer, outdated Android browsers, or versions of Node older than v4, you may need to change the target in tsconfig.json to es5 (rather than es6) and bring in a Promise polyfill (such as es6-promise).

-

It's a good idea to maintain 100% unit test coverage, and always test in the environments you target.

-
-
-
-

Index

-
-
-
-

Functions

- -
-
-
-
-
-

Functions

-
- -

asyncABC

-
    -
  • asyncABC(): Promise<string[]>
  • -
-
    -
  • - -
    -
    -

    A sample async function (to demo Typescript's es7 async/await downleveling).

    -
    -

    Example (es imports)

    -
    import { asyncABC } from 'typescript-starter'
    -console.log(await asyncABC())
    -// => ['a','b','c']
    +# commit your changes:
    +git cz
     
    -

    Example (commonjs)

    -
    var double = require('typescript-starter').asyncABC;
    -asyncABC().then(console.log);
    -// => ['a','b','c']
    +				

    This project is tooled for conventional changelog to make managing releases easier. See the standard-version documentation for more information on the workflow, or CHANGELOG.md for an example.

    +
    # bump package.json version, update CHANGELOG.md, git tag the release
    +npm run changelog
     
    -
    -

    Returns Promise<string[]>

    -

    a Promise which should contain ['a','b','c']

    -
  • -
-
-
- -

double

-
    -
  • double(value: number): number
  • -
-
    -
  • - -
    -
    -

    Multiplies a value by 2. (Also a full example of Typedoc's functionality.)

    -
    -

    Example (es module)

    -
    import { double } from 'typescript-starter'
    -console.log(double(4))
    -// => 8
    +				

    One-step publish preparation script

    +

    Bringing together many of the steps above, this repo includes a one-step release preparation command.

    +
    # Prepare a standard release:
    +npm run prepare-release
     
    -

    Example (commonjs)

    -
    var double = require('typescript-starter').double;
    -console.log(double(4))
    -// => 8
    +				

    You can also prepare a non-standard release:

    +
    # Or a non-standard release:
    +
    +# Build everything
    +npm run all
    +
    +# Then version it
    +npm run version -- --first-release # don't bump package.json version
    +npm run version -- --sign # PGP sign it
    +npm run version -- --prerelease alpha # alpha release
    +
    +# And don't forget to push the docs to GitHub pages:
    +npm run docs:publish
     
    -
    -
    anothernote
    -

    Some other value.

    -
    -
    -
    -

    Parameters

    -
      -
    • -
      value: number
      -
      -

      Comment describing the value parameter.

      -
      -
    • -
    -

    Returns number

    -

    Comment describing the return type.

    -
  • +

    This command runs the following tasks:

    +
      +
    • reset: cleans the repo by removing all untracked files and resetting --hard to the latest commit. (Note: this could be destructive.)
    • +
    • test: build and fully test the project
    • +
    • docs:html: generate the latest version of the documentation
    • +
    • docs:publish: publish the documentation to GitHub Pages
    • +
    • changelog: bump package.json version, update CHANGELOG.md, and git tag the release
    -
-
- -

power

-
    -
  • power(base: number, exponent: number): number
  • -
-
    -
  • - -
    -
    -

    Raise the value of the first parameter to the power of the second using the es7 ** operator.

    -
    -

    Example (es module)

    -
    import { power } from 'typescript-starter'
    -console.log(power(2,3))
    -// => 8
    +				

    When the script finishes, it will log the final command needed to push the release commit to the repo and publish the package on the npm registry:

    +
    git push --follow-tags origin master; npm publish
     
    -

    Example (commonjs)

    -
    var power = require('typescript-starter').power;
    -console.log(power(2,3))
    -// => 8
    +				

    Look over the release if you'd like, then execute the command to publish everything.

    +

    Get scripts info

    +

    You can run the info script for information on each script intended to be individually run.

    +
    npm run info
    +
    +> npm-scripts-info
    +
    +info:
    +  Display information about the package scripts
    +build:
    +  Clean and rebuild the project
    +fix:
    +  Try to automatically fix any linting problems
    +test:
    +  Lint and unit test the project
    +watch:
    +  Watch and rebuild the project on save, then rerun relevant tests
    +cov:
    +  Rebuild, run tests, then create and open the coverage report
    +doc:
    +  Generate HTML API documentation and open it in a browser
    +doc:json:
    +  Generate API documentation in typedoc JSON format
    +changelog:
    +  Bump package.json version, update CHANGELOG.md, tag release
    +reset:
    +  Delete all untracked files and reset the repo to the last commit
    +release:
    +  One-step: clean, build, test, publish docs, and prep a release
    +

    FAQs

    +

    Why are there two builds? (main and module)

    +

    The src of typescript-starter is compiled into two separate builds: main and module. The main build is configured to use the CommonJS module system. The module build uses the new es6 module system.

    +

    Because Node.js LTS releases do not yet support the es6 module system, some projects which depend on your project will follow the main field in package.json. Tools which support the new system (like Rollup, Webpack, or Parcel) will follow the module field, giving them the ability to statically analyze your project. These tools can tree-shake your module build to import only the code they need.

    +

    Why put tests next to the source code?

    +

    By convention, sample tests in this project are adjacent to the files they test.

    +
      +
    • Such tests are easy to find.
    • +
    • You see at a glance if a part of your project lacks tests.
    • +
    • Nearby tests can reveal how a part works in context.
    • +
    • When you move the source (inevitable), you remember to move the test.
    • +
    • When you rename the source file (inevitable), you remember to rename the test file.
    • +
    +

    (Bullet points taken from Angular's Testing Guide.)

    +

    Can I move the tests?

    +

    Yes. For some projects, separating tests from the code they test may be desirable. This project is already configured to test any *.spec.ts files located in the src directory, so reorganize your tests however you'd like. You can put them all in a single folder, add tests that test more than one file, or mix and match strategies (e.g. for other types of tests, like integration or e2e tests).

    +

    Can I use ts-node for all the things?

    +

    Tests are compiled and performed on the final builds in the standard Node.js runtime (rather than an alternative like ts-node) to ensure that they pass in that environment. If you are build a Node.js application, and you are using ts-node in production, you can modify this project to use ts-node rather than a build step.

    +

    However, if you're building any kind of library, you should always compile to javascript.

    +

    Library authors sometimes make the mistake of distributing their libraries in typescript. Intuitively, this seems like a reasonable course of action, especially if all of your intended consumers will be using typescript as well.

    +

    TypeScript has versions, and different versions of TypeScript may not be compatible. Upgrading to a new major version of TypeScript sometimes requires code changes, and must be done project-by-project. Additionally, if you're using the latest version of TypeScript to build your library, and one of your consumers is using an older version in their application, their compiler will be unable to compile your library.

    +

    How do I bundle my library for the browser?

    +

    The short answer is: don't pre-bundle your library.

    +

    Previous versions of typescript-starter included browser bundling using Rollup. This feature has since been removed, since very few libraries should ever be pre-bundled.

    +

    If the consumer of your library is using Node.js, bundling is especially unnecessary, since Node.js can reliably resolve dependencies, and bundling may even make debugging more difficult.

    +

    If the consumer of your library is a browser application, the application likely has its own build tooling. Very few serious applications are manually bundling their javascript, especially with easy to use, no configuration tools like Parcel available.

    +

    Your library is most useful to downstream consumers as a clean, modular codebase, properly exporting features using es6 exports. Consumers can import the exact es6 exports they need from your library, and tree-shake the rest.

    +

    How can my library provide different functionality between Node.js and the browser?

    +

    In the past, complex javascript libraries have used solutions like Browserify to bundle a version of their application for the browser. Most of these solutions work by allowing library developers to extensively configure and manually override various dependencies with respective browser versions.

    +

    For example, where a Node.js application might use Node.js' built-in crypto module, a browser version would need to fall back to a polyfill-like alternative dependency like crypto-browserify.

    +

    With es6, this customization and configuration is no longer necessary. Your library can now export different functionality for different consumers. While browser consumers may import a native JavaScript crypto implementation which your library exports, Node.js users can choose to import a different, faster implementation which your library exports.

    +

    See hash.ts for a complete example. Two different functions are exported, sha256, and sha256Native. Browser consumers will not be able to import sha256Native, since their bundler will be unable to resolve the built-in Node.js dependency (their bundler will throw an error). Node.js users, however, will be able to import it normally. Each consumer can import the exact functionality they need.

    +

    One perceived downside of this solution is that it complicates the library's API. Browser consumers will sometimes import one feature while Node.js users import another. While this argument has merit, we should weigh it against the benefits.

    +

    Providing a public API where consumer code is the same between browsers and Node.js is desirable, but it comes at the cost of significant configuration and complexity. In many cases, it requires that code be aware of its environment at runtime, requiring additional complexity and testing.

    +

    A better way to provide this developer experience is to provide similar APIs for each environment, and then encourage the use of es6 import aliasing to standardize between them.

    +

    For example, in the documentation for typescript-starter, we encourage Node.js users to import sha256Native as sha256. With this convention, we get a standard API without loaders or dependency substitution hacks.

    +
    // browser-application.js
    +import { sha256 } from 'typescript-starter';
    +
    +// fully-portable code
    +console.log(sha256('test'));
     
    -
    -

    Parameters

    -
      -
    • -
      base: number
      -
    • -
    • -
      exponent: number
      -
    • -
    -

    Returns number

    -
  • -
-
-
- -

sha256

-
    -
  • sha256(message: string): string
  • -
-
    -
  • - -
    -
    -

    Calculate the sha256 digest of a string. On Node.js, this will use the native module, in the browser, it will fall back to a pure javascript implementation.

    -
    -

    Example (es imports)

    -
    import { sha256 } from 'typescript-starter'
    -sha256('test')
    -// => '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08'
    +				
    // node-application.js
    +import { sha256Native as sha256 } from 'typescript-starter';
    +
    +// fully-portable code
    +console.log(sha256('test'));
     
    -
    -

    Parameters

    -
      -
    • -
      message: string
      -
    • -
    -

    Returns string

    -

    sha256 message digest

    -
  • +

    What about Git hooks to validate commit messages?

    +

    This project uses standard-version to automatically update the changelog based on commit messages since the last release. To do this, each relevant commit must be properly formatted.

    +

    To ensure all commits follow the proper conventions, you can use a package like commitlint with Husky. However, keep in mind that commit hooks can be confusing, especially for new contributors. They also interfere with some development tools and workflows.

    +

    If your project is private, or will primarily receive contributions from long-running contributors, this may be a good fit. Otherwise, this setup may raise the barrier to one-off contributions slightly.

    +

    Note, as a maintainer, if you manage your project on GitHub or a similar website, you can now use the Squash and Merge option to add a properly formatted, descriptive commit messages when merging each pull request. This is likely to be more valuable than trying to force one-time contributors to adhere to commit conventions, since you can also maintain a more consistent language style. Because this is the best choice for the vast majority of projects, typescript-starter does not bundle any commit message validation.

    +

    Contributing

    +

    To work on the CLI, clone and build the repo, then use npm link to install it globally.

    +
    git clone https://github.com/bitjson/typescript-starter.git
    +cd typescript-starter
    +npm install
    +npm test
    +npm link
    +

    To manually test the CLI, you can use the TYPESCRIPT_STARTER_REPO_URL environment variable to test a clone from your local repo. Run npm run watch as you're developing, then in a different testing directory:

    +
    mkdir typescript-starter-testing
    +cd typescript-starter-testing
    +TYPESCRIPT_STARTER_REPO_URL='/local/path/to/typescript-starter' typescript-starter
    +

    You can also TYPESCRIPT_STARTER_REPO_URL to any valid Git URL, such as your fork of this repo:

    +
    TYPESCRIPT_STARTER_REPO_URL='https://github.com/YOUR_USERNAME/typescript-starter.git' typescript-starter
    +

    If you're using VS Code, the Debug CLI launch configuration also allows you to immediately build and step through execution of the CLI.

    +

    In the wild

    +

    You can find more advanced configurations, usage examples, and inspiration from other projects using typescript-starter:

    + -
-
-
-
-

Legend

-
-
    -
  • Module
  • -
  • Object literal
  • -
  • Variable
  • -
  • Function
  • -
  • Function with type parameter
  • -
  • Index signature
  • -
  • Type alias
  • -
-
    -
  • Enumeration
  • -
  • Enumeration member
  • -
  • Property
  • -
  • Method
  • -
-
    -
  • Interface
  • -
  • Interface with type parameter
  • -
  • Constructor
  • -
  • Property
  • -
  • Method
  • -
  • Index signature
  • -
-
    -
  • Class
  • -
  • Class with type parameter
  • -
  • Constructor
  • -
  • Property
  • -
  • Method
  • -
  • Accessor
  • -
  • Index signature
  • -
-
    -
  • Inherited constructor
  • -
  • Inherited property
  • -
  • Inherited method
  • -
  • Inherited accessor
  • -
-
    -
  • Protected property
  • -
  • Protected method
  • -
  • Protected accessor
  • -
-
    -
  • Private property
  • -
  • Private method
  • -
  • Private accessor
  • -
-
    -
  • Static property
  • -
  • Static method
  • -
-
+

Using typescript-starter for your project? Please send a pull request to add it to the list!

-
-
-

Generated using TypeDoc

+
+
- +
+
+

Legend

+
+
    +
  • Module
  • +
  • Object literal
  • +
  • Variable
  • +
  • Function
  • +
  • Function with type parameter
  • +
  • Index signature
  • +
  • Type alias
  • +
+
    +
  • Enumeration
  • +
  • Enumeration member
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Index signature
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
  • Index signature
  • +
+
    +
  • Inherited constructor
  • +
  • Inherited property
  • +
  • Inherited method
  • +
  • Inherited accessor
  • +
+
    +
  • Protected property
  • +
  • Protected method
  • +
  • Protected accessor
  • +
+
    +
  • Private property
  • +
  • Private method
  • +
  • Private accessor
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + \ No newline at end of file diff --git a/interfaces/tasks.html b/interfaces/tasks.html new file mode 100644 index 0000000..3b02355 --- /dev/null +++ b/interfaces/tasks.html @@ -0,0 +1,303 @@ + + + + + + Tasks | typescript-starter + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Tasks

+
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Tasks +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

cloneRepo

+
cloneRepo: function
+ +
+

Type declaration

+
    +
  • +
      +
    • (repoURL: string, workingDirectory: string, dir: string): Promise<object>
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        repoURL: string
        +
      • +
      • +
        workingDirectory: string
        +
      • +
      • +
        dir: string
        +
      • +
      +

      Returns Promise<object>

      +
    • +
    +
  • +
+
+
+
+ +

initialCommit

+
initialCommit: function
+ +
+

Type declaration

+
    +
  • +
      +
    • (hash: string, projectDir: string, name: string): Promise<void>
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        hash: string
        +
      • +
      • +
        projectDir: string
        +
      • +
      • +
        name: string
        +
      • +
      +

      Returns Promise<void>

      +
    • +
    +
  • +
+
+
+
+ +

install

+
install: function
+ +
+

Type declaration

+
    +
  • +
      +
    • (runner: Runner, projectDir: string): Promise<void>
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        runner: Runner
        +
      • +
      • +
        projectDir: string
        +
      • +
      +

      Returns Promise<void>

      +
    • +
    +
  • +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Module
  • +
  • Object literal
  • +
  • Variable
  • +
  • Function
  • +
  • Function with type parameter
  • +
  • Index signature
  • +
  • Type alias
  • +
+
    +
  • Enumeration
  • +
  • Enumeration member
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Index signature
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
  • Index signature
  • +
+
    +
  • Inherited constructor
  • +
  • Inherited property
  • +
  • Inherited method
  • +
  • Inherited accessor
  • +
+
    +
  • Protected property
  • +
  • Protected method
  • +
  • Protected accessor
  • +
+
    +
  • Private property
  • +
  • Private method
  • +
  • Private accessor
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/interfaces/typescriptstarterinferredoptions.html b/interfaces/typescriptstarterinferredoptions.html new file mode 100644 index 0000000..fecafd5 --- /dev/null +++ b/interfaces/typescriptstarterinferredoptions.html @@ -0,0 +1,258 @@ + + + + + + TypescriptStarterInferredOptions | typescript-starter + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TypescriptStarterInferredOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

email

+
email: string
+ +
+
+ +

fullName

+
fullName: string
+ +
+
+ +

githubUsername

+
githubUsername: string
+ +
+
+ +

repoURL

+
repoURL: string
+ +
+
+ +

workingDirectory

+
workingDirectory: string
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Module
  • +
  • Object literal
  • +
  • Variable
  • +
  • Function
  • +
  • Function with type parameter
  • +
  • Index signature
  • +
  • Type alias
  • +
+
    +
  • Enumeration
  • +
  • Enumeration member
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Index signature
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
  • Index signature
  • +
+
    +
  • Inherited constructor
  • +
  • Inherited property
  • +
  • Inherited method
  • +
  • Inherited accessor
  • +
+
    +
  • Protected property
  • +
  • Protected method
  • +
  • Protected accessor
  • +
+
    +
  • Private property
  • +
  • Private method
  • +
  • Private accessor
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/interfaces/typescriptstarteroptions.html b/interfaces/typescriptstarteroptions.html new file mode 100644 index 0000000..c9295f4 --- /dev/null +++ b/interfaces/typescriptstarteroptions.html @@ -0,0 +1,401 @@ + + + + + + TypescriptStarterOptions | typescript-starter + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TypescriptStarterOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

description

+
description: string
+ +
+
+ +

domDefinitions

+
domDefinitions: boolean
+ +
+
+ +

email

+
email: string
+ +
+
+ +

fullName

+
fullName: string
+ +
+
+ +

githubUsername

+
githubUsername: string
+ +
+
+ +

immutable

+
immutable: boolean
+ +
+
+ +

install

+
install: boolean
+ +
+
+ +

nodeDefinitions

+
nodeDefinitions: boolean
+ +
+
+ +

projectName

+
projectName: string
+ +
+
+ +

repoURL

+
repoURL: string
+ +
+
+ +

runner

+
runner: Runner
+ +
+
+ +

strict

+
strict: boolean
+ +
+
+ +

vscode

+
vscode: boolean
+ +
+
+ +

workingDirectory

+
workingDirectory: string
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Module
  • +
  • Object literal
  • +
  • Variable
  • +
  • Function
  • +
  • Function with type parameter
  • +
  • Index signature
  • +
  • Type alias
  • +
+
    +
  • Enumeration
  • +
  • Enumeration member
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Index signature
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
  • Index signature
  • +
+
    +
  • Inherited constructor
  • +
  • Inherited property
  • +
  • Inherited method
  • +
  • Inherited accessor
  • +
+
    +
  • Protected property
  • +
  • Protected method
  • +
  • Protected accessor
  • +
+
    +
  • Private property
  • +
  • Private method
  • +
  • Private accessor
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file diff --git a/interfaces/typescriptstarteruseroptions.html b/interfaces/typescriptstarteruseroptions.html new file mode 100644 index 0000000..65c4a24 --- /dev/null +++ b/interfaces/typescriptstarteruseroptions.html @@ -0,0 +1,314 @@ + + + + + + TypescriptStarterUserOptions | typescript-starter + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + + + + + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TypescriptStarterUserOptions

+
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

description

+
description: string
+ +
+
+ +

domDefinitions

+
domDefinitions: boolean
+ +
+
+ +

immutable

+
immutable: boolean
+ +
+
+ +

install

+
install: boolean
+ +
+
+ +

nodeDefinitions

+
nodeDefinitions: boolean
+ +
+
+ +

projectName

+
projectName: string
+ +
+
+ +

runner

+
runner: Runner
+ +
+
+ +

strict

+
strict: boolean
+ +
+
+ +

vscode

+
vscode: boolean
+ +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Module
  • +
  • Object literal
  • +
  • Variable
  • +
  • Function
  • +
  • Function with type parameter
  • +
  • Index signature
  • +
  • Type alias
  • +
+
    +
  • Enumeration
  • +
  • Enumeration member
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Index signature
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
  • Accessor
  • +
  • Index signature
  • +
+
    +
  • Inherited constructor
  • +
  • Inherited property
  • +
  • Inherited method
  • +
  • Inherited accessor
  • +
+
    +
  • Protected property
  • +
  • Protected method
  • +
  • Protected accessor
  • +
+
    +
  • Private property
  • +
  • Private method
  • +
  • Private accessor
  • +
+
    +
  • Static property
  • +
  • Static method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + + \ No newline at end of file