@c15t/cli 2.0.0-rc.3 → 2.0.0-rc.5
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 +43 -14
- package/dist/{153.mjs → 642.mjs} +45 -43
- package/dist/index.mjs +3113 -349
- package/{dist → dist-types}/actions/show-help-menu.d.ts +0 -1
- package/dist-types/auth/base-url.d.ts +7 -0
- package/{dist → dist-types}/auth/config-store.d.ts +0 -1
- package/{dist → dist-types}/auth/device-flow.d.ts +0 -1
- package/{dist → dist-types}/auth/index.d.ts +1 -1
- package/{dist → dist-types}/auth/types.d.ts +0 -1
- package/{dist → dist-types}/commands/auth/index.d.ts +0 -1
- package/dist-types/commands/codemods/active-ui-api.d.ts +41 -0
- package/dist-types/commands/codemods/component-renames.d.ts +41 -0
- package/dist-types/commands/codemods/gdpr-types-to-consent-categories.d.ts +41 -0
- package/dist-types/commands/codemods/ignore-geo-location-to-overrides.d.ts +41 -0
- package/dist-types/commands/codemods/index.d.ts +28 -0
- package/dist-types/commands/codemods/mode-c15t-to-hosted.d.ts +43 -0
- package/dist-types/commands/codemods/offline-add-policy-packs.d.ts +21 -0
- package/dist-types/commands/codemods/react-options-to-top-level.d.ts +41 -0
- package/dist-types/commands/codemods/tracking-blocker-to-network-blocker.d.ts +41 -0
- package/dist-types/commands/codemods/translations-to-i18n.d.ts +51 -0
- package/dist-types/commands/codemods/versioning.d.ts +49 -0
- package/{dist → dist-types}/commands/generate/index.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/options/shared/backend-options.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/options/shared/dev-tools.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/options/shared/frontend-ui-options.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/options/shared/scripts.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/options/shared/ssr.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/options/types.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/options/utils/dependencies.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/options/utils/generate-files.d.ts +2 -2
- package/{dist → dist-types}/commands/generate/preflight.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/prompts/expanded-theme.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/prompts/index.d.ts +0 -2
- package/{dist → dist-types}/commands/generate/prompts/mode-select.d.ts +1 -7
- package/{dist → dist-types}/commands/generate/prompts/scripts.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/prompts/theme.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/prompts/ui-style.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/summary.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/templates/config.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/templates/css.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/templates/env.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/templates/index.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/templates/layout.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/templates/next/app/layout.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/templates/next/index.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/templates/next/pages/layout.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/templates/next-config.d.ts +1 -4
- package/{dist → dist-types}/commands/generate/templates/shared/components.d.ts +2 -3
- package/{dist → dist-types}/commands/generate/templates/shared/directory.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/templates/shared/expanded-components.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/templates/shared/framework-config.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/templates/shared/layout-pipeline.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/templates/shared/module-specifier.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/templates/shared/options.d.ts +5 -6
- package/{dist → dist-types}/commands/generate/templates/shared/scripts.d.ts +0 -1
- package/{dist → dist-types}/commands/generate/templates/shared/server-components.d.ts +0 -1
- package/{dist → dist-types}/commands/index.d.ts +1 -1
- package/{dist → dist-types}/commands/instances/index.d.ts +0 -1
- package/{dist → dist-types}/commands/self-host/index.d.ts +0 -1
- package/{dist → dist-types}/commands/self-host/migrate/ensure-backend-config.d.ts +0 -1
- package/{dist → dist-types}/commands/self-host/migrate/index.d.ts +0 -1
- package/{dist → dist-types}/commands/self-host/migrate/migrator-result.d.ts +1 -2
- package/{dist → dist-types}/commands/self-host/migrate/orm-result.d.ts +1 -2
- package/{dist → dist-types}/commands/self-host/migrate/read-config.d.ts +1 -2
- package/{dist → dist-types}/commands/skills.d.ts +0 -1
- package/{dist → dist-types}/components/intro.d.ts +0 -1
- package/{dist → dist-types}/constants.d.ts +19 -9
- package/{dist → dist-types}/context/creator.d.ts +0 -1
- package/{dist → dist-types}/context/error-handlers.d.ts +0 -1
- package/{dist → dist-types}/context/file-system.d.ts +0 -1
- package/{dist → dist-types}/context/framework-detection.d.ts +0 -1
- package/{dist → dist-types}/context/package-manager-detection.d.ts +0 -1
- package/{dist → dist-types}/context/parser.d.ts +0 -1
- package/{dist → dist-types}/context/types.d.ts +1 -2
- package/{dist → dist-types}/context/user-interaction.d.ts +0 -1
- package/dist-types/control-plane/client.d.ts +56 -0
- package/dist-types/control-plane/index.d.ts +5 -0
- package/dist-types/control-plane/types.d.ts +73 -0
- package/{dist → dist-types}/core/context.d.ts +0 -1
- package/{dist → dist-types}/core/errors.d.ts +5 -11
- package/{dist → dist-types}/core/index.d.ts +0 -1
- package/{dist → dist-types}/core/logger.d.ts +0 -1
- package/{dist → dist-types}/core/parser.d.ts +0 -1
- package/{dist → dist-types}/core/telemetry.d.ts +0 -1
- package/{dist → dist-types}/detection/framework.d.ts +0 -1
- package/{dist → dist-types}/detection/index.d.ts +0 -1
- package/{dist → dist-types}/detection/layout.d.ts +0 -1
- package/{dist → dist-types}/detection/package-manager.d.ts +0 -1
- package/{dist → dist-types}/index.d.ts +0 -1
- package/{dist → dist-types}/machines/generate/actions.d.ts +0 -1
- package/{dist → dist-types}/machines/generate/actors/dependencies.d.ts +0 -1
- package/{dist → dist-types}/machines/generate/actors/file-generation.d.ts +1 -2
- package/{dist → dist-types}/machines/generate/actors/preflight.d.ts +0 -1
- package/{dist → dist-types}/machines/generate/actors/prompts.d.ts +8 -13
- package/{dist → dist-types}/machines/generate/guards.d.ts +4 -5
- package/{dist → dist-types}/machines/generate/machine.d.ts +10 -23
- package/{dist → dist-types}/machines/generate/runner.d.ts +0 -1
- package/{dist → dist-types}/machines/generate/types.d.ts +4 -3
- package/{dist → dist-types}/machines/index.d.ts +1 -2
- package/{dist → dist-types}/machines/persistence.d.ts +0 -1
- package/{dist → dist-types}/machines/telemetry-plugin.d.ts +0 -1
- package/{dist → dist-types}/machines/types.d.ts +0 -1
- package/{dist → dist-types}/types.d.ts +6 -3
- package/{dist → dist-types}/utils/capitalize-first-letter.d.ts +0 -1
- package/{dist → dist-types}/utils/formatter.d.ts +0 -1
- package/{dist → dist-types}/utils/fs.d.ts +0 -1
- package/{dist → dist-types}/utils/index.d.ts +0 -1
- package/{dist → dist-types}/utils/logger.d.ts +1 -2
- package/{dist → dist-types}/utils/spinner.d.ts +0 -1
- package/{dist → dist-types}/utils/telemetry.d.ts +1 -2
- package/{dist → dist-types}/utils/validation.d.ts +0 -1
- package/package.json +7 -5
- package/readme.json +22 -8
- package/dist/__tests__/auth/config-store.test.d.ts +0 -2
- package/dist/__tests__/auth/config-store.test.d.ts.map +0 -1
- package/dist/__tests__/constants.test.d.ts +0 -2
- package/dist/__tests__/constants.test.d.ts.map +0 -1
- package/dist/__tests__/detection/layout.test.d.ts +0 -2
- package/dist/__tests__/detection/layout.test.d.ts.map +0 -1
- package/dist/__tests__/mocks/prompts.d.ts +0 -25
- package/dist/__tests__/mocks/prompts.d.ts.map +0 -1
- package/dist/__tests__/utils/validation.test.d.ts +0 -2
- package/dist/__tests__/utils/validation.test.d.ts.map +0 -1
- package/dist/actions/show-help-menu.d.ts.map +0 -1
- package/dist/auth/config-store.d.ts.map +0 -1
- package/dist/auth/device-flow.d.ts.map +0 -1
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/types.d.ts.map +0 -1
- package/dist/commands/auth/index.d.ts.map +0 -1
- package/dist/commands/generate/index.d.ts.map +0 -1
- package/dist/commands/generate/options/c15t-mode.d.ts +0 -27
- package/dist/commands/generate/options/c15t-mode.d.ts.map +0 -1
- package/dist/commands/generate/options/custom-mode.d.ts +0 -26
- package/dist/commands/generate/options/custom-mode.d.ts.map +0 -1
- package/dist/commands/generate/options/offline-mode.d.ts +0 -26
- package/dist/commands/generate/options/offline-mode.d.ts.map +0 -1
- package/dist/commands/generate/options/self-hosted-mode.d.ts +0 -19
- package/dist/commands/generate/options/self-hosted-mode.d.ts.map +0 -1
- package/dist/commands/generate/options/shared/backend-options.d.ts.map +0 -1
- package/dist/commands/generate/options/shared/dev-tools.d.ts.map +0 -1
- package/dist/commands/generate/options/shared/frontend-ui-options.d.ts.map +0 -1
- package/dist/commands/generate/options/shared/index.d.ts +0 -9
- package/dist/commands/generate/options/shared/index.d.ts.map +0 -1
- package/dist/commands/generate/options/shared/scripts.d.ts.map +0 -1
- package/dist/commands/generate/options/shared/ssr.d.ts.map +0 -1
- package/dist/commands/generate/options/types.d.ts.map +0 -1
- package/dist/commands/generate/options/utils/dependencies.d.ts.map +0 -1
- package/dist/commands/generate/options/utils/generate-files.d.ts.map +0 -1
- package/dist/commands/generate/preflight.d.ts.map +0 -1
- package/dist/commands/generate/prompts/expanded-theme.d.ts.map +0 -1
- package/dist/commands/generate/prompts/index.d.ts.map +0 -1
- package/dist/commands/generate/prompts/instance.d.ts +0 -33
- package/dist/commands/generate/prompts/instance.d.ts.map +0 -1
- package/dist/commands/generate/prompts/mode-select.d.ts.map +0 -1
- package/dist/commands/generate/prompts/scripts.d.ts.map +0 -1
- package/dist/commands/generate/prompts/theme.d.ts.map +0 -1
- package/dist/commands/generate/prompts/ui-style.d.ts.map +0 -1
- package/dist/commands/generate/summary.d.ts.map +0 -1
- package/dist/commands/generate/templates/config.d.ts.map +0 -1
- package/dist/commands/generate/templates/css.d.ts.map +0 -1
- package/dist/commands/generate/templates/env.d.ts.map +0 -1
- package/dist/commands/generate/templates/index.d.ts.map +0 -1
- package/dist/commands/generate/templates/layout.d.ts.map +0 -1
- package/dist/commands/generate/templates/next/app/layout.d.ts.map +0 -1
- package/dist/commands/generate/templates/next/index.d.ts.map +0 -1
- package/dist/commands/generate/templates/next/pages/layout.d.ts.map +0 -1
- package/dist/commands/generate/templates/next-config.d.ts.map +0 -1
- package/dist/commands/generate/templates/shared/components.d.ts.map +0 -1
- package/dist/commands/generate/templates/shared/directory.d.ts.map +0 -1
- package/dist/commands/generate/templates/shared/expanded-components.d.ts.map +0 -1
- package/dist/commands/generate/templates/shared/framework-config.d.ts.map +0 -1
- package/dist/commands/generate/templates/shared/layout-pipeline.d.ts.map +0 -1
- package/dist/commands/generate/templates/shared/module-specifier.d.ts.map +0 -1
- package/dist/commands/generate/templates/shared/options.d.ts.map +0 -1
- package/dist/commands/generate/templates/shared/scripts.d.ts.map +0 -1
- package/dist/commands/generate/templates/shared/server-components.d.ts.map +0 -1
- package/dist/commands/index.d.ts.map +0 -1
- package/dist/commands/instances/index.d.ts.map +0 -1
- package/dist/commands/self-host/index.d.ts.map +0 -1
- package/dist/commands/self-host/migrate/ensure-backend-config.d.ts.map +0 -1
- package/dist/commands/self-host/migrate/ensure-backend-config.test.d.ts +0 -2
- package/dist/commands/self-host/migrate/ensure-backend-config.test.d.ts.map +0 -1
- package/dist/commands/self-host/migrate/index.d.ts.map +0 -1
- package/dist/commands/self-host/migrate/index.test.d.ts +0 -2
- package/dist/commands/self-host/migrate/index.test.d.ts.map +0 -1
- package/dist/commands/self-host/migrate/migrator-result.d.ts.map +0 -1
- package/dist/commands/self-host/migrate/migrator-result.test.d.ts +0 -2
- package/dist/commands/self-host/migrate/migrator-result.test.d.ts.map +0 -1
- package/dist/commands/self-host/migrate/orm-result.d.ts.map +0 -1
- package/dist/commands/self-host/migrate/orm-result.test.d.ts +0 -2
- package/dist/commands/self-host/migrate/orm-result.test.d.ts.map +0 -1
- package/dist/commands/self-host/migrate/read-config.d.ts.map +0 -1
- package/dist/commands/self-host/migrate/read-config.test.d.ts +0 -2
- package/dist/commands/self-host/migrate/read-config.test.d.ts.map +0 -1
- package/dist/commands/skills.d.ts.map +0 -1
- package/dist/components/intro.d.ts.map +0 -1
- package/dist/constants.d.ts.map +0 -1
- package/dist/context/creator.d.ts.map +0 -1
- package/dist/context/error-handlers.d.ts.map +0 -1
- package/dist/context/file-system.d.ts.map +0 -1
- package/dist/context/framework-detection.d.ts.map +0 -1
- package/dist/context/package-manager-detection.d.ts.map +0 -1
- package/dist/context/parser.d.ts.map +0 -1
- package/dist/context/types.d.ts.map +0 -1
- package/dist/context/user-interaction.d.ts.map +0 -1
- package/dist/core/context.d.ts.map +0 -1
- package/dist/core/errors.d.ts.map +0 -1
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/logger.d.ts.map +0 -1
- package/dist/core/parser.d.ts.map +0 -1
- package/dist/core/telemetry.d.ts.map +0 -1
- package/dist/detection/framework.d.ts.map +0 -1
- package/dist/detection/index.d.ts.map +0 -1
- package/dist/detection/layout.d.ts.map +0 -1
- package/dist/detection/package-manager.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/machines/generate/actions.d.ts.map +0 -1
- package/dist/machines/generate/actors/dependencies.d.ts.map +0 -1
- package/dist/machines/generate/actors/file-generation.d.ts.map +0 -1
- package/dist/machines/generate/actors/preflight.d.ts.map +0 -1
- package/dist/machines/generate/actors/prompts.d.ts.map +0 -1
- package/dist/machines/generate/guards.d.ts.map +0 -1
- package/dist/machines/generate/machine.d.ts.map +0 -1
- package/dist/machines/generate/runner.d.ts.map +0 -1
- package/dist/machines/generate/types.d.ts.map +0 -1
- package/dist/machines/index.d.ts.map +0 -1
- package/dist/machines/persistence.d.ts.map +0 -1
- package/dist/machines/telemetry-plugin.d.ts.map +0 -1
- package/dist/machines/types.d.ts.map +0 -1
- package/dist/mcp/client.d.ts +0 -61
- package/dist/mcp/client.d.ts.map +0 -1
- package/dist/mcp/index.d.ts +0 -6
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/types.d.ts +0 -84
- package/dist/mcp/types.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/utils/capitalize-first-letter.d.ts.map +0 -1
- package/dist/utils/formatter.d.ts.map +0 -1
- package/dist/utils/fs.d.ts.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/spinner.d.ts.map +0 -1
- package/dist/utils/telemetry.d.ts.map +0 -1
- package/dist/utils/validation.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<a href="https://c15t.com?utm_source=github&utm_medium=repopage_%40c15t%2Fcli" target="_blank" rel="noopener noreferrer">
|
|
2
|
+
<a href="https://v2.c15t.com?utm_source=github&utm_medium=repopage_%40c15t%2Fcli" target="_blank" rel="noopener noreferrer">
|
|
3
3
|
<picture>
|
|
4
4
|
<source media="(prefers-color-scheme: dark)" srcset="../../docs/assets/c15t-banner-readme-dark.svg" type="image/svg+xml">
|
|
5
5
|
<img src="../../docs/assets/c15t-banner-readme-light.svg" alt="c15t Banner" type="image/svg+xml">
|
|
@@ -26,6 +26,7 @@ CLI for rapid c15t setup. Scaffold React and Next.js cookie banners and a prefer
|
|
|
26
26
|
- Database Migrations: Simplified database schema updates
|
|
27
27
|
- Multi-Framework Support: Works seamlessly across different web frameworks
|
|
28
28
|
- Interactive CLI: User-friendly command-line interface with guided workflows
|
|
29
|
+
- Agent Skills: Install reusable c15t agent skills for AI tooling
|
|
29
30
|
- GitHub Integration: Easy way to star and support the project
|
|
30
31
|
- Documentation Access: Quick access to project documentation
|
|
31
32
|
|
|
@@ -39,11 +40,11 @@ CLI for rapid c15t setup. Scaffold React and Next.js cookie banners and a prefer
|
|
|
39
40
|
Easiest setup with @c15t/cli:
|
|
40
41
|
|
|
41
42
|
```bash
|
|
42
|
-
#
|
|
43
|
-
pnpm dlx @c15t/cli
|
|
43
|
+
# Set up c15t
|
|
44
|
+
pnpm dlx @c15t/cli setup
|
|
44
45
|
# Alternatives:
|
|
45
|
-
# npx @c15t/cli
|
|
46
|
-
# bunx --bun @c15t/cli
|
|
46
|
+
# npx @c15t/cli setup
|
|
47
|
+
# bunx --bun @c15t/cli setup
|
|
47
48
|
```
|
|
48
49
|
|
|
49
50
|
The CLI will:
|
|
@@ -55,18 +56,46 @@ The CLI will:
|
|
|
55
56
|
|
|
56
57
|
## Usage
|
|
57
58
|
|
|
58
|
-
1. Run `@c15t/cli
|
|
59
|
-
2.
|
|
60
|
-
3.
|
|
61
|
-
4.
|
|
59
|
+
1. Run `@c15t/cli setup` to create initial configuration
|
|
60
|
+
2. Use the docs bundled in installed c15t packages under `docs/` for local agent context
|
|
61
|
+
3. Customize consent settings in generated files
|
|
62
|
+
4. Integrate with your web application
|
|
63
|
+
5. Use `@c15t/cli self-host migrate` for self-hosted database schema updates
|
|
62
64
|
|
|
63
65
|
## Available Commands
|
|
64
66
|
|
|
65
|
-
- `
|
|
66
|
-
- `
|
|
67
|
+
- `setup`: Set up c15t in your project
|
|
68
|
+
- `codemods`: Run migration codemods (for example `translations -> i18n`)
|
|
69
|
+
- `self-host`: Self-hosted workflow commands (currently database migrations)
|
|
70
|
+
- `skills`: Install c15t agent skills for AI-assisted development
|
|
71
|
+
- `changelog`: Open the c15t changelog in your browser
|
|
67
72
|
- `github`: Open the project's GitHub repository to star the project
|
|
68
73
|
- `docs`: Open the c15t documentation in your browser
|
|
69
74
|
|
|
75
|
+
### Codemods
|
|
76
|
+
|
|
77
|
+
Run codemods interactively:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
c15t codemods
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Preview changes without writing files:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
c15t codemods --dry-run
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Bundled Docs
|
|
90
|
+
|
|
91
|
+
Supported c15t packages now include local docs inside the installed package:
|
|
92
|
+
|
|
93
|
+
```text
|
|
94
|
+
node_modules/<package>/docs/
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
These docs are version-matched to the installed package and can be used as local agent context alongside c15t skills.
|
|
98
|
+
|
|
70
99
|
## Global Flags
|
|
71
100
|
|
|
72
101
|
- `--help`: Display help menu
|
|
@@ -88,7 +117,7 @@ Disable telemetry by:
|
|
|
88
117
|
|
|
89
118
|
## Documentation
|
|
90
119
|
|
|
91
|
-
For further information, guides, and examples visit the [reference documentation](https://c15t.com/docs/cli/overview).
|
|
120
|
+
For further information, guides, and examples visit the [reference documentation](https://v2.c15t.com/docs/cli/overview).
|
|
92
121
|
|
|
93
122
|
## Support
|
|
94
123
|
|
|
@@ -100,8 +129,8 @@ For further information, guides, and examples visit the [reference documentation
|
|
|
100
129
|
## Contributing
|
|
101
130
|
|
|
102
131
|
- We're open to all community contributions!
|
|
103
|
-
- Read our [Contribution Guidelines](https://c15t.com/docs/oss/contributing)
|
|
104
|
-
- Review our [Code of Conduct](https://c15t.com/docs/oss/code-of-conduct)
|
|
132
|
+
- Read our [Contribution Guidelines](https://v2.c15t.com/docs/oss/contributing)
|
|
133
|
+
- Review our [Code of Conduct](https://v2.c15t.com/docs/oss/code-of-conduct)
|
|
105
134
|
- Fork the repository
|
|
106
135
|
- Create a new branch for your feature
|
|
107
136
|
- Submit a pull request
|
package/dist/{153.mjs → 642.mjs}
RENAMED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export const __rspack_esm_id = "153";
|
|
1
|
+
export const __rspack_esm_id = "642";
|
|
3
2
|
export const __rspack_esm_ids = [
|
|
4
|
-
"
|
|
3
|
+
"642"
|
|
5
4
|
];
|
|
6
5
|
export const __webpack_modules__ = {
|
|
7
6
|
"./src/commands/generate/options/utils/generate-files.ts" (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
@@ -15,8 +14,9 @@ export const __webpack_modules__ = {
|
|
|
15
14
|
var constants = __webpack_require__("./src/constants.ts");
|
|
16
15
|
function generateClientConfigContent(mode, backendURL, useEnvFile, enableDevTools = false) {
|
|
17
16
|
switch(mode){
|
|
17
|
+
case constants.$V.HOSTED:
|
|
18
18
|
case constants.$V.C15T:
|
|
19
|
-
return
|
|
19
|
+
return generateHostedConfig(backendURL, useEnvFile, enableDevTools);
|
|
20
20
|
case constants.$V.OFFLINE:
|
|
21
21
|
return generateOfflineConfig(enableDevTools);
|
|
22
22
|
case constants.$V.SELF_HOSTED:
|
|
@@ -27,7 +27,7 @@ export const __webpack_modules__ = {
|
|
|
27
27
|
return generateOfflineConfig(enableDevTools);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
function
|
|
30
|
+
function generateHostedConfig(backendURL, useEnvFile, enableDevTools = false) {
|
|
31
31
|
const url = useEnvFile ? 'process.env.NEXT_PUBLIC_C15T_URL' : `'${backendURL || 'https://your-instance.c15t.dev'}'`;
|
|
32
32
|
const devToolsImport = enableDevTools ? "import { createDevTools } from '@c15t/dev-tools';\n" : '';
|
|
33
33
|
const devToolsCall = enableDevTools ? 'createDevTools();\n' : '';
|
|
@@ -35,7 +35,7 @@ export const __webpack_modules__ = {
|
|
|
35
35
|
${devToolsImport}
|
|
36
36
|
const runtime = getOrCreateConsentRuntime(
|
|
37
37
|
{
|
|
38
|
-
mode: '
|
|
38
|
+
mode: 'hosted',
|
|
39
39
|
backendURL: ${url},
|
|
40
40
|
consentCategories: ['necessary', 'measurement', 'marketing'],
|
|
41
41
|
},
|
|
@@ -99,7 +99,7 @@ ${devToolsCall}
|
|
|
99
99
|
${devToolsImport}
|
|
100
100
|
const runtime = getOrCreateConsentRuntime(
|
|
101
101
|
{
|
|
102
|
-
mode: '
|
|
102
|
+
mode: 'hosted',
|
|
103
103
|
backendURL: ${url},
|
|
104
104
|
consentCategories: ['necessary', 'measurement', 'marketing'],
|
|
105
105
|
},
|
|
@@ -231,6 +231,7 @@ ${devToolsCall}
|
|
|
231
231
|
const envVarName = getEnvVarName(pkg);
|
|
232
232
|
return `\n# c15t Configuration\n${envVarName}=https://your-instance.c15t.dev\n`;
|
|
233
233
|
}
|
|
234
|
+
var external_ts_morph_ = __webpack_require__("ts-morph");
|
|
234
235
|
async function findMatchingFiles(projectRoot, patterns, logger) {
|
|
235
236
|
const matches = [];
|
|
236
237
|
for (const pattern of patterns){
|
|
@@ -444,17 +445,17 @@ ${exportPrefix} ${componentName}(${propsDestructure}) {
|
|
|
444
445
|
const slug = docsSlug || 'nextjs';
|
|
445
446
|
return `/**
|
|
446
447
|
* Client-side consent manager provider.
|
|
447
|
-
* @see https://c15t.com/docs/frameworks/${slug}/quickstart
|
|
448
|
+
* @see https://v2.c15t.com/docs/frameworks/${slug}/quickstart
|
|
448
449
|
*/`;
|
|
449
450
|
}
|
|
450
451
|
if (initialDataProp) return `/**
|
|
451
452
|
* Consent management wrapper for Next.js Pages Router.
|
|
452
|
-
* @see https://c15t.com/docs/frameworks/nextjs/quickstart
|
|
453
|
+
* @see https://v2.c15t.com/docs/frameworks/nextjs/quickstart
|
|
453
454
|
*/`;
|
|
454
455
|
const slug = docsSlug || 'react';
|
|
455
456
|
return `/**
|
|
456
457
|
* Consent manager provider.
|
|
457
|
-
* @see https://c15t.com/docs/frameworks/${slug}/quickstart
|
|
458
|
+
* @see https://v2.c15t.com/docs/frameworks/${slug}/quickstart
|
|
458
459
|
*/`;
|
|
459
460
|
}
|
|
460
461
|
async function directory_getComponentsDirectory(projectRoot, sourceDir) {
|
|
@@ -521,7 +522,7 @@ import { theme } from './theme';
|
|
|
521
522
|
${propsInterface}
|
|
522
523
|
/**
|
|
523
524
|
* Client-side consent manager provider with compound components.
|
|
524
|
-
* @see https://c15t.com/docs/frameworks/${framework.docsSlug}/quickstart
|
|
525
|
+
* @see https://v2.c15t.com/docs/frameworks/${framework.docsSlug}/quickstart
|
|
525
526
|
*/
|
|
526
527
|
export default function ConsentManagerClient(${propsDestructure}) {
|
|
527
528
|
return (
|
|
@@ -552,7 +553,7 @@ import { ConsentDialog } from '${framework.consentDialogImport}';
|
|
|
552
553
|
|
|
553
554
|
/**
|
|
554
555
|
* Consent dialog using compound components.
|
|
555
|
-
* @see https://c15t.com/docs/frameworks/${framework.docsSlug}/components/consent-dialog
|
|
556
|
+
* @see https://v2.c15t.com/docs/frameworks/${framework.docsSlug}/components/consent-dialog
|
|
556
557
|
*/
|
|
557
558
|
export default function () {
|
|
558
559
|
return (
|
|
@@ -579,7 +580,7 @@ import { ConsentBanner } from '${framework.consentBannerImport}';
|
|
|
579
580
|
|
|
580
581
|
/**
|
|
581
582
|
* Consent banner using compound components.
|
|
582
|
-
* @see https://c15t.com/docs/frameworks/${framework.docsSlug}/components/consent-banner
|
|
583
|
+
* @see https://v2.c15t.com/docs/frameworks/${framework.docsSlug}/components/consent-banner
|
|
583
584
|
*/
|
|
584
585
|
export default function () {
|
|
585
586
|
return (
|
|
@@ -627,7 +628,7 @@ export default function () {
|
|
|
627
628
|
*
|
|
628
629
|
* Customize the colors, typography, and slots below to match your design.
|
|
629
630
|
*
|
|
630
|
-
* @see https://c15t.com/docs/customization/theming
|
|
631
|
+
* @see https://v2.c15t.com/docs/customization/theming
|
|
631
632
|
*/
|
|
632
633
|
export const theme: Theme = {
|
|
633
634
|
colors: {
|
|
@@ -679,7 +680,7 @@ export const theme: Theme = {
|
|
|
679
680
|
*
|
|
680
681
|
* Customize the colors, typography, and slots below to match your design.
|
|
681
682
|
*
|
|
682
|
-
* @see https://c15t.com/docs/customization/theming
|
|
683
|
+
* @see https://v2.c15t.com/docs/customization/theming
|
|
683
684
|
*/
|
|
684
685
|
export const theme: Theme = {
|
|
685
686
|
colors: {
|
|
@@ -782,7 +783,7 @@ export const theme: Theme = {
|
|
|
782
783
|
*
|
|
783
784
|
* Customize the colors, typography, and slots below to match your design.
|
|
784
785
|
*
|
|
785
|
-
* @see https://c15t.com/docs/customization/theming
|
|
786
|
+
* @see https://v2.c15t.com/docs/customization/theming
|
|
786
787
|
*/
|
|
787
788
|
export const theme: Theme = {
|
|
788
789
|
colors: {
|
|
@@ -910,7 +911,7 @@ export const theme: Theme = {
|
|
|
910
911
|
}
|
|
911
912
|
async function runLayoutUpdatePipeline(config) {
|
|
912
913
|
const { filePatterns, projectRoot, knownFilePath, frameworkDirName, createComponents, wrapJsx, afterImport } = config;
|
|
913
|
-
const project = new Project();
|
|
914
|
+
const project = new external_ts_morph_.Project();
|
|
914
915
|
let layoutFile;
|
|
915
916
|
if (knownFilePath) try {
|
|
916
917
|
layoutFile = project.addSourceFileAtPath(knownFilePath);
|
|
@@ -937,7 +938,7 @@ export const theme: Theme = {
|
|
|
937
938
|
const componentFiles = await createComponents(layoutFilePath, frameworkDir);
|
|
938
939
|
addConsentManagerImport(layoutFile, componentFiles.consentManager);
|
|
939
940
|
if (afterImport) afterImport(layoutFile);
|
|
940
|
-
const returnStatement = layoutFile.getDescendantsOfKind(SyntaxKind.ReturnStatement)[0];
|
|
941
|
+
const returnStatement = layoutFile.getDescendantsOfKind(external_ts_morph_.SyntaxKind.ReturnStatement)[0];
|
|
941
942
|
if (!returnStatement) return {
|
|
942
943
|
updated: false,
|
|
943
944
|
filePath: layoutFilePath,
|
|
@@ -967,11 +968,12 @@ export const theme: Theme = {
|
|
|
967
968
|
}
|
|
968
969
|
function generateOptionsText(mode, backendURL, useEnvFile, proxyNextjs, inlineCustomHandlers, envVarPrefix = 'NEXT_PUBLIC') {
|
|
969
970
|
switch(mode){
|
|
971
|
+
case 'hosted':
|
|
970
972
|
case 'c15t':
|
|
971
973
|
case 'self-hosted':
|
|
972
974
|
{
|
|
973
975
|
const backendURLValue = getBackendURLValue(backendURL, useEnvFile, proxyNextjs, envVarPrefix);
|
|
974
|
-
return `mode: '
|
|
976
|
+
return `mode: 'hosted',
|
|
975
977
|
backendURL: ${backendURLValue},`;
|
|
976
978
|
}
|
|
977
979
|
case 'custom':
|
|
@@ -1006,7 +1008,7 @@ import ConsentManagerProvider from './provider';
|
|
|
1006
1008
|
|
|
1007
1009
|
/**
|
|
1008
1010
|
* Server-side consent management wrapper with SSR data prefetching.
|
|
1009
|
-
* @see https://c15t.com/docs/frameworks/${framework.docsSlug}/quickstart
|
|
1011
|
+
* @see https://v2.c15t.com/docs/frameworks/${framework.docsSlug}/quickstart
|
|
1010
1012
|
*/
|
|
1011
1013
|
export function ConsentManager({ children }: { children: ReactNode }) {
|
|
1012
1014
|
const ssrData = fetchInitialData({
|
|
@@ -1027,7 +1029,7 @@ import ConsentManagerProvider from './provider';
|
|
|
1027
1029
|
|
|
1028
1030
|
/**
|
|
1029
1031
|
* Consent management wrapper.
|
|
1030
|
-
* @see https://c15t.com/docs/frameworks/${framework.docsSlug}/quickstart
|
|
1032
|
+
* @see https://v2.c15t.com/docs/frameworks/${framework.docsSlug}/quickstart
|
|
1031
1033
|
*/
|
|
1032
1034
|
export function ConsentManager({ children }: { children: ReactNode }) {
|
|
1033
1035
|
return (
|
|
@@ -1044,7 +1046,7 @@ import ConsentManagerProvider from './provider';
|
|
|
1044
1046
|
|
|
1045
1047
|
/**
|
|
1046
1048
|
* Consent management wrapper.
|
|
1047
|
-
* @see https://c15t.com/docs/frameworks/${docsSlug}/quickstart
|
|
1049
|
+
* @see https://v2.c15t.com/docs/frameworks/${docsSlug}/quickstart
|
|
1048
1050
|
*/
|
|
1049
1051
|
export function ConsentManager({ children }: { children: ReactNode }) {
|
|
1050
1052
|
return <ConsentManagerProvider>{children}</ConsentManagerProvider>;
|
|
@@ -1315,13 +1317,13 @@ export function ConsentManager({ children }: { children: ReactNode }) {
|
|
|
1315
1317
|
const functionDeclarations = layoutFile.getFunctions();
|
|
1316
1318
|
const variableDeclarations = layoutFile.getVariableDeclarations();
|
|
1317
1319
|
for (const func of functionDeclarations){
|
|
1318
|
-
const returnStatement = func.getDescendantsOfKind(SyntaxKind.ReturnStatement)[0];
|
|
1320
|
+
const returnStatement = func.getDescendantsOfKind(external_ts_morph_.SyntaxKind.ReturnStatement)[0];
|
|
1319
1321
|
if (returnStatement) return wrapReturnStatementWithConsentManager(returnStatement);
|
|
1320
1322
|
}
|
|
1321
1323
|
for (const varDecl of variableDeclarations){
|
|
1322
1324
|
const initializer = varDecl.getInitializer();
|
|
1323
1325
|
if (initializer) {
|
|
1324
|
-
const returnStatement = initializer.getDescendantsOfKind(SyntaxKind.ReturnStatement)[0];
|
|
1326
|
+
const returnStatement = initializer.getDescendantsOfKind(external_ts_morph_.SyntaxKind.ReturnStatement)[0];
|
|
1325
1327
|
if (returnStatement) return wrapReturnStatementWithConsentManager(returnStatement);
|
|
1326
1328
|
}
|
|
1327
1329
|
}
|
|
@@ -1392,7 +1394,7 @@ export function ConsentManager({ children }: { children: ReactNode }) {
|
|
|
1392
1394
|
'src/app/app.jsx',
|
|
1393
1395
|
'src/app/App.jsx'
|
|
1394
1396
|
];
|
|
1395
|
-
const project = new Project();
|
|
1397
|
+
const project = new external_ts_morph_.Project();
|
|
1396
1398
|
let layoutFile;
|
|
1397
1399
|
for (const pattern of layoutPatterns)try {
|
|
1398
1400
|
const files = project.addSourceFilesAtPaths(`${projectRoot}/${pattern}`);
|
|
@@ -1448,7 +1450,7 @@ export function ConsentManager({ children }: { children: ReactNode }) {
|
|
|
1448
1450
|
return updateGenericReactLayout(options);
|
|
1449
1451
|
}
|
|
1450
1452
|
async function updateNextConfig({ projectRoot, backendURL, useEnvFile }) {
|
|
1451
|
-
const project = new Project();
|
|
1453
|
+
const project = new external_ts_morph_.Project();
|
|
1452
1454
|
const configFile = findNextConfigFile(project, projectRoot);
|
|
1453
1455
|
if (!configFile) {
|
|
1454
1456
|
const newConfigPath = `${projectRoot}/next.config.ts`;
|
|
@@ -1536,8 +1538,8 @@ export default config;
|
|
|
1536
1538
|
const configObject = findConfigObject(configFile);
|
|
1537
1539
|
if (!configObject) return false;
|
|
1538
1540
|
const rewritesProperty = configObject.getProperty('rewrites');
|
|
1539
|
-
if (rewritesProperty && Node.isMethodDeclaration(rewritesProperty)) return updateExistingRewrites(rewritesProperty, destination, isTemplateLiteral);
|
|
1540
|
-
if (rewritesProperty && Node.isPropertyAssignment(rewritesProperty)) return updatePropertyAssignmentRewrites(rewritesProperty, destination, isTemplateLiteral);
|
|
1541
|
+
if (rewritesProperty && external_ts_morph_.Node.isMethodDeclaration(rewritesProperty)) return updateExistingRewrites(rewritesProperty, destination, isTemplateLiteral);
|
|
1542
|
+
if (rewritesProperty && external_ts_morph_.Node.isPropertyAssignment(rewritesProperty)) return updatePropertyAssignmentRewrites(rewritesProperty, destination, isTemplateLiteral);
|
|
1541
1543
|
return addNewRewritesMethod(configObject, destination, isTemplateLiteral);
|
|
1542
1544
|
}
|
|
1543
1545
|
function findConfigObject(configFile) {
|
|
@@ -1547,29 +1549,29 @@ export default config;
|
|
|
1547
1549
|
const exportDefault = configFile.getDefaultExportSymbol();
|
|
1548
1550
|
if (!exportDefault) return;
|
|
1549
1551
|
const declarations = exportDefault.getDeclarations();
|
|
1550
|
-
for (const declaration of declarations)if (Node.isExportAssignment(declaration)) {
|
|
1552
|
+
for (const declaration of declarations)if (external_ts_morph_.Node.isExportAssignment(declaration)) {
|
|
1551
1553
|
const result = findConfigFromExpression(declaration.getExpression(), configFile);
|
|
1552
1554
|
if (result) return result;
|
|
1553
1555
|
}
|
|
1554
1556
|
}
|
|
1555
1557
|
function findConfigFromExpression(expression, configFile) {
|
|
1556
|
-
if (Node.isCallExpression(expression)) return findConfigFromCallExpression(expression, configFile);
|
|
1557
|
-
if (Node.isObjectLiteralExpression(expression)) return expression;
|
|
1558
|
-
if (Node.isIdentifier(expression)) return findConfigFromIdentifier(expression.getText(), configFile);
|
|
1558
|
+
if (external_ts_morph_.Node.isCallExpression(expression)) return findConfigFromCallExpression(expression, configFile);
|
|
1559
|
+
if (external_ts_morph_.Node.isObjectLiteralExpression(expression)) return expression;
|
|
1560
|
+
if (external_ts_morph_.Node.isIdentifier(expression)) return findConfigFromIdentifier(expression.getText(), configFile);
|
|
1559
1561
|
}
|
|
1560
1562
|
function findConfigFromCallExpression(expression, configFile) {
|
|
1561
1563
|
const args = expression.getArguments();
|
|
1562
1564
|
if (0 === args.length) return;
|
|
1563
1565
|
const firstArg = args[0];
|
|
1564
|
-
if (Node.isCallExpression(firstArg)) {
|
|
1566
|
+
if (external_ts_morph_.Node.isCallExpression(firstArg)) {
|
|
1565
1567
|
const innerArgs = firstArg.getArguments();
|
|
1566
|
-
if (innerArgs.length > 0 && Node.isIdentifier(innerArgs[0])) return findConfigFromIdentifier(innerArgs[0].getText(), configFile);
|
|
1568
|
+
if (innerArgs.length > 0 && external_ts_morph_.Node.isIdentifier(innerArgs[0])) return findConfigFromIdentifier(innerArgs[0].getText(), configFile);
|
|
1567
1569
|
}
|
|
1568
1570
|
}
|
|
1569
1571
|
function findConfigFromIdentifier(identifierText, configFile) {
|
|
1570
1572
|
const configVar = configFile.getVariableDeclaration(identifierText);
|
|
1571
1573
|
const initializer = configVar?.getInitializer();
|
|
1572
|
-
return initializer && Node.isObjectLiteralExpression(initializer) ? initializer : void 0;
|
|
1574
|
+
return initializer && external_ts_morph_.Node.isObjectLiteralExpression(initializer) ? initializer : void 0;
|
|
1573
1575
|
}
|
|
1574
1576
|
function findConfigFromVariableDeclarations(configFile) {
|
|
1575
1577
|
const variableDeclarations = configFile.getVariableDeclarations();
|
|
@@ -1577,17 +1579,17 @@ export default config;
|
|
|
1577
1579
|
const typeNode = varDecl.getTypeNode();
|
|
1578
1580
|
if (typeNode?.getText().includes('NextConfig')) {
|
|
1579
1581
|
const initializer = varDecl.getInitializer();
|
|
1580
|
-
if (Node.isObjectLiteralExpression(initializer)) return initializer;
|
|
1582
|
+
if (external_ts_morph_.Node.isObjectLiteralExpression(initializer)) return initializer;
|
|
1581
1583
|
}
|
|
1582
1584
|
}
|
|
1583
1585
|
}
|
|
1584
1586
|
function updateExistingRewrites(rewritesMethod, destination, isTemplateLiteral) {
|
|
1585
1587
|
const body = rewritesMethod.getBody();
|
|
1586
|
-
if (!Node.isBlock(body)) return false;
|
|
1587
|
-
const returnStatement = body.getStatements().find((stmt)=>Node.isReturnStatement(stmt));
|
|
1588
|
-
if (!returnStatement || !Node.isReturnStatement(returnStatement)) return false;
|
|
1588
|
+
if (!external_ts_morph_.Node.isBlock(body)) return false;
|
|
1589
|
+
const returnStatement = body.getStatements().find((stmt)=>external_ts_morph_.Node.isReturnStatement(stmt));
|
|
1590
|
+
if (!returnStatement || !external_ts_morph_.Node.isReturnStatement(returnStatement)) return false;
|
|
1589
1591
|
const expression = returnStatement.getExpression();
|
|
1590
|
-
if (!expression || !Node.isArrayLiteralExpression(expression)) return false;
|
|
1592
|
+
if (!expression || !external_ts_morph_.Node.isArrayLiteralExpression(expression)) return false;
|
|
1591
1593
|
const newRewrite = createRewriteRule(destination, isTemplateLiteral);
|
|
1592
1594
|
const elements = expression.getElements();
|
|
1593
1595
|
if (elements.length > 0) expression.insertElement(0, newRewrite);
|
|
@@ -1596,7 +1598,7 @@ export default config;
|
|
|
1596
1598
|
}
|
|
1597
1599
|
function updatePropertyAssignmentRewrites(rewritesProperty, destination, isTemplateLiteral) {
|
|
1598
1600
|
const initializer = rewritesProperty.getInitializer();
|
|
1599
|
-
if (Node.isArrayLiteralExpression(initializer)) {
|
|
1601
|
+
if (external_ts_morph_.Node.isArrayLiteralExpression(initializer)) {
|
|
1600
1602
|
const newRewrite = createRewriteRule(destination, isTemplateLiteral);
|
|
1601
1603
|
initializer.insertElement(0, newRewrite);
|
|
1602
1604
|
return true;
|
|
@@ -1645,7 +1647,7 @@ export default config;
|
|
|
1645
1647
|
if (typedResult.componentFiles.consentManagerDir) {
|
|
1646
1648
|
const relativeConsentManagerDir = external_node_path_["default"].relative(cwd, typedResult.componentFiles.consentManagerDir);
|
|
1647
1649
|
return {
|
|
1648
|
-
message: `Layout setup complete!\n ${external_picocolors_["default"].green('✓')} Created: ${external_picocolors_["default"].cyan(relativeConsentManagerDir
|
|
1650
|
+
message: `Layout setup complete!\n ${external_picocolors_["default"].green('✓')} Created: ${external_picocolors_["default"].cyan(`${relativeConsentManagerDir}/`)} (expanded components)\n ${external_picocolors_["default"].green('✓')} Created: ${external_picocolors_["default"].cyan(relativeConsentManager)}\n ${external_picocolors_["default"].green('✓')} Updated: ${external_picocolors_["default"].cyan(relativeLayout)}`,
|
|
1649
1651
|
type: 'info'
|
|
1650
1652
|
};
|
|
1651
1653
|
}
|
|
@@ -1763,7 +1765,7 @@ export default config;
|
|
|
1763
1765
|
result.layoutUpdated = layoutResult.layoutUpdated;
|
|
1764
1766
|
result.layoutPath = layoutResult.layoutPath;
|
|
1765
1767
|
}
|
|
1766
|
-
if ('@c15t/nextjs' === pkg && proxyNextjs && ('c15t' === mode || 'self-hosted' === mode)) {
|
|
1768
|
+
if ('@c15t/nextjs' === pkg && proxyNextjs && ('hosted' === mode || 'c15t' === mode || 'self-hosted' === mode)) {
|
|
1767
1769
|
const configResult = await handleNextConfig({
|
|
1768
1770
|
projectRoot,
|
|
1769
1771
|
backendURL,
|