@kitconcept/website 2.0.0-alpha.1 → 2.0.0-alpha.11

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.draft CHANGED
@@ -1,14 +1,12 @@
1
- ## 2.0.0-alpha.1 (2025-11-14)
1
+ ## 2.0.0-alpha.11 (2026-03-04)
2
2
 
3
3
  ### Feature
4
4
 
5
- - Upgrade @kitconcept/core to version 2.0.0-alpha.1. @ericof
6
- - Upgrade @plone/volto to version 19.0.0-alpha.12. @ericof
5
+ - Update to VLT 8a17.
6
+ See https://github.com/kitconcept/volto-light-theme/releases/tag/8.0.0a17 @sneridagh [#vlt8a17](https://github.com/kitconcept/kitconcept-website/issue/vlt8a17)
7
7
 
8
8
  ### Internal
9
9
 
10
- - Added missing volto-logos-block. @sneridagh
11
- - Update to core 2a2. @sneridagh
12
- - Upgrade @plonegovbr/volto-social-media to version 3.0.0-alpha.0. @ericof
10
+ - Added command for upgrading dependencies. @davisagli @sneridagh
13
11
 
14
12
 
package/.release-it.json CHANGED
@@ -1,10 +1,16 @@
1
1
  {
2
+ "plugins": {
3
+ "../../core/packages/scripts/prepublish.js": {}
4
+ },
2
5
  "hooks": {
3
6
  "after:bump": [
7
+ "node -e \"const fs=require('fs');const m=JSON.parse(fs.readFileSync('../../mrs.developer.json','utf8'));if(!m.core||!m.core.tag){console.error('Missing mrs.developer core.tag');process.exit(1);}const p=JSON.parse(fs.readFileSync('package.json','utf8'));p.volto_version=m.core.tag;fs.writeFileSync('package.json',JSON.stringify(p,null,2)+'\\n');\"",
8
+ "git add package.json",
4
9
  "pipx run towncrier build --draft --yes --version ${version} > .changelog.draft",
5
10
  "pipx run towncrier build --yes --version ${version}",
6
11
  "cp ../../README.md ./ && cp CHANGELOG.md ../../CHANGELOG.md",
7
- "git add ../../CHANGELOG.md"
12
+ "python3 -c 'import json; data = json.load(open(\"../../package.json\")); data[\"version\"] = \"${version}\"; json.dump(data, open(\"../../package.json\", \"w\"), indent=2)'",
13
+ "git add ../../CHANGELOG.md ../../package.json"
8
14
  ],
9
15
  "after:release": "rm .changelog.draft README.md"
10
16
  },
@@ -13,6 +19,9 @@
13
19
  "commit": false,
14
20
  "tag": false
15
21
  },
