@saasicat/cli 0.26.1 → 1.0.0-rc.0

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.
@@ -0,0 +1,135 @@
1
+ {
2
+ "_comment": [
3
+ "The 4.1 move, as data rather than as commands.",
4
+ "",
5
+ "Two axes decide every destination, and each directory answers exactly one",
6
+ "question (AP3 \u00a73.6): the LAYER a file belongs to (client / vue / quasar /",
7
+ "SFC) and how far it is REUSED \u2014 ui (surface-neutral, many domains) \u2192",
8
+ "features (one domain, many pages) \u2192 internal/<page> (one page) \u2192 pages",
9
+ "(one route).",
10
+ "",
11
+ "Written down because the mapping is the reviewable part. A 210-file move",
12
+ "expressed as `git mv` lines is a diff nobody can check; expressed as a",
13
+ "table, the question is whether each row is right.",
14
+ "",
15
+ "Two destinations differ from the sketch in AP3 \u00a73.6, and the reason is a",
16
+ "measurement rather than a preference. Consumers import `FeatureGate.vue` 19",
17
+ "times and `MfaPromptDialog.vue` 5 times across notesapp, vereinsfux and",
18
+ "autohauspro \u2014 `FeatureGate` is the single most imported component in the",
19
+ "package. AP3 places FeatureGate in `features/entitlement/`, and `features/`",
20
+ "is explicitly not exported; MfaPromptDialog is used by one page, which by",
21
+ "the reuse axis alone would put it in `internal/`. Either placement removes a",
22
+ "component three consumer repositories depend on.",
23
+ "",
24
+ "So both stay on the exported surface. A component a consumer embeds in their",
25
+ "own application is part of the public surface no matter how many of OUR",
26
+ "pages use it \u2014 the reuse axis measures our reuse, and that is not the same",
27
+ "question."
28
+ ],
29
+ "moves": {
30
+ "components/admin-page/AdminPage.vue": "ui/page/AdminPage.vue",
31
+ "components/admin-page/AdminHero.vue": "ui/page/AdminHero.vue",
32
+ "components/admin-page/AdminBody.vue": "ui/page/AdminBody.vue",
33
+ "components/admin-page/AdminSection.vue": "ui/page/AdminSection.vue",
34
+ "components/admin-page/AdminFilters.vue": "ui/page/AdminFilters.vue",
35
+ "components/admin-page/AdminAccordion.vue": "ui/page/AdminAccordion.vue",
36
+ "components/admin-page/AdminTable.vue": "ui/data/AdminTable.vue",
37
+ "components/admin-page/AdminPaginator.vue": "ui/data/AdminPaginator.vue",
38
+ "components/admin-page/AdminStatistics.vue": "ui/data/AdminStatistics.vue",
39
+ "components/admin-page/AdminKpi.vue": "ui/data/AdminKpi.vue",
40
+ "components/KvBlock.vue": "ui/data/KvBlock.vue",
41
+ "components/admin-page/AdminRefreshBtn.vue": "ui/feedback/AdminRefreshBtn.vue",
42
+ "components/wizard-stepper/WizardStepper.vue": "ui/page/WizardStepper.vue",
43
+ "components/plan/PlanCycleToggle.vue": "@saasicat/ui-vue-tenant/plan/PlanCycleToggle.vue",
44
+ "components/plan/PlanGrid.vue": "@saasicat/ui-vue-tenant/plan/PlanGrid.vue",
45
+ "components/plan/PriceSummary.vue": "@saasicat/ui-vue-tenant/plan/PriceSummary.vue",
46
+ "components/plan/PromoCodeInput.vue": "@saasicat/ui-vue-tenant/plan/PromoCodeInput.vue",
47
+ "components/plan/PublicBundleGrid.vue": "@saasicat/ui-vue-tenant/plan/PublicBundleGrid.vue",
48
+ "components/plan-create-dialog/PlanCreateDialog.vue": "features/plan/PlanCreateDialog.vue",
49
+ "components/plan-list/PlanList.vue": "features/plan/PlanList.vue",
50
+ "components/plan-matrix/PlanMatrix.vue": "features/plan/PlanMatrix.vue",
51
+ "components/plan-review/PlanReview.vue": "features/plan/PlanReview.vue",
52
+ "components/plan-detail/PlanDetail.vue": "features/plan/PlanDetail.vue",
53
+ "components/plan-detail/PlanTerminateDialog.vue": "features/plan/PlanTerminateDialog.vue",
54
+ "components/plan-detail/PlanAuditLog.vue": "features/plan/internal/PlanAuditLog.vue",
55
+ "components/plan-detail/PlanDetailKpis.vue": "features/plan/internal/PlanDetailKpis.vue",
56
+ "components/plan-detail/PlanTitleEdit.vue": "features/plan/internal/PlanTitleEdit.vue",
57
+ "components/plan-detail/PlanVersionDiffPanel.vue": "features/plan/internal/PlanVersionDiffPanel.vue",
58
+ "components/plan-detail/PlanVersionsPanel.vue": "features/plan/internal/PlanVersionsPanel.vue",
59
+ "components/plan-detail/types.ts": "features/plan/internal/plan-detail.types.ts",
60
+ "components/plan-version-editor/PlanVersionEditor.vue": "features/plan/PlanVersionEditor.vue",
61
+ "components/plan-version-editor/PlanCatalogPreview.vue": "features/plan/internal/PlanCatalogPreview.vue",
62
+ "components/plan-version-editor/PlanComponentPool.vue": "features/plan/internal/PlanComponentPool.vue",
63
+ "components/plan-version-editor/PlanVersionBasket.vue": "features/plan/internal/PlanVersionBasket.vue",
64
+ "components/plan-version-editor/PlanVersionDiffDialog.vue": "features/plan/internal/PlanVersionDiffDialog.vue",
65
+ "components/plan-version-editor/PlanVersionEditorHeader.vue": "features/plan/internal/PlanVersionEditorHeader.vue",
66
+ "components/plan-version-editor/types.ts": "features/plan/internal/plan-version-editor.types.ts",
67
+ "components/bundle-editor/BundleVersionInlineEditor.vue": "features/bundle/BundleVersionInlineEditor.vue",
68
+ "components/bundle-editor/BundleVersionStrip.vue": "features/bundle/BundleVersionStrip.vue",
69
+ "components/BundleVersionPublishDialog.vue": "features/bundle/BundleVersionPublishDialog.vue",
70
+ "components/bundle-editor/BundleCreatePanel.vue": "features/bundle/internal/BundleCreatePanel.vue",
71
+ "components/bundle-editor/BundleFeaturesEditor.vue": "features/bundle/internal/BundleFeaturesEditor.vue",
72
+ "components/bundle-editor/BundlePlanCompatPicker.vue": "features/bundle/internal/BundlePlanCompatPicker.vue",
73
+ "components/bundle-editor/BundleQuotasEditor.vue": "features/bundle/internal/BundleQuotasEditor.vue",
74
+ "components/bundle-editor/BundleStatusBanner.vue": "features/bundle/internal/BundleStatusBanner.vue",
75
+ "components/bundle-editor/bundle-version-status.ts": "features/bundle/internal/bundle-version-status.ts",
76
+ "components/bundle-editor/catalog-i18n.ts": "features/bundle/internal/catalog-i18n.ts",
77
+ "components/FeatureGate.vue": "ui/entitlement/FeatureGate.vue",
78
+ "components/dialogs/PilotCreateDialog.vue": "internal/dialogs/PilotCreateDialog.vue",
79
+ "components/dialogs/PilotEditDialog.vue": "internal/dialogs/PilotEditDialog.vue",
80
+ "components/dialogs/PromoCodeCreateDialog.vue": "internal/dialogs/PromoCodeCreateDialog.vue",
81
+ "components/dialogs/PromoCodeDialogFields.vue": "internal/dialogs/PromoCodeDialogFields.vue",
82
+ "components/dialogs/PromoCodeEditDialog.vue": "internal/dialogs/PromoCodeEditDialog.vue",
83
+ "components/dialogs/pilot-dialog.css": "internal/dialogs/pilot-dialog.css",
84
+ "components/dialogs/types.ts": "internal/dialogs/types.ts",
85
+ "pages-standard/AdminLayout.vue": "layouts/AdminLayout.vue",
86
+ "pages-standard/SuperAdminLoginPage.vue": "auth/SuperAdminLoginPage.vue",
87
+ "pages-standard/SuperAdminSetupWizard.vue": "auth/SuperAdminSetupWizard.vue",
88
+ "pages-standard/AdminManifestErrorPage.vue": "pages/AdminManifestErrorPage.vue",
89
+ "pages-standard/AuditPage.vue": "pages/AuditPage.vue",
90
+ "pages-standard/BundlesPage.vue": "pages/BundlesPage.vue",
91
+ "pages-standard/DashboardPage.vue": "pages/DashboardPage.vue",
92
+ "pages-standard/DiscoveryPage.vue": "pages/DiscoveryPage.vue",
93
+ "pages-standard/EmailHistoryPage.vue": "pages/EmailHistoryPage.vue",
94
+ "pages-standard/MarketingCatalogPage.vue": "pages/MarketingCatalogPage.vue",
95
+ "pages-standard/PilotsPage.vue": "pages/PilotsPage.vue",
96
+ "pages-standard/PlansPage.vue": "pages/PlansPage.vue",
97
+ "pages-standard/PlatformEmailPage.vue": "pages/PlatformEmailPage.vue",
98
+ "pages-standard/PromoCodeDetailPage.vue": "pages/PromoCodeDetailPage.vue",
99
+ "pages-standard/PromoCodesPage.vue": "pages/PromoCodesPage.vue",
100
+ "pages-standard/SubscriptionsPage.vue": "pages/SubscriptionsPage.vue",
101
+ "pages-standard/TenantDetailPage.vue": "pages/TenantDetailPage.vue",
102
+ "pages-standard/TenantsPage.vue": "pages/TenantsPage.vue",
103
+ "pages-standard/UsersPage.vue": "pages/UsersPage.vue",
104
+ "pages-standard/email-history.types.ts": "internal/email-history/email-history.types.ts",
105
+ "pages-standard/platform-email.types.ts": "internal/platform-email/platform-email.types.ts",
106
+ "components/MfaPromptDialog.vue": "ui/overlay/MfaPromptDialog.vue",
107
+ "components/LocaleSwitcher.vue": "ui/page/LocaleSwitcher.vue",
108
+ "components/ThemeSwitcher.vue": "ui/page/ThemeSwitcher.vue",
109
+ "components/MarketingPromotionsTab.vue": "features/marketing/MarketingPromotionsTab.vue",
110
+ "components/TenantActionConfirmDialog.vue": "features/tenant/TenantActionConfirmDialog.vue",
111
+ "components/VersionDiffPreview.vue": "features/bundle/VersionDiffPreview.vue",
112
+ "pages-standard/sa-theme.css": "ui/theme/sa-theme.css"
113
+ },
114
+ "moveDirectories": {
115
+ "pages-standard/bundles-page": "internal/bundles-page",
116
+ "pages-standard/discovery-page": "internal/discovery-page",
117
+ "pages-standard/marketing-catalog": "internal/marketing-catalog",
118
+ "pages-standard/plan-versions": "internal/plan-versions",
119
+ "pages-standard/plans-page": "internal/plans-page",
120
+ "pages-standard/tenant-detail": "internal/tenant-detail",
121
+ "pages-standard/tenants": "internal/tenants"
122
+ },
123
+ "packages": {
124
+ "_": "Subpaths that left @saasicat/ui-vue for a package of their own. The value is a full specifier, and the codemod emits it verbatim.",
125
+ "pages-tenant/": "@saasicat/ui-vue-tenant/"
126
+ },
127
+ "stays": {
128
+ "client/": "framework-free layer, unchanged",
129
+ "vue/": "composables, unchanged",
130
+ "quasar/": "the one non-SFC place that may import quasar, unchanged",
131
+ "ui/theme/": "already in its destination (AP2)",
132
+ "testing-e2e/ \u2192 testing/": "renamed in phase 5 (5.8); `codemod v1-rename` rewrites the specifier",
133
+ "pages-standard/sa-theme.css \u2192 ui/theme/": "moved so that pages-standard/ can go; renamed to theme.css in 4.2"
134
+ }
135
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "_namingHistory": "The 1.0 rename as data. Every old spelling below is named on purpose: this table is what `saasicat codemod v1-rename` runs on, and `tests/one-spelling.test.js` reads this key as the declaration.",
3
+ "_comment": [
4
+ "Phase 5 (AP1) renamed four things a consumer's code can carry:",
5
+ "identifier stems, registry keys, one token that had two meanings, and",
6
+ "one export subpath. Each section is one of those, and the codemod",
7
+ "applies them in that order.",
8
+ "",
9
+ "`identifierStems` is matched anywhere in an identifier — the stem alone",
10
+ "covers `SaasPlatformModule`, `createSaasPlatformTestModule` and",
11
+ "`CreateSaasPlatformTestModuleOptions` without listing them. The lowercase",
12
+ "`saasicat` (scope, files) is not a stem and is never touched.",
13
+ "",
14
+ "`registryKeys` rewrites the string a `Symbol.for` is called with. A",
15
+ "consumer that spelled a key themselves gets the same symbol the platform",
16
+ "now registers; without this their injection would resolve to nothing.",
17
+ "",
18
+ "`entryTokens` is keyed by the import specifier, because the old name",
19
+ "meant different registries in different entries. An import of it from",
20
+ "anywhere else is reported, not guessed."
21
+ ],
22
+ "identifierStems": {
23
+ "SaasPlatform": "SaaSiCat",
24
+ "Saasicat": "SaaSiCat",
25
+ "SaaSicat": "SaaSiCat"
26
+ },
27
+ "registryKeys": {
28
+ "saas-platform/": "saasicat/nest/",
29
+ "saas-platform-nest/": "saasicat/nest/",
30
+ "saas-platform-cli/": "saasicat/cli/",
31
+ "@saasicat/ui-vue/": "saasicat/ui-vue/",
32
+ "FakeTransactionRunner.tx": "saasicat/nest/FakeTransactionRunner.tx"
33
+ },
34
+ "entryTokens": {
35
+ "@saasicat/nest/billing": {
36
+ "FEATURE_UI_REGISTRY_TOKEN": "BILLING_FEATURE_UI_REGISTRY_TOKEN"
37
+ },
38
+ "@saasicat/nest/catalog": {
39
+ "FEATURE_UI_REGISTRY_TOKEN": "CATALOG_FEATURE_UI_REGISTRY_TOKEN"
40
+ }
41
+ },
42
+ "subpaths": {
43
+ "@saasicat/ui-vue/testing-e2e/": "@saasicat/ui-vue/testing/"
44
+ }
45
+ }
@@ -0,0 +1 @@
1
+ 87fdb737df2d686fe3d296add0d87c2a3765371380b486e2ff20fda896b3db65