@degreesign/webapp 1.7.5 → 1.7.7
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 +15 -8
- package/package.json +8 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @degreesign/webapp
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**A TypeScript-first development standard for building a webapp — production-ready Progressive Web Apps and Node.js servers in pure HTML, CSS and TypeScript, engineered for the fastest possible renders and sub-second page loads; one config generates optimized bundles, SEO meta tags, a PWA manifest, service worker, `sitemap.xml`, `robots.txt`, `.htaccess` and optional JavaScript obfuscation.**
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@degreesign/webapp)
|
|
6
6
|
[](https://www.npmjs.com/package/@degreesign/webapp)
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
- [Build API](#build-api)
|
|
19
19
|
- [File Utilities](#file-utilities)
|
|
20
20
|
- [Types](#types)
|
|
21
|
+
- [Architecture](#architecture)
|
|
21
22
|
- [Configuration Options](#configuration-options)
|
|
22
23
|
- [FAQ](#faq)
|
|
23
24
|
- [Keywords](#keywords)
|
|
@@ -25,19 +26,19 @@
|
|
|
25
26
|
|
|
26
27
|
## What is @degreesign/webapp?
|
|
27
28
|
|
|
28
|
-
`@degreesign/webapp`
|
|
29
|
+
`@degreesign/webapp` defines a **TypeScript-first development standard** for shipping **Progressive Web Apps (PWAs)** and **Node.js server bundles** from a single `build()` call: it is a small, dependency-light Webpack and TypeScript toolkit for building a webapp from **pure HTML, CSS and TypeScript**, with no framework runtime to ship or hydrate, so first render is immediate and page loads stay sub-second. Instead of hand-writing hundreds of lines of Webpack config, you pass one typed config object and get a production-ready build: TypeScript compilation, CSS extraction and inlining, asset copying, HTML templating, SEO and Open Graph/Twitter meta tags, `app.json` manifest, auto-registered service worker, sitemap, `robots.txt`, `.htaccess` security policies, bundle analysis and optional code obfuscation. It is a build-time developer tool — it runs in Node.js during your build, not in the browser.
|
|
29
30
|
|
|
30
31
|
## Why @degreesign/webapp?
|
|
31
32
|
|
|
32
33
|
- **One config, whole build** — a single typed object replaces a full `webpack.config.ts` with plugins, loaders and rules.
|
|
33
34
|
- **PWA out of the box** — generates the web app manifest, service worker, icons, orientation and install metadata automatically.
|
|
34
35
|
- **SEO built in** — per-page title, description, canonical URL, Open Graph, Twitter Cards, `robots.txt` and `sitemap.xml`.
|
|
35
|
-
- **
|
|
36
|
+
- **Typed configuration** — ships type definitions and typed configuration (`ConfigBuild`, `Page`, `PreconnectLink`).
|
|
36
37
|
- **Web and server bundling** — build the front-end to `public_html/` and the Node.js back-end to `server_build/` from the same package.
|
|
37
38
|
- **Performance defaults** — Terser minification, CSS minification, tree-shaking, content hashing and a 2 MB asset budget (configurable).
|
|
38
39
|
- **Optional obfuscation** — toggle `obfuscateON` to protect shipped JavaScript with `webpack-obfuscator`.
|
|
39
40
|
- **Secure by default** — emits `.htaccess` with HSTS, `X-Frame-Options`, Referrer-Policy, Permissions-Policy and HTTPS redirects.
|
|
40
|
-
- **
|
|
41
|
+
- **Pure HTML + CSS + TypeScript** — no framework runtime, hydration or virtual DOM to download; pages are generated as real markup at build time for the fastest possible first paint and sub-second page loads.
|
|
41
42
|
- **MIT licensed and free forever.**
|
|
42
43
|
|
|
43
44
|
## Installation
|
|
@@ -219,6 +220,12 @@ Small, dependency-free Node.js helpers used internally and exported for reuse in
|
|
|
219
220
|
|
|
220
221
|
Additional public types `ConfigBuild`, `ConfigBase`, `ConfigWebApp`, `ConfigServer`, `MetaTags`, `MetaTagsInput` and `WebManifest` are exported from the package source for advanced typing.
|
|
221
222
|
|
|
223
|
+
## Architecture
|
|
224
|
+
|
|
225
|
+
The package is one entry (`index.ts`) over a build core (`src/main.ts`) that branches on `ConfigBuild.type`: a web pipeline (`src/web.ts`) for PWAs and a Node target for servers, with file, tag and type support in `src/utils.ts` and `src/types.ts`. The service worker and its register script ship to the app from `src/sw.ts` and `src/sw_register.ts`.
|
|
226
|
+
|
|
227
|
+
Open [`docs/architecture.html`](https://degreesign.github.io/ds_webapp/architecture.html) — published by GitHub Pages from the `docs/` directory — for the full map: bands in dependency order, every module and function with its definition line and signature, the real call, build and type relations, and the primary flow from one config to the emitted output. The page is self-contained and works offline.
|
|
228
|
+
|
|
222
229
|
## Configuration Options
|
|
223
230
|
|
|
224
231
|
### Base options (`ConfigBase`)
|
|
@@ -285,7 +292,7 @@ Additional public types `ConfigBuild`, `ConfigBase`, `ConfigWebApp`, `ConfigServ
|
|
|
285
292
|
## FAQ
|
|
286
293
|
|
|
287
294
|
**What is `@degreesign/webapp`?**
|
|
288
|
-
A Webpack + TypeScript build toolkit that turns one typed config object into a production-ready Progressive Web App and/or Node.js server bundle, including SEO metadata, a PWA manifest, service worker, sitemap and security headers.
|
|
295
|
+
A TypeScript-first Webpack + TypeScript build toolkit that turns one typed config object into a production-ready webapp — a Progressive Web App built from pure HTML, CSS and TypeScript — and/or a Node.js server bundle, including SEO metadata, a PWA manifest, service worker, sitemap and security headers.
|
|
289
296
|
|
|
290
297
|
**Is it free?**
|
|
291
298
|
Yes. It is open source under the MIT License and free to use in personal and commercial projects.
|
|
@@ -299,8 +306,8 @@ Yes. It wraps and configures Webpack plugins such as `terser-webpack-plugin`, `c
|
|
|
299
306
|
**Does it support TypeScript?**
|
|
300
307
|
Yes. It ships type definitions, compiles TypeScript via `ts-loader`, and exposes fully typed configuration (`ConfigBuild`, `ConfigWebApp`, `ConfigServer`, `Page`, `PreconnectLink`).
|
|
301
308
|
|
|
302
|
-
**
|
|
303
|
-
|
|
309
|
+
**How are pages built?**
|
|
310
|
+
Each page is an `.html` fragment plus a same-named `.ts` entry, styled by CSS, compiled to real markup at build time. There is no UI runtime to ship or hydrate, so first render is immediate. The package handles bundling, assets, PWA and SEO concerns rather than UI.
|
|
304
311
|
|
|
305
312
|
**Can I use it for a Node.js back-end?**
|
|
306
313
|
Yes. Set `type: "server"` with `filesList` to bundle one or more Node.js entry files, with `node_modules` externalized by default.
|
|
@@ -313,7 +320,7 @@ Web builds default to `public_html/` and server builds to `server_build/`; both
|
|
|
313
320
|
|
|
314
321
|
## Keywords
|
|
315
322
|
|
|
316
|
-
webpack, webpack config, webpack 5, typescript, ts-loader, progressive web app, PWA, web app, PWA boilerplate, web app template, build tool, bundler, node.js server bundling, SEO, meta tags, open graph, twitter cards, sitemap, robots.txt, service worker, web manifest, app manifest, code obfuscation, webpack-bundle-analyzer, static site, front-end build, degreesign.
|
|
323
|
+
webpack, webpack config, webpack 5, typescript, ts-loader, progressive web app, PWA, webapp, web app, webapp boilerplate, PWA boilerplate, web app template, build tool, bundler, node.js server bundling, SEO, meta tags, open graph, twitter cards, sitemap, robots.txt, service worker, web manifest, app manifest, code obfuscation, webpack-bundle-analyzer, static site, front-end build, degreesign.
|
|
317
324
|
|
|
318
325
|
## License
|
|
319
326
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"license": "MIT",
|
|
3
3
|
"name": "@degreesign/webapp",
|
|
4
|
-
"version": "1.7.
|
|
4
|
+
"version": "1.7.7",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -36,6 +36,12 @@
|
|
|
36
36
|
"webpack-bundle-analyzer",
|
|
37
37
|
"static-site",
|
|
38
38
|
"front-end-build",
|
|
39
|
+
"webapp",
|
|
40
|
+
"webapp-template",
|
|
41
|
+
"webapp-boilerplate",
|
|
42
|
+
"typescript-first",
|
|
43
|
+
"development-standard",
|
|
44
|
+
"performance",
|
|
39
45
|
"degreesign"
|
|
40
46
|
],
|
|
41
47
|
"repository": {
|
|
@@ -44,7 +50,7 @@
|
|
|
44
50
|
},
|
|
45
51
|
"author": "DegreeSign",
|
|
46
52
|
"homepage": "https://degreesign.com",
|
|
47
|
-
"description": "
|
|
53
|
+
"description": "TypeScript-first development standard for building a webapp — production-ready Progressive Web Apps (PWA) and Node.js servers from pure HTML, CSS and TypeScript, engineered for the fastest possible renders and sub-second page loads, generating SEO meta tags, manifest, service worker, sitemap and obfuscation from one config.",
|
|
48
54
|
"bugs": {
|
|
49
55
|
"url": "https://github.com/DegreeSign/ds_webapp/issues"
|
|
50
56
|
},
|