22
+ "npm": {
23
+ "publish": false
24
+ },
16
25
  "github": {
17
26
  "release": false,
18
27
  "releaseName": "${version}",
package/CHANGELOG.md CHANGED
@@ -8,6 +8,66 @@
8
8
 
9
9
  <!-- towncrier release notes start -->
10
10
 
11
+ ## 2.0.0-alpha.11 (2026-03-04)
12
+
13
+ ### Feature
14
+
15
+ - Update to VLT 8a17.
16
+ See https://github.com/kitconcept/volto-light-theme/releases/tag/8.0.0a17 @sneridagh [#vlt8a17](https://github.com/kitconcept/kitconcept-website/issue/vlt8a17)
17
+
18
+ ### Internal
19
+
20
+ - Added command for upgrading dependencies. @davisagli @sneridagh
21
+
22
+ ## 2.0.0-alpha.10 (2026-02-16)
23
+
24
+ ### Bugfix
25
+
26
+ - Update to core 2a10.
27
+ See https://github.com/kitconcept/kitconcept-core/releases/tag/2.0.0a10 @sneridagh
28
+
29
+ ## 2.0.0-alpha.9 (2026-02-09)
30
+
31
+ ## 2.0.0-alpha.8 (2026-02-06)
32
+
33
+ ### Bugfix
34
+
35
+ - Volto 19a23, core 2a9, VLT8a15 @sneridagh
36
+
37
+ ## 2.0.0-alpha.7 (2026-01-22)
38
+
39
+ ### Internal
40
+
41
+ - Update to core 2a8.
42
+ See https://github.com/kitconcept/kitconcept-core/releases/tag/2.0.0a8 @sneridagh [#core2a8](https://github.com/kitconcept/kitconcept-website/issue/core2a8)
43
+
44
+ ## 2.0.0-alpha.6 (2025-12-08)
45
+
46
+ ### Feature
47
+
48
+ - Update to core 2a5:
49
+ https://github.com/kitconcept/kitconcept-core/releases/tag/2.0.0a5 @sneridagh
50
+
51
+ ## 2.0.0-alpha.5 (2025-12-01)
52
+
53
+ ### Internal
54
+
55
+ - Several fixes. Update core 2a4. @sneridagh
56
+
57
+ ## 2.0.0-alpha.4 (2025-11-29)
58
+
59
+ ### Internal
60
+
61
+ - Update to core 2a3. @sneridagh
62
+
63
+ ## 2.0.0-alpha.3 (2025-11-14)
64
+
65
+ ### Internal
66
+
67
+ - Added `@plone/volto-form-block` to the party. @sneridagh
68
+
69
+ ## 2.0.0-alpha.2 (2025-11-14)
70
+
11
71
  ## 2.0.0-alpha.1 (2025-11-14)
12
72
 
13
73
  ### Feature
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitconcept/website",
3
- "version": "2.0.0-alpha.1",
3
+ "version": "2.0.0-alpha.11",
4
4
  "description": "A CMS solution for public websites. Created by kitconcept.",
5
5
  "main": "src/index.ts",
6
6
  "license": "MIT",
@@ -19,13 +19,6 @@
19
19
  "publishConfig": {
20
20
  "access": "public"
21
21
  },
22
- "scripts": {
23
- "i18n": "rm -rf build/messages && NODE_ENV=production i18n --addon",
24
- "dry-release": "release-it --dry-run",
25
- "release": "release-it",
26
- "release-major-alpha": "release-it major --preRelease=alpha",
27
- "release-alpha": "release-it --preRelease=alpha"
28
- },
29
22
  "peerDependencies": {
30
23
  "react": "^18.2.0",
31
24
  "react-dom": "^18.2.0",
@@ -33,20 +26,21 @@
33
26
  "react-redux": "^8.1.2"
34
27
  },
35
28
  "devDependencies": {
36
- "@plone/scripts": "workspace:*",
37
- "@plone/types": "workspace:*",
38
29
  "@types/node": "^24",
39
30
  "@types/react": "^18.3.12",
40
31
  "@types/react-dom": "^18.3.1",
41
32
  "release-it": "^19.0.5",
42
33
  "typescript": "^5.7.3",
43
- "vitest": "^3.1.2"
34
+ "vitest": "^3.1.2",
35
+ "@plone/scripts": "4.0.0-alpha.5",
36
+ "@plone/types": "2.0.0-alpha.14"
44
37
  },
45
38
  "addons": [
46
39
  "@eeacms/volto-accordion-block",
47
40
  "@kitconcept/volto-banner-block",
48
41
  "@kitconcept/volto-bm3-compat",
49
42
  "@kitconcept/volto-button-block",
43
+ "@kitconcept/volto-calendar-block",
50
44
  "@kitconcept/volto-carousel-block",
51
45
  "@kitconcept/volto-dsgvo-banner",
52
46
  "@kitconcept/volto-heading-block",
@@ -56,24 +50,35 @@
56
50
  "@kitconcept/volto-separator-block",
57
51
  "@kitconcept/volto-slider-block",
58
52
  "@plonegovbr/volto-social-media",
53
+ "@plone/volto-form-block",
59
54
  "@kitconcept/volto-light-theme",
60
55
  "@kitconcept/core"
61
56
  ],
62
57
  "dependencies": {
63
58
  "@eeacms/volto-accordion-block": "^10.4.6",
64
- "@kitconcept/core": "workspace:*",
65
- "@kitconcept/volto-light-theme": "workspace:*",
66
- "@kitconcept/volto-banner-block": "workspace:*",
67
- "@kitconcept/volto-bm3-compat": "workspace:*",
68
- "@kitconcept/volto-button-block": "workspace:*",
69
- "@kitconcept/volto-carousel-block": "workspace:*",
70
- "@kitconcept/volto-dsgvo-banner": "workspace:*",
71
- "@kitconcept/volto-heading-block": "workspace:*",
72
- "@kitconcept/volto-highlight-block": "workspace:*",
73
- "@kitconcept/volto-introduction-block": "workspace:*",
74
- "@kitconcept/volto-logos-block": "workspace:*",
75
- "@kitconcept/volto-separator-block": "workspace:*",
76
- "@kitconcept/volto-slider-block": "workspace:*",
77
- "@plonegovbr/volto-social-media": "^3.0.0-alpha.0"
59
+ "@plonegovbr/volto-social-media": "^3.0.0-alpha.0",
60
+ "@plone/volto-form-block": "^1.0.0-alpha.0",
61
+ "@kitconcept/volto-light-theme": "8.0.0-alpha.17",
62
+ "@kitconcept/volto-banner-block": "1.2.0",
63
+ "@kitconcept/volto-calendar-block": "1.0.0-alpha.7",
64
+ "@kitconcept/volto-bm3-compat": "1.0.0-alpha.1",
65
+ "@kitconcept/volto-dsgvo-banner": "3.0.1",
66
+ "@kitconcept/volto-button-block": "5.0.0-alpha.2",
67
+ "@kitconcept/volto-heading-block": "2.5.0",
68
+ "@kitconcept/core": "2.0.0-alpha.12",
69
+ "@kitconcept/volto-highlight-block": "4.5.1",
70
+ "@kitconcept/volto-introduction-block": "1.4.0",
71
+ "@kitconcept/volto-logos-block": "4.0.0-alpha.1",
72
+ "@kitconcept/volto-separator-block": "5.0.0-alpha.0",
73
+ "@kitconcept/volto-carousel-block": "3.0.0-alpha.1",
74
+ "@kitconcept/volto-slider-block": "7.0.0-alpha.1"
75
+ },
76
+ "volto_version": "19.0.0-alpha.27",
77
+ "scripts": {
78
+ "i18n": "rm -rf build/messages && NODE_ENV=production i18n --addon",
79
+ "dry-release": "release-it --dry-run",
80
+ "release": "release-it",
81
+ "release-major-alpha": "release-it major --preRelease=alpha",
82
+ "release-alpha": "release-it --preRelease=alpha"
78
83
  }
79
- }
84
+ }
@@ -0,0 +1,136 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { describe, expect, it } from 'vitest';
5
+
6
+ const __filename = fileURLToPath(import.meta.url);
7
+ const __dirname = path.dirname(__filename);
8
+
9
+ const recommendedAddonsPath = path.resolve(
10
+ __dirname,
11
+ '../../..',
12
+ 'packages/volto-light-theme/recommendedAddons.json',
13
+ );
14
+ const mrsDeveloperPath = path.resolve(
15
+ __dirname,
16
+ '../../..',
17
+ 'mrs.developer.json',
18
+ );
19
+ const intranetPackagePath = path.resolve(__dirname, '..', 'package.json');
20
+
21
+ const readJSON = <T>(filePath: string): T =>
22
+ JSON.parse(fs.readFileSync(filePath, 'utf-8'));
23
+
24
+ const normalizeVersion = (version: unknown) =>
25
+ typeof version === 'string' ? version.replace(/^[\\^~]/, '') : version;
26
+
27
+ const excludedPackages = new Set([
28
+ '@eeacms/volto-accordion-block',
29
+ '@plonegovbr/volto-social-media',
30
+ ]);
31
+
32
+ describe('internal checks', () => {
33
+ it('keeps recommended add-ons in sync with mrs.developer.json and intranet package.json', () => {
34
+ const recommendedAddons = readJSON<Record<string, string>>(
35
+ recommendedAddonsPath,
36
+ );
37
+ const mrsDeveloper = readJSON<Record<string, unknown>>(mrsDeveloperPath);
38
+ const intranetPackage = readJSON<{
39
+ dependencies?: Record<string, string>;
40
+ addons?: string[];
41
+ }>(intranetPackagePath);
42
+
43
+ const mrsByPackage = Object.entries(mrsDeveloper).reduce<
44
+ Record<
45
+ string,
46
+ Record<string, unknown> & { configKey: string; package?: string }
47
+ >
48
+ >((acc, [configKey, configValue]) => {
49
+ if (
50
+ configValue &&
51
+ typeof configValue === 'object' &&
52
+ 'package' in configValue
53
+ ) {
54
+ acc[String((configValue as Record<string, unknown>).package)] = {
55
+ ...(configValue as Record<string, unknown>),
56
+ configKey,
57
+ };
58
+ }
59
+ return acc;
60
+ }, {});
61
+
62
+ const issues: string[] = [];
63
+ const intranetDependencies = intranetPackage.dependencies || {};
64
+ const intranetAddons = intranetPackage.addons || [];
65
+
66
+ Object.entries(recommendedAddons).forEach(
67
+ ([packageName, recommendedVersion]) => {
68
+ if (excludedPackages.has(packageName)) return;
69
+
70
+ const mrsEntry = mrsByPackage[packageName];
71
+
72
+ if (!mrsEntry) {
73
+ issues.push(
74
+ `${packageName} is listed in recommendedAddons.json but missing from frontend/mrs.developer.json.`,
75
+ );
76
+ return;
77
+ }
78
+
79
+ const mrsVersion =
80
+ (mrsEntry.tag as string | undefined) ||
81
+ (mrsEntry.branch as string | undefined) ||
82
+ (mrsEntry.version as string | undefined);
83
+
84
+ if (!mrsVersion) {
85
+ issues.push(
86
+ `${packageName} (${mrsEntry.configKey}) has no tag, branch, or version specified in frontend/mrs.developer.json.`,
87
+ );
88
+ return;
89
+ }
90
+
91
+ const normalizedRecommended = normalizeVersion(recommendedVersion);
92
+ const normalizedMrsVersion = normalizeVersion(mrsVersion);
93
+
94
+ if (
95
+ recommendedVersion !== mrsVersion &&
96
+ normalizedRecommended !== normalizedMrsVersion
97
+ ) {
98
+ issues.push(
99
+ `${packageName} differs: recommendedAddons.json=${recommendedVersion} vs frontend/mrs.developer.json(${mrsEntry.configKey})=${mrsVersion}.`,
100
+ );
101
+ }
102
+ },
103
+ );
104
+
105
+ Object.entries(recommendedAddons).forEach(([packageName]) => {
106
+ if (excludedPackages.has(packageName)) return;
107
+
108
+ const dependencyVersion = intranetDependencies[packageName];
109
+
110
+ if (!dependencyVersion) {
111
+ issues.push(
112
+ `${packageName} is listed in recommendedAddons.json but missing from frontend/packages/kitconcept-website/package.json dependencies.`,
113
+ );
114
+ return;
115
+ }
116
+
117
+ if (dependencyVersion !== 'workspace:*') {
118
+ issues.push(
119
+ `${packageName} is pinned to a specific version in frontend/packages/kitconcept-website/package.json dependencies; expected 'workspace:*'.`,
120
+ );
121
+ }
122
+ });
123
+
124
+ Object.keys(recommendedAddons).forEach((packageName) => {
125
+ if (excludedPackages.has(packageName)) return;
126
+
127
+ if (!intranetAddons.includes(packageName)) {
128
+ issues.push(
129
+ `${packageName} is listed in recommendedAddons.json but missing from frontend/packages/kitconcept-website/package.json addons.`,
130
+ );
131
+ }
132
+ });
133
+
134
+ expect(issues).toEqual([]);
135
+ });
136
+ });