Skip to content

Commit b238510

Browse files
committed
feat: add various es module and CommonJS examples
1 parent a3f078f commit b238510

27 files changed

+4527
-0
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# uuid example Browser with native ECMAScript Modules
2+
3+
```
4+
npm install
5+
npm test
6+
```
7+
8+
Then navigate to `example.html`.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<!DOCTYPE html>
2+
<title>UUID esmodule native example</title>
3+
<p>Please open the Developer Console to view output</p>
4+
<script type="module" src="example.js"></script>
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import {v1 as uuidv1, v4 as uuidv4, v3 as uuidv3, v5 as uuidv5} from './node_modules/uuid/esm-browser/index.js';
2+
import * as uuid from './node_modules/uuid/esm-browser/index.js';
3+
4+
console.log('uuidv1()', uuidv1());
5+
6+
console.log('uuidv4()', uuidv4());
7+
8+
// ... using predefined DNS namespace (for domain names)
9+
console.log('uuidv3() DNS', uuidv3('hello.example.com', uuidv3.DNS));
10+
11+
// ... using predefined URL namespace (for, well, URLs)
12+
console.log('uuidv3() URL', uuidv3('http://example.com/hello', uuidv3.URL));
13+
14+
// ... using a custom namespace
15+
//
16+
// Note: Custom namespaces should be a UUID string specific to your application!
17+
// E.g. the one here was generated using this modules `uuid` CLI.
18+
const MY_NAMESPACE = '55238d15-c926-4598-b49d-cf4e913ba13c';
19+
console.log('uuidv3() MY_NAMESPACE', uuidv3('Hello, World!', MY_NAMESPACE));
20+
21+
// ... using predefined DNS namespace (for domain names)
22+
console.log('uuidv5() DNS', uuidv5('hello.example.com', uuidv5.DNS));
23+
24+
// ... using predefined URL namespace (for, well, URLs)
25+
console.log('uuidv5() URL', uuidv5('http://example.com/hello', uuidv5.URL));
26+
27+
// ... using a custom namespace
28+
//
29+
// Note: Custom namespaces should be a UUID string specific to your application!
30+
// E.g. the one here was generated using this modules `uuid` CLI.
31+
// const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';
32+
console.log('uuidv5() MY_NAMESPACE', uuidv5('Hello, World!', MY_NAMESPACE));
33+
34+
console.log('Same with default export');
35+
36+
console.log('uuid.v1()', uuid.v1());
37+
console.log('uuid.v4()', uuid.v4());
38+
console.log('uuid.v3() DNS', uuid.v3('hello.example.com', uuid.v3.DNS));
39+
console.log('uuid.v3() URL', uuid.v3('http://example.com/hello', uuid.v3.URL));
40+
console.log('uuid.v3() MY_NAMESPACE', uuid.v3('Hello, World!', MY_NAMESPACE));
41+
console.log('uuid.v5() DNS', uuid.v5('hello.example.com', uuid.v5.DNS));
42+
console.log('uuid.v5() URL', uuid.v5('http://example.com/hello', uuid.v5.URL));
43+
console.log('uuid.v5() MY_NAMESPACE', uuid.v5('Hello, World!', MY_NAMESPACE));

examples/browser-esmodules/package-lock.json

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"name": "uuid-example-browser-esmodules",
3+
"version": "0.0.0",
4+
"private": true,
5+
"scripts": {
6+
"test": "npx http-server . -o"
7+
},
8+
"dependencies": {
9+
"uuid": "github:ctavan/uuid-esm#master"
10+
}
11+
}

examples/browser-rollup/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
dist/

examples/browser-rollup/README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# uuid example Browser with rollup.js
2+
3+
```
4+
npm install
5+
npm test
6+
```
7+
8+
Then navigate to `example.html`.
9+
10+
The `example-v{1,4}.js` demonstrate that treeshaking works as expected:
11+
12+
```
13+
$ du -sh dist/*
14+
20K dist/all.js
15+
8.0K dist/v1.js
16+
4.0K dist/v4.js
17+
```
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import {v1 as uuidv1, v4 as uuidv4, v3 as uuidv3, v5 as uuidv5} from 'uuid';
2+
import * as uuid from 'uuid';
3+
4+
console.log('uuidv1()', uuidv1());
5+
6+
console.log('uuidv4()', uuidv4());
7+
8+
// ... using predefined DNS namespace (for domain names)
9+
console.log('uuidv3() DNS', uuidv3('hello.example.com', uuidv3.DNS));
10+
11+
// ... using predefined URL namespace (for, well, URLs)
12+
console.log('uuidv3() URL', uuidv3('http://example.com/hello', uuidv3.URL));
13+
14+
// ... using a custom namespace
15+
//
16+
// Note: Custom namespaces should be a UUID string specific to your application!
17+
// E.g. the one here was generated using this modules `uuid` CLI.
18+
const MY_NAMESPACE = '55238d15-c926-4598-b49d-cf4e913ba13c';
19+
console.log('uuidv3() MY_NAMESPACE', uuidv3('Hello, World!', MY_NAMESPACE));
20+
21+
// ... using predefined DNS namespace (for domain names)
22+
console.log('uuidv5() DNS', uuidv5('hello.example.com', uuidv5.DNS));
23+
24+
// ... using predefined URL namespace (for, well, URLs)
25+
console.log('uuidv5() URL', uuidv5('http://example.com/hello', uuidv5.URL));
26+
27+
// ... using a custom namespace
28+
//
29+
// Note: Custom namespaces should be a UUID string specific to your application!
30+
// E.g. the one here was generated using this modules `uuid` CLI.
31+
// const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';
32+
console.log('uuidv5() MY_NAMESPACE', uuidv5('Hello, World!', MY_NAMESPACE));
33+
34+
console.log('Same with default export');
35+
36+
console.log('uuid.v1()', uuid.v1());
37+
console.log('uuid.v4()', uuid.v4());
38+
console.log('uuid.v3() DNS', uuid.v3('hello.example.com', uuid.v3.DNS));
39+
console.log('uuid.v3() URL', uuid.v3('http://example.com/hello', uuid.v3.URL));
40+
console.log('uuid.v3() MY_NAMESPACE', uuid.v3('Hello, World!', MY_NAMESPACE));
41+
console.log('uuid.v5() DNS', uuid.v5('hello.example.com', uuid.v5.DNS));
42+
console.log('uuid.v5() URL', uuid.v5('http://example.com/hello', uuid.v5.URL));
43+
console.log('uuid.v5() MY_NAMESPACE', uuid.v5('Hello, World!', MY_NAMESPACE));
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import {v1 as uuidv1} from 'uuid';
2+
3+
console.log('uuidv1()', uuidv1());
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import {v4 as uuidv4} from 'uuid';
2+
3+
console.log('uuidv4()', uuidv4());

0 commit comments

Comments
 (0)