renommage de lib, rendre buildable
This commit is contained in:
parent
1706c64713
commit
a89007a81b
9896 changed files with 478996 additions and 496 deletions
198
my-workspace/projects/sae-lib/node_modules/@scarf/scarf/README.md
generated
vendored
Normal file
198
my-workspace/projects/sae-lib/node_modules/@scarf/scarf/README.md
generated
vendored
Normal file
|
@ -0,0 +1,198 @@
|
|||
# scarf-js
|
||||
|
||||

|
||||
[](https://badge.fury.io/js/%40scarf%2Fscarf)
|
||||
<a href="https://www.npmjs.com/package/@scarf/scarf"></a>
|
||||
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=fc72d03c-c3a2-4736-b243-10eeff839778" />
|
||||
<a href="https://tinyurl.com/scarf-community-slack"><img src="https://img.shields.io/badge/Scarf%20Community%20-Slack-blue" alt="Join the Scarf Community Slack" />
|
||||
</a>
|
||||
|
||||
Scarf is like Google Analytics for your npm packages. By sending some basic
|
||||
details after installation, this package can help you can gain insight into how
|
||||
your packages are used and by which companies. Scarf aims to help open-source developers
|
||||
fund their work when it is used commercially.
|
||||
|
||||
To read more about why we wrote this library, check out [this post](https://github.com/scarf-sh/scarf-js/blob/master/WHY.org) on the topic.
|
||||
|
||||
### Features
|
||||
|
||||
- No dependencies.
|
||||
- Fully transparent to the user. Scarf will log its behavior to the console
|
||||
during installation. It will never silently report analytics for someone that
|
||||
hasn't explictly given permission to do so.
|
||||
- Never interrupts your package installation. Reporting is done on a best effort basis.
|
||||
|
||||
### Installing
|
||||
|
||||
You'll first need to create a library entry on [Scarf](https://scarf.sh). Once
|
||||
created, add a dependency on this library to your own:
|
||||
|
||||
```bash
|
||||
npm i --save @scarf/scarf
|
||||
```
|
||||
|
||||
Once your library is published to npm with this change, Scarf will automatically
|
||||
collect stats on install, no additional code is required!
|
||||
|
||||
Head to your package's dashboard on Scarf to see your reports when available.
|
||||
|
||||
### Configuring
|
||||
|
||||
Users of your package will be opted in by default and can opt out by setting the
|
||||
`SCARF_ANALYTICS=false` environment variable. If you'd like Scarf analytics to
|
||||
instead be opt-in, you can set this by adding an entry to your `package.json`
|
||||
|
||||
|
||||
```json5
|
||||
// your-package/package.json
|
||||
|
||||
{
|
||||
// ...
|
||||
"scarfSettings": {
|
||||
"defaultOptIn": false
|
||||
}
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
Scarf will now be opt-out by default, and users can set `SCARF_ANALYTICS=true`
|
||||
to opt in.
|
||||
|
||||
Regardless of the default state, Scarf will log what it is doing to users who
|
||||
haven't explictly opted in or out.
|
||||
|
||||
By default, scarf-js will only trigger analytics when your package is installed as a dependency of another package, or is being installed globally. This ensures that scarf-js analytics will not be triggered on `npm install` being run _within your project_. To change this, you can add:
|
||||
|
||||
```json5
|
||||
// your-package/package.json
|
||||
|
||||
{
|
||||
// ...
|
||||
"scarfSettings": {
|
||||
"allowTopLevel": true
|
||||
}
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
#### Full Configuration Example
|
||||
|
||||
```json5
|
||||
// your-package/package.json
|
||||
|
||||
{
|
||||
// ...
|
||||
"scarfSettings": {
|
||||
// Toggles whether Scarf is enabled for this package
|
||||
"enabled": true,
|
||||
// Enables Scarf when users run npm install directly in your repository
|
||||
// Scarf will try to report the Git commit SHA of your repository if it can
|
||||
// be obtained.
|
||||
"allowTopLevel": true,
|
||||
// Users will be opted into analytics by default
|
||||
"defaultOptIn": true,
|
||||
// By default, Scarf searches for its own location in your build's dependency
|
||||
// graph to ensure reporting can be done for all packages using Scarf.
|
||||
// For large projects with lots of dependencies, generating that dependency
|
||||
// graph takes more time than Scarf allots for its entire process, so Scarf
|
||||
// will always time out. `skipTraversal` is an optional flag for large
|
||||
// applications to skip that traversal entirely. Use this flag with caution and
|
||||
// care, as it will break Scarf analytics for all other packages you depend
|
||||
// on in your build.
|
||||
"skipTraversal": false
|
||||
}
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
### FAQ
|
||||
|
||||
#### What information does scarf-js provide me as a package author?
|
||||
|
||||
- Understanding your user-base
|
||||
- Which companies are using your package?
|
||||
- Is your project growing or shrinking? Where? On which platforms?
|
||||
- Which versions of your package are being used?
|
||||
|
||||
#### As a user of a package using scarf-js, what information does scarf-js send about me?
|
||||
|
||||
*Scarf does not store personally identifying information.* Scarf aims to collect information that is helpful for:
|
||||
- Open Source package maintainence
|
||||
- Open Source commercialization
|
||||
|
||||
Specifically, scarf-js sends:
|
||||
|
||||
- The operating system you are using
|
||||
- Your IP address will be used to look up any available company information. _Scarf does not store the actual IP address_
|
||||
- Limited dependency tree information. Scarf sends the name and version of the package(s) that directly depend on scarf-js. Additionally, scarf-js will send SHA256-hashed name and version for the following packages in the dependency tree:
|
||||
- Packages that depend on a package that depends on scarf-js.
|
||||
- The root package of the dependency tree.
|
||||
This allows Scarf to provide information for maintainers about which public packages are using their own, without exposing identifying details of non-public packages.
|
||||
|
||||
You can have scarf-js print the exact JSON payload it sends by setting `SCARF_VERBOSE=true` in your environment.
|
||||
|
||||
#### As a user of a package using scarf-js, how can I opt out of analytics?
|
||||
|
||||
Scarf's analytics help support developers of the open source packages you are
|
||||
using, so enabling analytics is appreciated. However, if you'd like to opt out,
|
||||
you can add your preference to your project's `package.json`:
|
||||
|
||||
|
||||
```json5
|
||||
// your-package/package.json
|
||||
|
||||
{
|
||||
// ...
|
||||
"scarfSettings": {
|
||||
"enabled": false
|
||||
}
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
Alternatively, you can set this variable in your environment:
|
||||
|
||||
```shell
|
||||
export SCARF_ANALYTICS=false
|
||||
```
|
||||
|
||||
You can also set this variable in accordance to the [Console Do Not Track](https://consoledonottrack.com/) standard:
|
||||
```shell
|
||||
export DO_NOT_TRACK=1
|
||||
```
|
||||
|
||||
Either route will disable Scarf for all packages.
|
||||
|
||||
#### I distribute a package on npm, and scarf-js is in our dependency tree. Can I disable the analytics for my downstream dependents?
|
||||
|
||||
Yes. By opting out of analytics via `package.json`, any package upstream will have analytics disbabled.
|
||||
|
||||
```json5
|
||||
// your-package/package.json
|
||||
|
||||
{
|
||||
// ...
|
||||
"scarfSettings": {
|
||||
"enabled": false
|
||||
}
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
Installers of your packages will have scarf-js disabled for all dependencies upstream from yours.
|
||||
|
||||
|
||||
### Developing
|
||||
|
||||
Setting the environment variable `SCARF_LOCAL_PORT=8080` will configure Scarf to
|
||||
use http://localhost:8080 as the analytics endpoint host.
|
||||
|
||||
### Future work
|
||||
|
||||
Future releases of scarf-js will provide a module of utility functions to
|
||||
collect usage analytics in addition to the current installation analytics.
|
||||
|
||||
### Community
|
||||
|
||||
Join the [Scarf-Community workspace](https://tinyurl.com/scarf-community-slack) on Slack and find us in the #scarf-js channel. We'll keep an eye out for your questions and concerns.
|
Loading…
Add table
Add a link
Reference in a new issue