@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.
Files changed (2) hide show
  1. package/README.md +15 -8
  2. package/package.json +8 -2
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @degreesign/webapp
2
2
 
3
- **Webpack + TypeScript build toolkit for production-ready Progressive Web Apps and Node.js servers — one config generates optimized bundles, SEO meta tags, a PWA manifest, service worker, `sitemap.xml`, `robots.txt`, `.htaccess` and optional JavaScript obfuscation.**
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
  [![npm version](https://img.shields.io/npm/v/@degreesign/webapp.svg)](https://www.npmjs.com/package/@degreesign/webapp)
6
6
  [![npm downloads](https://img.shields.io/npm/dm/@degreesign/webapp.svg)](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` is a small, dependency-light Webpack and TypeScript configuration toolkit for shipping **Progressive Web Apps (PWAs)** and **Node.js server bundles** from a single `build()` call. 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
+ `@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
- - **TypeScript-first** — ships type definitions and typed configuration (`ConfigBuild`, `Page`, `PreconnectLink`).
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
- - **Zero framework lock-in** — framework-agnostic; use it with vanilla TypeScript or any framework that compiles to a Webpack entry.
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
- **Which frameworks does it support?**
303
- It is framework-agnostic. Any framework that compiles to a Webpack entry (React, Vue, Svelte, Preact, vanilla TypeScript, etc.) can be used; the package handles bundling, assets, PWA and SEO concerns rather than UI.
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.5",
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": "Webpack + TypeScript build toolkit for production-ready Progressive Web Apps (PWA) and Node.js servers, generating SEO meta tags, manifest, service worker, sitemap and obfuscation from one config.",
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
  },