@vault-tec/pip-boy 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,104 @@
1
+ # Pip-Boy
2
+
3
+ Angular library workspace for Pip-Boy UI components plus a local demo app.
4
+
5
+ ## Requirements
6
+
7
+ - Node.js 20+
8
+ - npm 10+
9
+
10
+ ## Workspace layout
11
+
12
+ - `projects/pip-boy`: Angular library source
13
+ - `projects/pip-boy-demo`: Demo app for local development
14
+ - `dist/pip-boy`: Compiled library output (this is what gets published)
15
+ - `tools/minify-dist.mjs`: Removes sourcemaps and minifies dist JS
16
+ - `tools/pack-lib.mjs`: Packs and validates the published artifact
17
+
18
+ ## Local development
19
+
20
+ Install deps:
21
+
22
+ ```bash
23
+ npm ci
24
+ ```
25
+
26
+ Run the demo app:
27
+
28
+ ```bash
29
+ npm run start:demo
30
+ ```
31
+
32
+ Build the library for local inspection:
33
+
34
+ ```bash
35
+ npm run build:lib
36
+ ```
37
+
38
+ ## Scripts
39
+
40
+ - `ng`: Angular CLI passthrough
41
+ - `start`: Angular CLI default serve
42
+ - `start:demo`: Serve the demo app (`pip-boy-demo`)
43
+ - `build`: Angular CLI default build
44
+ - `build:demo`: Build the demo app
45
+ - `build:lib`: Build the library into `dist/pip-boy`
46
+ - `watch`: Rebuild in watch mode (development configuration)
47
+ - `test`: Run Angular tests
48
+ - `minify:dist`: Removes `.map` files and minifies `.js`/`.mjs` in `dist/pip-boy`
49
+ - `pack:lib`: Runs `npm pack` in `dist/pip-boy` and fails if TS or maps are present
50
+ - `build:release`: `build:lib` then `minify:dist` then `pack:lib`
51
+
52
+ ## Publishing (npm only)
53
+
54
+ The published package is `@vault-tec/pip-boy`. Build output is published from `dist/pip-boy`.
55
+
56
+ ```bash
57
+ npm run build:release
58
+ cd dist/pip-boy
59
+ npm publish --access public
60
+ ```
61
+
62
+ ## Using the package
63
+
64
+ Install:
65
+
66
+ ```bash
67
+ npm install @vault-tec/pip-boy
68
+ ```
69
+
70
+ Import in your Angular app (standalone components):
71
+
72
+ ```ts
73
+ import { Component } from '@angular/core';
74
+ import {
75
+ PipBoy2000MkVI,
76
+ PipBoy3000MkIV,
77
+ PipBoy3000A,
78
+ PipBoy3000,
79
+ } from '@vault-tec/pip-boy';
80
+
81
+ @Component({
82
+ selector: 'app-root',
83
+ standalone: true,
84
+ imports: [PipBoy2000MkVI, PipBoy3000MkIV, PipBoy3000A, PipBoy3000],
85
+ template: `
86
+ <lib-pip-boy-2000-mk-vi></lib-pip-boy-2000-mk-vi>
87
+ <lib-pip-boy-3000-mk-iv></lib-pip-boy-3000-mk-iv>
88
+ <lib-pip-boy-3000-a></lib-pip-boy-3000-a>
89
+ <lib-pip-boy-3000></lib-pip-boy-3000>
90
+ `,
91
+ })
92
+ export class App {}
93
+ ```
94
+
95
+ ## Obfuscation by omission
96
+
97
+ This repo publishes only compiled output. The release process:
98
+
99
+ - disables TS sourcemaps for the library
100
+ - deletes any `.map` files from `dist/pip-boy`
101
+ - minifies all `.js` and `.mjs` bundles
102
+ - blocks packing if `.ts`, `.tsx`, or `.map` files are present
103
+
104
+ Users can still inspect shipped JS in the browser, but TS sources and sourcemaps are not included.
@@ -0,0 +1 @@
1
+ import*as e from"@angular/core";import{Component as o}from"@angular/core";class n{static"ɵfac"=e.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"21.0.8",ngImport:e,type:n,deps:[],target:e.ɵɵFactoryTarget.Component});static"ɵcmp"=e.ɵɵngDeclareComponent({minVersion:"14.0.0",version:"21.0.8",type:n,isStandalone:!0,selector:"lib-pip-boy-2000-mk-vi",ngImport:e,template:'\n <section class="pip-boy">\n <h2>Pip-Boy 2000 Mk VI</h2>\n <p>System status: nominal.</p>\n </section>\n ',isInline:!0,styles:[".pip-boy{font-family:Courier New,Courier,monospace;border:2px solid #3ad03a;padding:1rem;border-radius:6px;color:#3ad03a}\n"]})}e.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"21.0.8",ngImport:e,type:n,decorators:[{type:o,args:[{selector:"lib-pip-boy-2000-mk-vi",standalone:!0,template:'\n <section class="pip-boy">\n <h2>Pip-Boy 2000 Mk VI</h2>\n <p>System status: nominal.</p>\n </section>\n ',styles:[".pip-boy{font-family:Courier New,Courier,monospace;border:2px solid #3ad03a;padding:1rem;border-radius:6px;color:#3ad03a}\n"]}]}]});class a{static"ɵfac"=e.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"21.0.8",ngImport:e,type:a,deps:[],target:e.ɵɵFactoryTarget.Component});static"ɵcmp"=e.ɵɵngDeclareComponent({minVersion:"14.0.0",version:"21.0.8",type:a,isStandalone:!0,selector:"lib-pip-boy-3000-mk-iv",ngImport:e,template:'\n <section class="pip-boy">\n <h2>Pip-Boy 3000 Mk IV</h2>\n <p>Diagnostics: online.</p>\n </section>\n ',isInline:!0,styles:[".pip-boy{font-family:Courier New,Courier,monospace;border:2px solid #3ad03a;padding:1rem;border-radius:6px;color:#3ad03a}\n"]})}e.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"21.0.8",ngImport:e,type:a,decorators:[{type:o,args:[{selector:"lib-pip-boy-3000-mk-iv",standalone:!0,template:'\n <section class="pip-boy">\n <h2>Pip-Boy 3000 Mk IV</h2>\n <p>Diagnostics: online.</p>\n </section>\n ',styles:[".pip-boy{font-family:Courier New,Courier,monospace;border:2px solid #3ad03a;padding:1rem;border-radius:6px;color:#3ad03a}\n"]}]}]});class r{static"ɵfac"=e.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"21.0.8",ngImport:e,type:r,deps:[],target:e.ɵɵFactoryTarget.Component});static"ɵcmp"=e.ɵɵngDeclareComponent({minVersion:"14.0.0",version:"21.0.8",type:r,isStandalone:!0,selector:"lib-pip-boy-3000-a",ngImport:e,template:'\n <section class="pip-boy">\n <h2>Pip-Boy 3000A</h2>\n <p>Signal lock: stable.</p>\n </section>\n ',isInline:!0,styles:[".pip-boy{font-family:Courier New,Courier,monospace;border:2px solid #3ad03a;padding:1rem;border-radius:6px;color:#3ad03a}\n"]})}e.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"21.0.8",ngImport:e,type:r,decorators:[{type:o,args:[{selector:"lib-pip-boy-3000-a",standalone:!0,template:'\n <section class="pip-boy">\n <h2>Pip-Boy 3000A</h2>\n <p>Signal lock: stable.</p>\n </section>\n ',styles:[".pip-boy{font-family:Courier New,Courier,monospace;border:2px solid #3ad03a;padding:1rem;border-radius:6px;color:#3ad03a}\n"]}]}]});class i{static"ɵfac"=e.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"21.0.8",ngImport:e,type:i,deps:[],target:e.ɵɵFactoryTarget.Component});static"ɵcmp"=e.ɵɵngDeclareComponent({minVersion:"14.0.0",version:"21.0.8",type:i,isStandalone:!0,selector:"lib-pip-boy-3000",ngImport:e,template:'\n <section class="pip-boy">\n <h2>Pip-Boy 3000</h2>\n <p>Vault sync: active.</p>\n </section>\n ',isInline:!0,styles:[".pip-boy{font-family:Courier New,Courier,monospace;border:2px solid #3ad03a;padding:1rem;border-radius:6px;color:#3ad03a}\n"]})}e.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"21.0.8",ngImport:e,type:i,decorators:[{type:o,args:[{selector:"lib-pip-boy-3000",standalone:!0,template:'\n <section class="pip-boy">\n <h2>Pip-Boy 3000</h2>\n <p>Vault sync: active.</p>\n </section>\n ',styles:[".pip-boy{font-family:Courier New,Courier,monospace;border:2px solid #3ad03a;padding:1rem;border-radius:6px;color:#3ad03a}\n"]}]}]});export{n as PipBoy2000MkVI,i as PipBoy3000,r as PipBoy3000A,a as PipBoy3000MkIV};
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@vault-tec/pip-boy",
3
+ "version": "0.0.3",
4
+ "description": "Pip-Boy Angular library.",
5
+ "author": "Vault-Tec-Industries",
6
+ "license": "PolyForm-Noncommercial-1.0.0",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/Vault-Tec-Industries/Pip-Boy.git"
10
+ },
11
+ "keywords": [
12
+ "angular",
13
+ "pip-boy",
14
+ "library"
15
+ ],
16
+ "peerDependencies": {
17
+ "@angular/common": "^21.0.0",
18
+ "@angular/core": "^21.0.0"
19
+ },
20
+ "dependencies": {
21
+ "tslib": "^2.3.0"
22
+ },
23
+ "sideEffects": false,
24
+ "module": "fesm2022/vault-tec-pip-boy.mjs",
25
+ "typings": "types/vault-tec-pip-boy.d.ts",
26
+ "exports": {
27
+ "./package.json": {
28
+ "default": "./package.json"
29
+ },
30
+ ".": {
31
+ "types": "./types/vault-tec-pip-boy.d.ts",
32
+ "default": "./fesm2022/vault-tec-pip-boy.mjs"
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,23 @@
1
+ import * as i0 from '@angular/core';
2
+
3
+ declare class PipBoy2000MkVI {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<PipBoy2000MkVI, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<PipBoy2000MkVI, "lib-pip-boy-2000-mk-vi", never, {}, {}, never, never, true, never>;
6
+ }
7
+
8
+ declare class PipBoy3000MkIV {
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<PipBoy3000MkIV, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<PipBoy3000MkIV, "lib-pip-boy-3000-mk-iv", never, {}, {}, never, never, true, never>;
11
+ }
12
+
13
+ declare class PipBoy3000A {
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<PipBoy3000A, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<PipBoy3000A, "lib-pip-boy-3000-a", never, {}, {}, never, never, true, never>;
16
+ }
17
+
18
+ declare class PipBoy3000 {
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<PipBoy3000, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<PipBoy3000, "lib-pip-boy-3000", never, {}, {}, never, never, true, never>;
21
+ }
22
+
23
+ export { PipBoy2000MkVI, PipBoy3000, PipBoy3000A, PipBoy3000MkIV };
Binary file