@teispace/next-maker 3.0.2 → 3.0.4
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/CHANGELOG.md +14 -0
- package/dist/index.js +146 -146
- package/package.json +13 -11
- package/dist/build.d.ts +0 -1
- package/dist/src/commands/app.d.ts +0 -2
- package/dist/src/commands/component.d.ts +0 -2
- package/dist/src/commands/doctor.d.ts +0 -2
- package/dist/src/commands/env.d.ts +0 -2
- package/dist/src/commands/favicon.d.ts +0 -2
- package/dist/src/commands/feature.d.ts +0 -2
- package/dist/src/commands/hook.d.ts +0 -2
- package/dist/src/commands/index.d.ts +0 -2
- package/dist/src/commands/layout.d.ts +0 -2
- package/dist/src/commands/locale.d.ts +0 -2
- package/dist/src/commands/page.d.ts +0 -2
- package/dist/src/commands/provider.d.ts +0 -2
- package/dist/src/commands/remove.d.ts +0 -2
- package/dist/src/commands/service.d.ts +0 -2
- package/dist/src/commands/setup.d.ts +0 -2
- package/dist/src/commands/slice.d.ts +0 -2
- package/dist/src/commands/test.d.ts +0 -2
- package/dist/src/config/constants.d.ts +0 -0
- package/dist/src/config/errorHandlers.d.ts +0 -6
- package/dist/src/config/index.d.ts +0 -5
- package/dist/src/config/output.d.ts +0 -10
- package/dist/src/config/packages.d.ts +0 -25
- package/dist/src/config/path-safety.d.ts +0 -28
- package/dist/src/config/paths.d.ts +0 -93
- package/dist/src/config/spinner.d.ts +0 -11
- package/dist/src/config/utils.d.ts +0 -4
- package/dist/src/core/files.d.ts +0 -7
- package/dist/src/core/git.d.ts +0 -9
- package/dist/src/core/package-manager.d.ts +0 -11
- package/dist/src/detection/existence.checker.d.ts +0 -8
- package/dist/src/detection/index.d.ts +0 -3
- package/dist/src/detection/project.detector.d.ts +0 -14
- package/dist/src/generators/component.generator.d.ts +0 -8
- package/dist/src/generators/crud-service.generator.d.ts +0 -5
- package/dist/src/generators/feature.generator.d.ts +0 -6
- package/dist/src/generators/hook.generator.d.ts +0 -7
- package/dist/src/generators/index.d.ts +0 -19
- package/dist/src/generators/layout.generator.d.ts +0 -21
- package/dist/src/generators/locale.generator.d.ts +0 -9
- package/dist/src/generators/page.generator.d.ts +0 -9
- package/dist/src/generators/provider.generator.d.ts +0 -13
- package/dist/src/generators/service.generator.d.ts +0 -5
- package/dist/src/generators/slice.generator.d.ts +0 -10
- package/dist/src/generators/templates/barrel.template.d.ts +0 -11
- package/dist/src/generators/templates/component.template.d.ts +0 -4
- package/dist/src/generators/templates/crud-service.template.d.ts +0 -9
- package/dist/src/generators/templates/custom-hook.template.d.ts +0 -4
- package/dist/src/generators/templates/hook.template.d.ts +0 -8
- package/dist/src/generators/templates/layout.template.d.ts +0 -12
- package/dist/src/generators/templates/page.template.d.ts +0 -17
- package/dist/src/generators/templates/persist.template.d.ts +0 -5
- package/dist/src/generators/templates/provider.template.d.ts +0 -11
- package/dist/src/generators/templates/selectors.template.d.ts +0 -5
- package/dist/src/generators/templates/service.template.d.ts +0 -4
- package/dist/src/generators/templates/shared-component.template.d.ts +0 -9
- package/dist/src/generators/templates/slice.template.d.ts +0 -5
- package/dist/src/generators/templates/test.template.d.ts +0 -26
- package/dist/src/generators/templates/types.template.d.ts +0 -4
- package/dist/src/generators/test.generator.d.ts +0 -18
- package/dist/src/generators/types.d.ts +0 -18
- package/dist/src/index.d.ts +0 -1
- package/dist/src/manifests/bundle-analyzer.manifest.d.ts +0 -2
- package/dist/src/manifests/commitizen.manifest.d.ts +0 -2
- package/dist/src/manifests/dark-theme.manifest.d.ts +0 -2
- package/dist/src/manifests/http-client.manifest.d.ts +0 -2
- package/dist/src/manifests/i18n.manifest.d.ts +0 -2
- package/dist/src/manifests/index.d.ts +0 -23
- package/dist/src/manifests/react-compiler.manifest.d.ts +0 -2
- package/dist/src/manifests/redux.manifest.d.ts +0 -8
- package/dist/src/manifests/runner.d.ts +0 -36
- package/dist/src/manifests/security-headers.manifest.d.ts +0 -2
- package/dist/src/manifests/tests.manifest.d.ts +0 -2
- package/dist/src/manifests/transforms/next-config.d.ts +0 -24
- package/dist/src/manifests/transforms/unwrap-jsx.d.ts +0 -31
- package/dist/src/manifests/types.d.ts +0 -131
- package/dist/src/manifests/validate-scripts.manifest.d.ts +0 -2
- package/dist/src/manifests/ws.manifest.d.ts +0 -2
- package/dist/src/modifiers/api-registration.modifier.d.ts +0 -5
- package/dist/src/modifiers/app-paths.modifier.d.ts +0 -4
- package/dist/src/modifiers/crud-api-registration.modifier.d.ts +0 -4
- package/dist/src/modifiers/env-var.modifier.d.ts +0 -59
- package/dist/src/modifiers/helpers.d.ts +0 -13
- package/dist/src/modifiers/index.d.ts +0 -8
- package/dist/src/modifiers/root-provider.modifier.d.ts +0 -25
- package/dist/src/modifiers/root-reducer.modifier.d.ts +0 -6
- package/dist/src/modifiers/translation.modifier.d.ts +0 -4
- package/dist/src/modifiers/types.d.ts +0 -14
- package/dist/src/pipelines/feature.pipeline.d.ts +0 -13
- package/dist/src/pipelines/index.d.ts +0 -8
- package/dist/src/pipelines/runner.d.ts +0 -6
- package/dist/src/pipelines/service.pipeline.d.ts +0 -7
- package/dist/src/pipelines/slice.pipeline.d.ts +0 -8
- package/dist/src/pipelines/types.d.ts +0 -11
- package/dist/src/prompts/component.prompt.d.ts +0 -9
- package/dist/src/prompts/create-app.prompt.d.ts +0 -49
- package/dist/src/prompts/favicon.prompt.d.ts +0 -6
- package/dist/src/prompts/feature.prompt.d.ts +0 -10
- package/dist/src/prompts/hook.prompt.d.ts +0 -4
- package/dist/src/prompts/locale.prompt.d.ts +0 -12
- package/dist/src/prompts/page.prompt.d.ts +0 -12
- package/dist/src/prompts/service.prompt.d.ts +0 -6
- package/dist/src/prompts/slice.prompt.d.ts +0 -5
- package/dist/src/services/common/test-utils.d.ts +0 -11
- package/dist/src/services/favicon/css-colors.d.ts +0 -7
- package/dist/src/services/favicon/detect.d.ts +0 -15
- package/dist/src/services/favicon/encoders.d.ts +0 -22
- package/dist/src/services/favicon/index.d.ts +0 -6
- package/dist/src/services/favicon/manifest.d.ts +0 -24
- package/dist/src/services/favicon/pipeline.d.ts +0 -2
- package/dist/src/services/favicon/shapes.d.ts +0 -10
- package/dist/src/services/favicon/types.d.ts +0 -31
- package/dist/src/services/favicon/validate.d.ts +0 -10
- package/dist/src/services/init/cleanup/bundle-analyzer.cleanup.d.ts +0 -2
- package/dist/src/services/init/cleanup/dark-mode.cleanup.d.ts +0 -2
- package/dist/src/services/init/cleanup/http.cleanup.d.ts +0 -2
- package/dist/src/services/init/cleanup/i18n.cleanup.d.ts +0 -2
- package/dist/src/services/init/cleanup/index.d.ts +0 -2
- package/dist/src/services/init/cleanup/misc.cleanup.d.ts +0 -12
- package/dist/src/services/init/cleanup/react-compiler.cleanup.d.ts +0 -2
- package/dist/src/services/init/cleanup/redux.cleanup.d.ts +0 -2
- package/dist/src/services/init/cleanup/seo.cleanup.d.ts +0 -14
- package/dist/src/services/init/cleanup/tests.cleanup.d.ts +0 -2
- package/dist/src/services/init/cleanup/ws.cleanup.d.ts +0 -14
- package/dist/src/services/init/config.service.d.ts +0 -2
- package/dist/src/services/init/devtools.service.d.ts +0 -2
- package/dist/src/services/init/providers.service.d.ts +0 -3
- package/dist/src/services/init/template.service.d.ts +0 -1
- package/dist/src/services/setup/bundle-analyzer/index.d.ts +0 -1
- package/dist/src/services/setup/commitizen/index.d.ts +0 -2
- package/dist/src/services/setup/commitizen/package-modifier.d.ts +0 -16
- package/dist/src/services/setup/dark-theme/assets.d.ts +0 -3
- package/dist/src/services/setup/dark-theme/checks.d.ts +0 -5
- package/dist/src/services/setup/dark-theme/index.d.ts +0 -1
- package/dist/src/services/setup/dark-theme/injectors.d.ts +0 -4
- package/dist/src/services/setup/dark-theme/utils.d.ts +0 -1
- package/dist/src/services/setup/http-client/assets.d.ts +0 -4
- package/dist/src/services/setup/http-client/checks.d.ts +0 -7
- package/dist/src/services/setup/http-client/index.d.ts +0 -1
- package/dist/src/services/setup/http-client/injectors.d.ts +0 -97
- package/dist/src/services/setup/i18n/assets.d.ts +0 -3
- package/dist/src/services/setup/i18n/checks.d.ts +0 -5
- package/dist/src/services/setup/i18n/index.d.ts +0 -1
- package/dist/src/services/setup/i18n/injectors.d.ts +0 -5
- package/dist/src/services/setup/react-compiler/index.d.ts +0 -1
- package/dist/src/services/setup/redux/assets.d.ts +0 -4
- package/dist/src/services/setup/redux/checks.d.ts +0 -5
- package/dist/src/services/setup/redux/index.d.ts +0 -1
- package/dist/src/services/setup/redux/injectors.d.ts +0 -3
- package/dist/src/services/setup/security-headers/headers.d.ts +0 -28
- package/dist/src/services/setup/security-headers/index.d.ts +0 -2
- package/dist/src/services/setup/tests/index.d.ts +0 -1
- package/dist/src/services/setup/validate-scripts/index.d.ts +0 -3
- package/dist/src/services/setup/validate-scripts/package-modifier.d.ts +0 -18
- package/dist/src/services/setup/validate-scripts/scripts.d.ts +0 -11
- package/dist/src/services/setup/ws/assets.d.ts +0 -20
- package/dist/src/services/setup/ws/checks.d.ts +0 -17
- package/dist/src/services/setup/ws/index.d.ts +0 -20
- package/dist/src/services/setup/ws/injectors.d.ts +0 -56
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { PackageManager } from '../../../core/package-manager';
|
|
2
|
-
/**
|
|
3
|
-
* Pure modifiers for the package.json `scripts` block — separated from the
|
|
4
|
-
* service so they can be unit-tested without touching the filesystem.
|
|
5
|
-
*/
|
|
6
|
-
export interface PackageJsonShape {
|
|
7
|
-
scripts?: Record<string, string>;
|
|
8
|
-
devDependencies?: Record<string, string>;
|
|
9
|
-
[key: string]: unknown;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Add the validation scripts (env:sync, check:deprecated, validate) and the
|
|
13
|
-
* matching tsx/typescript dev-deps, never overwriting a user-defined entry.
|
|
14
|
-
*
|
|
15
|
-
* Returns a *new* package.json object — callers pass it through `updateJson`
|
|
16
|
-
* which already understands "function returns the new value".
|
|
17
|
-
*/
|
|
18
|
-
export declare const addValidationScripts: (pkg: PackageJsonShape, manager: PackageManager) => PackageJsonShape;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Source for the two validation scripts the starter ships under `scripts/`.
|
|
3
|
-
*
|
|
4
|
-
* Inlined here (not fetched from the starter via degit) because (a) these
|
|
5
|
-
* scripts are stable and don't drift, (b) we get instant offline retrofits,
|
|
6
|
-
* and (c) the diff between starter and next-maker is small enough to spot
|
|
7
|
-
* during release reviews. If they ever start to differ, switch this module
|
|
8
|
-
* to a degit fetch — the rest of the service won't need to change.
|
|
9
|
-
*/
|
|
10
|
-
export declare const SYNC_ENV_SCRIPT = "import * as fs from 'node:fs';\nimport * as path from 'node:path';\n\nconst checkOnly = process.argv.includes('--check');\n\nconst envPath = path.join(process.cwd(), '.env');\nconst examplePath = path.join(process.cwd(), '.env.example');\n\nif (!fs.existsSync(envPath)) {\n console.log('\u26A0\uFE0F No .env file found. Skipping sync.');\n process.exit(0);\n}\n\nconst envContent = fs.readFileSync(envPath, 'utf-8');\nconst lines = envContent.split('\\n');\n\nlet isPublicBlock = false;\n\nconst exampleLines = lines.map((line) => {\n const trimmed = line.trim();\n\n // Preserve empty lines and reset public block state\n if (!trimmed) {\n isPublicBlock = false;\n return line;\n }\n\n // Preserve comments\n if (trimmed.startsWith('#')) {\n if (line.toLowerCase().includes('-public')) {\n isPublicBlock = true;\n }\n return line;\n }\n\n // Parse KEY=VALUE\n const match = line.match(/^([^=]+)=(.*)$/);\n\n if (match) {\n const key = match[1];\n\n // Public marker: explicit \"# -public\" comment, or \"KEY=VAL # -public\"\n if (isPublicBlock || line.toLowerCase().includes('-public')) {\n isPublicBlock = false;\n return line;\n }\n\n isPublicBlock = false;\n return `${key}=`;\n }\n\n isPublicBlock = false;\n return line;\n});\n\nconst newExampleContent = exampleLines.join('\\n');\n\nlet currentExampleContent = '';\nif (fs.existsSync(examplePath)) {\n currentExampleContent = fs.readFileSync(examplePath, 'utf-8');\n}\n\nif (currentExampleContent === newExampleContent) {\n console.log('\u2728 .env.example is already up to date');\n process.exit(0);\n}\n\nif (checkOnly) {\n console.error('\u274C .env.example is out of sync with .env. Run \"yarn env:sync\" to update.');\n process.exit(1);\n}\n\nfs.writeFileSync(examplePath, newExampleContent);\nconsole.log('\u2705 Synchronized .env.example with .env');\n";
|
|
11
|
-
export declare const CHECK_DEPRECATED_SCRIPT = "/**\n * Walks every identifier in the project and flags any whose resolved TypeScript\n * symbol carries a `@deprecated` JSDoc tag. Catches deprecated API usage that\n * `tsc --noEmit` does not surface (deprecations are \"suggestion\"-level, not\n * errors) and that Biome does not yet detect.\n *\n * Exits 1 if any deprecated usage is found (so it can gate CI).\n */\nimport path from 'node:path';\nimport ts from 'typescript';\n\nconst cwd = process.cwd();\nconst configPath = ts.findConfigFile(cwd, ts.sys.fileExists, 'tsconfig.json');\n\nif (!configPath) {\n console.error('tsconfig.json not found');\n process.exit(1);\n}\n\nconst raw = ts.readConfigFile(configPath, ts.sys.readFile).config;\nconst parsed = ts.parseJsonConfigFileContent(raw, ts.sys, path.dirname(configPath));\n\nconst program = ts.createProgram({\n rootNames: parsed.fileNames,\n options: parsed.options,\n});\n\nconst checker = program.getTypeChecker();\n\nfunction isDeprecated(sym: ts.Symbol | undefined): boolean {\n if (!sym) return false;\n return sym.getJsDocTags(checker).some((tag) => tag.name === 'deprecated');\n}\n\nlet hits = 0;\n\nfor (const sourceFile of program.getSourceFiles()) {\n if (sourceFile.fileName.includes('node_modules')) continue;\n if (!sourceFile.fileName.startsWith(cwd)) continue;\n\n const visit = (node: ts.Node): void => {\n if (ts.isIdentifier(node)) {\n const sym = checker.getSymbolAtLocation(node);\n if (isDeprecated(sym)) {\n const { line, character } = sourceFile.getLineAndCharacterOfPosition(node.getStart());\n console.log(\n `${path.relative(cwd, sourceFile.fileName)}:${line + 1}:${character + 1} ${node.text} (@deprecated)`,\n );\n hits++;\n }\n }\n ts.forEachChild(node, visit);\n };\n\n visit(sourceFile);\n}\n\nif (hits === 0) {\n console.log('\u2713 No deprecated API usage found.');\n process.exit(0);\n}\n\nconsole.log(`\\n${hits} deprecated symbol use(s) found.`);\nprocess.exit(1);\n";
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { Ora } from 'ora';
|
|
2
|
-
export declare const fetchAssets: (tempDir: string, spinner: Ora) => Promise<void>;
|
|
3
|
-
/**
|
|
4
|
-
* Copy the entire WS subtree + the connection-state slice. The subtree is
|
|
5
|
-
* package-managed code (not a user-edit surface) so it's always overwritten.
|
|
6
|
-
*
|
|
7
|
-
* `keepTests=false` strips `*.test.ts(x)` files and the `__test-utils__/`
|
|
8
|
-
* helper directory so projects without vitest don't carry dead test files.
|
|
9
|
-
* The strip is applied AFTER the recursive copy because cherry-picking files
|
|
10
|
-
* with `fs.cp` filters is awkward and slow on this small a tree.
|
|
11
|
-
*/
|
|
12
|
-
export declare const copyWsFiles: (projectPath: string, tempDir: string, options: {
|
|
13
|
-
keepTests: boolean;
|
|
14
|
-
}) => Promise<void>;
|
|
15
|
-
/**
|
|
16
|
-
* Walk the copied ws/ tree and remove `*.test.ts`, `*.test.tsx`, and the
|
|
17
|
-
* `__test-utils__/` directory. Used when the project doesn't have vitest —
|
|
18
|
-
* orphan test files generate IDE noise and never run.
|
|
19
|
-
*/
|
|
20
|
-
export declare const stripWsTestArtifacts: (wsRoot: string) => Promise<void>;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export type WsSetupStatus = {
|
|
2
|
-
isSetup: boolean;
|
|
3
|
-
reason?: string;
|
|
4
|
-
};
|
|
5
|
-
/**
|
|
6
|
-
* Reports `isSetup: true` when the ws directory is already on disk —
|
|
7
|
-
* matches the dual-signal check `detectProjectSetup` uses, but doesn't
|
|
8
|
-
* require the dep to be resolved (the setup service installs the dep
|
|
9
|
-
* itself, so we don't want to gate on it).
|
|
10
|
-
*/
|
|
11
|
-
export declare const checkIsAlreadySetup: (projectPath: string) => Promise<WsSetupStatus>;
|
|
12
|
-
/**
|
|
13
|
-
* WS layer depends on Redux: the bridge dispatches into `wsReducer`, and
|
|
14
|
-
* `src/store/rootReducer.ts` is the file we register the reducer in. Fail
|
|
15
|
-
* loud before any files are copied so the user can run `setup --redux` first.
|
|
16
|
-
*/
|
|
17
|
-
export declare const validateProjectStructure: (projectPath: string) => Promise<void>;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Set up the WebSocket transport layer in an existing project.
|
|
3
|
-
*
|
|
4
|
-
* Pre-requisites validated up front: Redux must be installed (the bridge
|
|
5
|
-
* dispatches into a Redux slice). On a fresh install the orchestrator
|
|
6
|
-
* fails fast with guidance to run `setup --redux` first rather than
|
|
7
|
-
* leaving a half-applied state.
|
|
8
|
-
*
|
|
9
|
-
* Steps:
|
|
10
|
-
* 1. pre-check (skip if ws/ already exists)
|
|
11
|
-
* 2. validate Redux is present
|
|
12
|
-
* 3. degit the starter into a tempdir
|
|
13
|
-
* 4. copy ws/ subtree + wsReducer slice (strip *.test.ts when no vitest)
|
|
14
|
-
* 5. wire wsReducer into rootReducer (no persist — connection state is ephemeral)
|
|
15
|
-
* 6. mount attachWsBridge inside StoreProvider's useEffect
|
|
16
|
-
* 7. ensure test/setup.ts has the react-secure-storage + server-only mocks
|
|
17
|
-
* 8. install socket.io-client (pinned to ^4.8.3 — backend protocol match)
|
|
18
|
-
* 9. format via `lint:fix`
|
|
19
|
-
*/
|
|
20
|
-
export declare const setupWs: (projectPath: string) => Promise<void>;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Register `wsReducer` in `src/store/rootReducer.ts` WITHOUT wrapping it in
|
|
3
|
-
* `persistReducer` — connection state is ephemeral and rehydrating it would
|
|
4
|
-
* lie about the actual transport. Delegates to the existing root-reducer
|
|
5
|
-
* modifier; passing `persist: false` produces the same shape the template ships.
|
|
6
|
-
*/
|
|
7
|
-
export declare const registerWsReducer: (projectPath: string) => Promise<void>;
|
|
8
|
-
/**
|
|
9
|
-
* Pure helper: insert the `attachWsBridge` import + useEffect block into a
|
|
10
|
-
* StoreProvider.tsx source string. Idempotent — bails when the import is
|
|
11
|
-
* already present.
|
|
12
|
-
*
|
|
13
|
-
* The bridge effect mounts immediately after the `if (!storeRef.current) {...}`
|
|
14
|
-
* initialiser, matching the template. We anchor on the closing brace of that
|
|
15
|
-
* block to preserve any pre-existing effects further down (a user may have
|
|
16
|
-
* added unrelated mount logic).
|
|
17
|
-
*/
|
|
18
|
-
export declare const injectBridgeMount: (content: string) => string;
|
|
19
|
-
/**
|
|
20
|
-
* Reverse of `injectBridgeMount`. Drops the import + effect block, and also
|
|
21
|
-
* prunes `useEffect` from the React import when no other `useEffect(` call
|
|
22
|
-
* survives (so we don't leave an unused-import lint error).
|
|
23
|
-
*
|
|
24
|
-
* Anchored on **stable code tokens** — the import path `@/lib/utils/ws` and
|
|
25
|
-
* the function name `attachWsBridge` — not the comment wording. Upstream
|
|
26
|
-
* comment drift won't silently break strip.
|
|
27
|
-
*/
|
|
28
|
-
export declare const stripBridgeMount: (content: string) => string;
|
|
29
|
-
/**
|
|
30
|
-
* Filesystem-bound install/strip pair.
|
|
31
|
-
*/
|
|
32
|
-
export declare const installBridgeMount: (projectPath: string) => Promise<void>;
|
|
33
|
-
export declare const removeBridgeMount: (projectPath: string) => Promise<void>;
|
|
34
|
-
/**
|
|
35
|
-
* Append `react-secure-storage` and `server-only` mocks to `test/setup.ts`
|
|
36
|
-
* if either is missing. The template ships them by default; this helper
|
|
37
|
-
* covers the case where the user has customised setup.ts after init.
|
|
38
|
-
*
|
|
39
|
-
* No-op when `test/setup.ts` doesn't exist (vitest isn't installed).
|
|
40
|
-
*/
|
|
41
|
-
export declare const ensureTestSetupMocks: (projectPath: string) => Promise<void>;
|
|
42
|
-
/**
|
|
43
|
-
* Pure helper: strip the `wsReducer` import + `ws: wsReducer,` entry from a
|
|
44
|
-
* rootReducer.ts source string. Also removes the JSDoc block above
|
|
45
|
-
* `combineReducers` that explains why `ws` is unwrapped (misleading once the
|
|
46
|
-
* entry is gone). Idempotent — re-applying is a no-op on clean input.
|
|
47
|
-
*
|
|
48
|
-
* Used by both `cleanupWs` (init-time opt-out) and the WS manifest's
|
|
49
|
-
* `removePattern` (so `remove ws` auto-strips instead of surfacing as
|
|
50
|
-
* manual cleanup).
|
|
51
|
-
*
|
|
52
|
-
* Anchored on stable code tokens (`wsReducer`, the import path, and the
|
|
53
|
-
* `ws` + `persistReducer` keywords inside the JSDoc) rather than literal
|
|
54
|
-
* comment text — upstream comment rewording doesn't break it.
|
|
55
|
-
*/
|
|
56
|
-
export declare const stripWsReducerRegistration: (content: string) => string;
|