Add comprehensive installation and setup documentation

- Add GETTING_STARTED.md with quick start guide and development modes
- Add INSTALL.sh automated installation script
- Add INSTALLATION_CHECKLIST.md, INSTALLATION_SUCCESS.md, and INSTALLATION_SUMMARY.md
- Add QUICK_REFERENCE.md for common commands
- Add SETUP_GUIDE.md with detailed setup instructions
- Update README.md with improved project overview
- Add did-wallet app dependencies and node_modules
This commit is contained in:
Dorian
2026-01-27 17:18:21 +00:00
parent a81f655133
commit 0d073fa89e
22658 changed files with 4494151 additions and 6 deletions
+4
View File
@@ -0,0 +1,4 @@
This project is dual licensed under MIT and Apache-2.0.
MIT: https://www.opensource.org/licenses/mit
Apache-2.0: https://www.apache.org/licenses/license-2.0
+43
View File
@@ -0,0 +1,43 @@
# progress-events <!-- omit in toc -->
[![codecov](https://img.shields.io/codecov/c/github/achingbrain/progress-events.svg?style=flat-square)](https://codecov.io/gh/achingbrain/progress-events)
[![CI](https://img.shields.io/github/actions/workflow/status/achingbrain/progress-events/js-test-and-release.yml?branch=main\&style=flat-square)](https://github.com/achingbrain/progress-events/actions/workflows/js-test-and-release.yml?query=branch%3Amain)
> Progress events and types
## Table of contents <!-- omit in toc -->
- [Install](#install)
- [Browser `<script>` tag](#browser-script-tag)
- [API Docs](#api-docs)
- [License](#license)
- [Contribution](#contribution)
## Install
```console
$ npm i progress-events
```
### Browser `<script>` tag
Loading this module through a script tag will make it's exports available as `ProgressEvents` in the global namespace.
```html
<script src="https://unpkg.com/progress-events/dist/index.min.js"></script>
```
## API Docs
- <https://achingbrain.github.io/progress-events>
## License
Licensed under either of
- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)
- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)
## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
+3
View File
@@ -0,0 +1,3 @@
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.ProgressEvents = factory()}(typeof self !== 'undefined' ? self : this, function () {
"use strict";var ProgressEvents=(()=>{var a=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var n=(e,t)=>{for(var i in t)a(e,i,{get:t[i],enumerable:!0})},r=(e,t,i,d)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of p(t))!h.call(e,s)&&s!==i&&a(e,s,{get:()=>t[s],enumerable:!(d=l(t,s))||d.enumerable});return e};var x=e=>r(a({},"__esModule",{value:!0}),e);var o={};n(o,{CustomProgressEvent:()=>c});var c=class extends Event{type;detail;constructor(t,i){super(t),this.type=t,this.detail=i}};return x(o);})();
return ProgressEvents}));
+43
View File
@@ -0,0 +1,43 @@
/**
* Progress events are emitted during long running operations
*/
export interface ProgressEvent<T extends string = any, D = unknown> {
/**
* The event type
*/
type: T;
/**
* Context-specific event information
*/
detail: D;
}
/**
* An implementation of the ProgressEvent interface, this is essentially
* a typed `CustomEvent` with a `type` property that lets us disambiguate
* events passed to `progress` callbacks.
*/
export declare class CustomProgressEvent<D = unknown, T extends string = any> extends Event implements ProgressEvent<T, D> {
type: T;
detail: D;
constructor(type: T, detail?: D);
}
/**
* Define an `onProgress` callback that can be invoked with `ProgressEvent`s
*
* @example
*
* ```typescript
* type MyOperationProgressEvents =
* ProgressEvent<'operation:start'> |
* ProgressEvent<'operation:success', Result> |
* ProgressEvent<'operation:error', Error>
*
* export interface MyOperationOptions extends ProgressOptions<MyOperationProgressEvents> {
* // define options here
* }
* ```
*/
export interface ProgressOptions<Event extends ProgressEvent = any> {
onProgress?: (evt: Event) => void;
}
//# sourceMappingURL=index.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,OAAO;IAChE;;OAEG;IACH,IAAI,EAAE,CAAC,CAAA;IAEP;;OAEG;IACH,MAAM,EAAE,CAAC,CAAA;CACV;AAED;;;;GAIG;AACH,qBAAa,mBAAmB,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,SAAS,MAAM,GAAG,GAAG,CAAE,SAAQ,KAAM,YAAW,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IACzG,IAAI,EAAE,CAAC,CAAA;IACP,MAAM,EAAE,CAAC,CAAA;gBAEH,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;CAOjC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,eAAe,CAAC,KAAK,SAAS,aAAa,GAAG,GAAG;IAChE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAA;CAClC"}
+16
View File
@@ -0,0 +1,16 @@
/**
* An implementation of the ProgressEvent interface, this is essentially
* a typed `CustomEvent` with a `type` property that lets us disambiguate
* events passed to `progress` callbacks.
*/
export class CustomProgressEvent extends Event {
type;
detail;
constructor(type, detail) {
super(type);
this.type = type;
// @ts-expect-error detail may be undefined
this.detail = detail;
}
}
//# sourceMappingURL=index.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,MAAM,OAAO,mBAAyD,SAAQ,KAAK;IAC1E,IAAI,CAAG;IACP,MAAM,CAAG;IAEhB,YAAa,IAAO,EAAE,MAAU;QAC9B,KAAK,CAAC,IAAI,CAAC,CAAA;QAEX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,2CAA2C;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF"}
+8
View File
@@ -0,0 +1,8 @@
{
"CustomProgressEvent": "https://achingbrain.github.io/progress-events/classes/CustomProgressEvent.html",
".:CustomProgressEvent": "https://achingbrain.github.io/progress-events/classes/CustomProgressEvent.html",
"ProgressEvent": "https://achingbrain.github.io/progress-events/interfaces/ProgressEvent.html",
".:ProgressEvent": "https://achingbrain.github.io/progress-events/interfaces/ProgressEvent.html",
"ProgressOptions": "https://achingbrain.github.io/progress-events/interfaces/ProgressOptions.html",
".:ProgressOptions": "https://achingbrain.github.io/progress-events/interfaces/ProgressOptions.html"
}
+138
View File
@@ -0,0 +1,138 @@
{
"name": "progress-events",
"version": "1.0.1",
"description": "Progress events and types",
"author": "",
"license": "Apache-2.0 OR MIT",
"homepage": "https://github.com/achingbrain/progress-events#readme",
"repository": {
"type": "git",
"url": "git+https://github.com/achingbrain/progress-events.git"
},
"bugs": {
"url": "https://github.com/achingbrain/progress-events/issues"
},
"type": "module",
"types": "./dist/src/index.d.ts",
"files": [
"src",
"dist",
"!dist/test",
"!**/*.tsbuildinfo"
],
"exports": {
".": {
"types": "./dist/src/index.d.ts",
"import": "./dist/src/index.js"
}
},
"eslintConfig": {
"extends": "ipfs",
"parserOptions": {
"sourceType": "module"
}
},
"release": {
"branches": [
"main"
],
"plugins": [
[
"@semantic-release/commit-analyzer",
{
"preset": "conventionalcommits",
"releaseRules": [
{
"breaking": true,
"release": "major"
},
{
"revert": true,
"release": "patch"
},
{
"type": "feat",
"release": "minor"
},
{
"type": "fix",
"release": "patch"
},
{
"type": "docs",
"release": "patch"
},
{
"type": "test",
"release": "patch"
},
{
"type": "deps",
"release": "patch"
},
{
"scope": "no-release",
"release": false
}
]
}
],
[
"@semantic-release/release-notes-generator",
{
"preset": "conventionalcommits",
"presetConfig": {
"types": [
{
"type": "feat",
"section": "Features"
},
{
"type": "fix",
"section": "Bug Fixes"
},
{
"type": "chore",
"section": "Trivial Changes"
},
{
"type": "docs",
"section": "Documentation"
},
{
"type": "deps",
"section": "Dependencies"
},
{
"type": "test",
"section": "Tests"
}
]
}
}
],
"@semantic-release/changelog",
"@semantic-release/npm",
"@semantic-release/github",
"@semantic-release/git"
]
},
"scripts": {
"clean": "aegir clean",
"lint": "aegir lint",
"build": "aegir build",
"generate": "protons ./src/message/dht.proto",
"test": "aegir test",
"test:node": "aegir test -t node --cov",
"test:chrome": "aegir test -t browser --cov",
"test:chrome-webworker": "aegir test -t webworker",
"test:firefox": "aegir test -t browser -- --browser firefox",
"test:firefox-webworker": "aegir test -t webworker -- --browser firefox",
"dep-check": "aegir dep-check",
"release": "aegir release",
"docs": "aegir docs"
},
"devDependencies": {
"aegir": "^40.0.0"
}
}
+52
View File
@@ -0,0 +1,52 @@
/**
* Progress events are emitted during long running operations
*/
export interface ProgressEvent<T extends string = any, D = unknown> {
/**
* The event type
*/
type: T
/**
* Context-specific event information
*/
detail: D
}
/**
* An implementation of the ProgressEvent interface, this is essentially
* a typed `CustomEvent` with a `type` property that lets us disambiguate
* events passed to `progress` callbacks.
*/
export class CustomProgressEvent<D = unknown, T extends string = any> extends Event implements ProgressEvent<T, D> {
public type: T
public detail: D
constructor (type: T, detail?: D) {
super(type)
this.type = type
// @ts-expect-error detail may be undefined
this.detail = detail
}
}
/**
* Define an `onProgress` callback that can be invoked with `ProgressEvent`s
*
* @example
*
* ```typescript
* type MyOperationProgressEvents =
* ProgressEvent<'operation:start'> |
* ProgressEvent<'operation:success', Result> |
* ProgressEvent<'operation:error', Error>
*
* export interface MyOperationOptions extends ProgressOptions<MyOperationProgressEvents> {
* // define options here
* }
* ```
*/
export interface ProgressOptions<Event extends ProgressEvent = any> {
onProgress?: (evt: Event) => void
}