Update README

Fixes #91
This commit is contained in:
Michael Jackson 2018-04-28 19:09:15 -07:00
parent 6b6875f8f8
commit 818f84faa6
7 changed files with 64 additions and 24 deletions

View File

@ -1,9 +1,59 @@
# unpkg
# unpkg [![Travis][build-badge]][build]
[unpkg](https://unpkg.com) is a fast, global CDN for everything on [npm](https://www.npmjs.com/).
[build-badge]: https://img.shields.io/travis/unpkg/unpkg/master.svg?style=flat-square
[build]: https://travis-ci.org/unpkg/unpkg
unpkg is a fast, global [content delivery network](https://en.wikipedia.org/wiki/Content_delivery_network) for everything on [npm](https://www.npmjs.com/). Use it to quickly and easily load any file from any package using a URL like:
<div style="text-align:center">
<code>unpkg.com/:package@:version/:file</code>
</div>
### Examples
Using a fixed version:
* [unpkg.com/react@16.0.0/umd/react.production.min.js](/react@16.0.0/umd/react.production.min.js)
* [unpkg.com/react-dom@16.0.0/umd/react-dom.production.min.js](/react-dom@16.0.0/umd/react-dom.production.min.js)
You may also use a [semver range](https://docs.npmjs.com/misc/semver) or a [tag](https://docs.npmjs.com/cli/dist-tag) instead of a fixed version number, or omit the version/tag entirely to use the `latest` tag.
* [unpkg.com/react@^16/umd/react.production.min.js](/react@^16/umd/react.production.min.js)
* [unpkg.com/react/umd/react.production.min.js](/react/umd/react.production.min.js)
If you omit the file path (i.e. use a "bare" URL), unpkg will serve the file specified by the `unpkg` field in `package.json`, or fall back to `main`.
* [unpkg.com/d3](/d3)
* [unpkg.com/jquery](/jquery)
* [unpkg.com/three](/three)
Append a `/` at the end of a URL to view a listing of all the files in a package.
* [unpkg.com/react/](/react/)
* [unpkg.com/lodash/](/lodash/)
### Query Parameters
<dl>
<dt>`?meta`</dt>
<dd>Return metadata about any file in a package as JSON (e.g. `/any/file?meta`)</dd>
<dt>`?module`</dt>
<dd>Expands all ["bare" `import` specifiers](https://html.spec.whatwg.org/multipage/webappapis.html#resolve-a-module-specifier) in JavaScript modules to unpkg URLs. This feature is *very experimental*</dd>
</dl>
### Cache Behavior
The CDN caches files based on their permanent URL, which includes the npm package version. This works because npm does not allow package authors to overwrite a package that has already been published with a different one at the same version number.
URLs that do not specify a package version number redirect to one that does. This is the `latest` version when no version is specified, or the `maxSatisfying` version when a [semver version](https://github.com/npm/node-semver) is given. Redirects are cached for 5 minutes.
Browsers are instructed (via the `Cache-Control` header) to cache assets for 4 hours.
### Feedback
If you think this is useful, we'd love to hear from you. Please reach out to [@unpkg](https://twitter.com/unpkg) with any questions or concerns.
### Sponsors
The project is sponsored by [Cloudflare](https://cloudflare.com) and [Heroku](https://heroku.com).
## Development
To start the server, use `yarn dev`. This will start the backend so the website (which is really just a static HTML file) can serve as a proxy for package requests. Then, start the app in another shell with `yarn start`.

View File

@ -2,15 +2,10 @@ import "./About.css";
import React from "react";
import contentHTML from "./About.md";
import html from "../docs/about.md";
function About() {
return (
<div
className="wrapper"
dangerouslySetInnerHTML={{ __html: contentHTML }}
/>
);
return <div className="wrapper" dangerouslySetInnerHTML={{ __html: html }} />;
}
export default About;

View File

@ -2,15 +2,10 @@ import "./Home.css";
import React from "react";
import contentHTML from "./Home.md";
import html from "../docs/home.md";
function Home() {
return (
<div
className="wrapper"
dangerouslySetInnerHTML={{ __html: contentHTML }}
/>
);
return <div className="wrapper" dangerouslySetInnerHTML={{ __html: html }} />;
}
export default Home;

View File

@ -6,16 +6,16 @@ The fast, global infrastructure that powers unpkg is generously donated by [Clou
<div class="about-logos">
<div class="about-logo">
<a href="https://www.cloudflare.com"><img src="./CloudflareLogo.png"></a>
<a href="https://www.cloudflare.com"><img src="cloudflare-logo.png"></a>
</div>
<div class="about-logo">
<a href="https://www.heroku.com"><img src="./HerokuLogo.png"></a>
<a href="https://www.heroku.com"><img src="heroku-logo.png"></a>
</div>
</div>
### Cache Behavior
The CDN caches all files based on their permanent URL, which includes the npm package version. This works because npm does not allow package authors to overwrite a package that has already been published with a different one at the same version number.
The CDN caches files based on their permanent URL, which includes the npm package version. This works because npm does not allow package authors to overwrite a package that has already been published with a different one at the same version number.
URLs that do not specify a package version number redirect to one that does. This is the `latest` version when no version is specified, or the `maxSatisfying` version when a [semver version](https://github.com/npm/node-semver) is given. Redirects are cached for 5 minutes.
@ -37,4 +37,4 @@ unpkg maintains a list of packages that are known to be malicious. If you find s
### Feedback
If you think this is useful, I'd love to hear from you. Please reach out to [@mjackson](https://twitter.com/mjackson) with any questions/concerns.
If you think this is useful, we'd love to hear from you. Please reach out to [@unpkg](https://twitter.com/unpkg) with any questions or concerns.

View File

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB