{"id":19251726,"url":"https://github.com/tonicpow/tonicpow-js","last_synced_at":"2025-08-19T05:09:22.801Z","repository":{"id":36898762,"uuid":"206254434","full_name":"tonicpow/tonicpow-js","owner":"tonicpow","description":"JavaScript package for interacting with the TonicPow API","archived":false,"fork":false,"pushed_at":"2025-05-27T10:58:35.000Z","size":6249,"stargazers_count":7,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-27T11:45:13.661Z","etag":null,"topics":["conversions","deep-converstions","js","npm","tonic","tonicpow","tonicpow-api"],"latest_commit_sha":null,"homepage":"https://docs.tonicpow.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tonicpow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"tonicpow","custom":"https://tonicpow.com/?utm_source=github\u0026utm_medium=sponsor-link\u0026utm_campaign=tonicpow-js\u0026utm_term=tonicpow-js\u0026utm_content=tonicpow-js"}},"created_at":"2019-09-04T07:05:56.000Z","updated_at":"2025-05-27T10:58:31.000Z","dependencies_parsed_at":"2023-12-18T12:24:53.665Z","dependency_job_id":"df632416-3f69-407a-adfd-463ecf81e2ca","html_url":"https://github.com/tonicpow/tonicpow-js","commit_stats":{"total_commits":712,"total_committers":6,"mean_commits":"118.66666666666667","dds":0.3567415730337079,"last_synced_commit":"6aabee178bbd80100d80aa543732722778d602ab"},"previous_names":[],"tags_count":84,"template":false,"template_full_name":null,"purl":"pkg:github/tonicpow/tonicpow-js","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonicpow%2Ftonicpow-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonicpow%2Ftonicpow-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonicpow%2Ftonicpow-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonicpow%2Ftonicpow-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tonicpow","download_url":"https://codeload.github.com/tonicpow/tonicpow-js/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tonicpow%2Ftonicpow-js/sbom","scorecard":{"id":142849,"data":{"date":"2022-08-15","repo":{"name":"github.com/tonicpow/tonicpow-js","commit":"846a1e6386ace221475829cd4cd3aaed6a1f5d75"},"scorecard":{"version":"v4.5.0-28-g6dcfde9","commit":"6dcfde9299033d3b16d81985a9634092411e0cfc"},"score":7.9,"checks":[{"name":"Code-Review","score":10,"reason":"all last 30 commits are reviewed through GitHub","details":null,"documentation":{"short":"Determines if the project requires code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/6dcfde9299033d3b16d81985a9634092411e0cfc/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) out of 30 and 0 issue activity out of 0 found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/6dcfde9299033d3b16d81985a9634092411e0cfc/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no badge detected","details":null,"documentation":{"short":"Determines if the project has a CII Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/6dcfde9299033d3b16d81985a9634092411e0cfc/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"no vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/6dcfde9299033d3b16d81985a9634092411e0cfc/docs/checks.md#vulnerabilities"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/6dcfde9299033d3b16d81985a9634092411e0cfc/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy detected in current repo: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/6dcfde9299033d3b16d81985a9634092411e0cfc/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":0,"reason":"non read-only tokens detected in GitHub workflows","details":["Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/tonicpow/tonicpow-js/codeql-analysis.yml/master?enable=permissions","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/tonicpow/tonicpow-js/codeql-analysis.yml/master?enable=permissions","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/tonicpow/tonicpow-js/codeql-analysis.yml/master?enable=permissions","Warn: topLevel 'contents' permission set to 'write': .github/workflows/release.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/tonicpow/tonicpow-js/release.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/sync-labels.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/tonicpow/tonicpow-js/sync-labels.yml/master?enable=permissions"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/6dcfde9299033d3b16d81985a9634092411e0cfc/docs/checks.md#token-permissions"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: Dependabot detected: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/6dcfde9299033d3b16d81985a9634092411e0cfc/docs/checks.md#dependency-update-tool"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/tonicpow/tonicpow-js/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/tonicpow/tonicpow-js/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/tonicpow/tonicpow-js/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/tonicpow/tonicpow-js/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/tonicpow/tonicpow-js/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/tonicpow/tonicpow-js/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/tonicpow/tonicpow-js/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/tonicpow/tonicpow-js/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync-labels.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/tonicpow/tonicpow-js/sync-labels.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/sync-labels.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/tonicpow/tonicpow-js/sync-labels.yml/master?enable=pin","Info: Dockerfile dependencies are pinned","Info: no insecure (not pinned by hash) dependency downloads found in Dockerfiles","Info: no insecure (not pinned by hash) dependency downloads found in shell scripts"],"documentation":{"short":"Determines if the project has declared and pinned its dependencies.","url":"https://github.com/ossf/scorecard/blob/6dcfde9299033d3b16d81985a9634092411e0cfc/docs/checks.md#pinned-dependencies"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: : LICENSE:1"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/6dcfde9299033d3b16d81985a9634092411e0cfc/docs/checks.md#license"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/6dcfde9299033d3b16d81985a9634092411e0cfc/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":["Warn: no GitHub releases found"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/6dcfde9299033d3b16d81985a9634092411e0cfc/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":8,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'force pushes' disabled on branch 'master'","Info: 'allow deletion' disabled on branch 'master'","Info: status check found to merge onto on branch 'master'","Warn: number of required reviewers is only 1 on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/6dcfde9299033d3b16d81985a9634092411e0cfc/docs/checks.md#branch-protection"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":null,"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/6dcfde9299033d3b16d81985a9634092411e0cfc/docs/checks.md#fuzzing"}},{"name":"Packaging","score":10,"reason":"publishing workflow detected","details":["Info: GitHub publishing workflow used in run https://api.github.com/repos/tonicpow/tonicpow-js/actions/runs/2454893369: .github/workflows/release.yml:13"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/6dcfde9299033d3b16d81985a9634092411e0cfc/docs/checks.md#packaging"}}]},"last_synced_at":"2025-08-16T08:34:59.386Z","repository_id":36898762,"created_at":"2025-08-16T08:34:59.386Z","updated_at":"2025-08-16T08:34:59.386Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271103202,"owners_count":24699646,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-19T02:00:09.176Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["conversions","deep-converstions","js","npm","tonic","tonicpow","tonicpow-api"],"created_at":"2024-11-09T18:23:41.895Z","updated_at":"2025-08-19T05:09:22.773Z","avatar_url":"https://github.com/tonicpow.png","language":"JavaScript","funding_links":["https://github.com/sponsors/tonicpow","https://tonicpow.com/?utm_source=github\u0026utm_medium=sponsor-link\u0026utm_campaign=tonicpow-js\u0026utm_term=tonicpow-js\u0026utm_content=tonicpow-js"],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\".github/IMAGES/tonicpow-js.png\" height=\"250\" alt=\"TonicPow JS\"\u003e\n\n\u003e **TonicPow JS** is the official JavaScript implementation for interacting with the [TonicPow API](https://docs.tonicpow.com)\n\n[![last commit](https://img.shields.io/github/last-commit/tonicpow/tonicpow-js.svg?style=flat)](https://github.com/tonicpow/tonicpow-js/commits/master)\n[![Release](https://img.shields.io/github/release-pre/tonicpow/tonicpow-js.svg?style=flat)](https://github.com/tonicpow/tonicpow-js/releases)\n[![Npm](https://img.shields.io/npm/v/tonicpow-js?style=flat)](https://www.npmjs.com/package/tonicpow-js)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/tonicpow/tonicpow-js/codeql-analysis.yml?branch=master\u0026logo=github\u0026v=5)](https://github.com/tonicpow/widget/actions)\n[![Mergify Status](https://img.shields.io/endpoint.svg?url=https://api.mergify.com/v1/badges/tonicpow/tonicpow-js\u0026style=flat\u0026v=3)](https://mergify.io)\n[![slack](https://img.shields.io/badge/slack-tonicpow-orange.svg?style=flat)](https://atlantistic.slack.com/app_redirect?channel=tonicpow)\n\n\u003cbr/\u003e\n\n## Table of Contents\n- [Getting Started](#getting-started)\n- [Installation](#install-via-npm)\n- [Documentation](#documentation)\n- [Examples](#examples)\n- [Code Standards](#code-standards)\n- [Usage](#usage)\n- [Maintainers](#maintainers)\n- [Contributing](#contributing)\n- [License](#license)\n\n\u003cbr/\u003e\n\n## Getting Started\nThis is a backend JavaScript library that has complete coverage for the [TonicPow API](https://docs.tonicpow.com).\n\nThere is also a [Go implementation](https://github.com/tonicpow/go-tonicpow) for this package.\n\n#### Prerequisites\n- You have a [TonicPow _api_key_](https://docs.tonicpow.com)\n- You have a back-end server (IE: [Node](https://nodejs.org/en/), [Go](https://golang.org/), [Firebase Functions](https://firebase.google.com/docs/functions))\n\n## Install via npm\nFrom your project's directory:\n```shell script\nnpm install tonicpow-js\n``` \n\nAnd load the module in your project:\n```javascript \nimport TonicPow from 'tonicpow-js'\n\nconst tpow = new TonicPow('your-api-key')\n``` \n\n#### Usage\nFire a conversion goal:\n```javascript\nconst result = tpow.createConversionByGoalName(\n  \"goal_name\", \"tncpw_session_goes_here\"\n);\n```\n\nFor more use cases, see the [examples](examples/examples.js) of using this package.\n\n#### Features\n- [Config \u0026 Session](lib/api.js) are completely configurable\n- Supports both pure API token context and user token context (run your own site)\n- Use our [front_end.js](front_end.md) for capturing a visitor session (goal conversions)\n- Coverage for the [TonicPow.com API](https://docs.tonicpow.com/)\n    - [x] [Authentication](https://docs.tonicpow.com/#632ed94a-3afd-4323-af91-bdf307a399d2)\n    - [x] [Advertiser Profiles](https://docs.tonicpow.com/#2f9ec542-0f88-4671-b47c-d0ee390af5ea)\n    - [x] [Campaigns](https://docs.tonicpow.com/#5aca2fc7-b3c8-445b-aa88-f62a681f8e0c)\n    - [x] [Goals](https://docs.tonicpow.com/#316b77ab-4900-4f3d-96a7-e67c00af10ca)\n    - [x] [Conversions](https://docs.tonicpow.com/#75c837d5-3336-4d87-a686-d80c6f8938b9)\n    - [x] [Links](https://docs.tonicpow.com/#ee74c3ce-b4df-4d57-abf2-ccf3a80e4e1e)\n    - [x] [Rates](https://docs.tonicpow.com/#fb00736e-61b9-4ec9-acaf-e3f9bb046c89)\n\n\u003cbr/\u003e\n\n## Documentation\nThis is a JavaScript library for the [TonicPow API](https://docs.tonicpow.com). All methods and models are described in [this documentation](https://docs.tonicpow.com).\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e\u003ccode\u003eLibrary Deployment\u003c/code\u003e\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr/\u003e\n\n[goreleaser](https://github.com/goreleaser/goreleaser) for easy binary or library deployment to Github and can be installed via: `brew install goreleaser`.\n\nThe [.goreleaser.yml](.goreleaser.yml) file is used to configure [goreleaser](https://github.com/goreleaser/goreleaser).\n\nUse `make release-snap` to create a snapshot version of the release, and finally `make release` to ship to production.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003e\u003ccode\u003eMakefile Commands\u003c/code\u003e\u003c/strong\u003e\u003c/summary\u003e\n\u003cbr/\u003e\n\nView all `makefile` commands\n```shell script\nmake help\n```\n\nList of all current commands:\n```text\naudit                Checks for vulnerabilities in dependencies\nclean                Remove previous builds and any test cache data\nhelp                 Show this help message\ninstall              Installs the dependencies for the packge\nlint                 Runs the standard-js lint tool\noutdated             Checks for outdated packages via npm\npublish              Will publish the version to npm\nrelease              Full production release (creates release in Github, deploy to npm)\nrelease-snap         Test the full release (build binaries)\nrelease-test         Full production test release (everything except deploy)\nreplace-version      Replaces the version in HTML/JS (pre-deploy)\ntag                  Generate a new tag and push (tag version=0.0.0)\ntag-remove           Remove a tag if found (tag-remove version=0.0.0)\ntag-update           Update an existing tag to current commit (tag-update version=0.0.0)\ntest                 Will run unit tests\n```\n\u003c/details\u003e\n\n\u003cbr/\u003e\n\n## Examples\nView [examples](examples/examples.js) of using the package.\n\n\u003cbr/\u003e\n\n## Code Standards\nAlways use the language's best practices!\n\n\u003cbr/\u003e\n\n## Maintainers\n| [\u003cimg src=\"https://github.com/mrz1836.png\" height=\"50\" alt=\"MrZ\" /\u003e](https://github.com/mrz1836) | [\u003cimg src=\"https://github.com/rohenaz.png\" height=\"50\" alt=\"Satchmo\" /\u003e](https://github.com/rohenaz) |\n|:------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------:|\n|                                [MrZ](https://github.com/mrz1836)                                 |                                [Satchmo](https://github.com/rohenaz)                                 |\n                                                                                                                                                           \nSupport the development of this project and the [TonicPow](https://tonicpow.com/) team 🙏\n\n\u003cbr/\u003e\n\n## Contributing\nFeel free to dive in! [Open an issue](https://github.com/tonicpow/tonicpow-js/issues/new) or submit PRs.\n\n### How can I help?\nAll kinds of contributions are welcome :raised_hands:!\nThe most basic way to show your support is to star :star2: the project, or to raise issues :speech_balloon:.\nYou can also support this project by [becoming a sponsor on GitHub](https://github.com/sponsors/tonicpow) :clap:\nor by making a [**bitcoin donation**](https://tonicpow.com/?utm_source=github\u0026utm_medium=sponsor-link\u0026utm_campaign=tonicpow-js\u0026utm_term=tonicpow-js\u0026utm_content=tonicpow-js) to ensure this journey continues indefinitely! :rocket:\n\n[![Stars](https://img.shields.io/github/stars/tonicpow/tonicpow-js?label=Please%20like%20us\u0026style=social)](https://github.com/tonicpow/tonicpow-js/stargazers)\n\n\n\u003cbr/\u003e\n\n## License\n[![License](https://img.shields.io/github/license/tonicpow/tonicpow-js.svg?style=flat\u0026v=1)](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonicpow%2Ftonicpow-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftonicpow%2Ftonicpow-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftonicpow%2Ftonicpow-js/lists"}