Aktualisiere Versionsnummer auf 3.2.0 in README.md, package.json, package-lock.json und package-solution.json. Füge Provisionierungsfeature für moderne PortalSettings.aspx hinzu und integriere zugehörige Tests.

This commit is contained in:
Torsten Brendgen
2026-08-18 21:06:28 +02:00
parent c0e7c316e3
commit eb1ad7ba1e
10 changed files with 85 additions and 24 deletions
+20 -3
View File
@@ -15,19 +15,36 @@ var config = json('config/config.json');
var copyAssets = json('config/copy-assets.json');
var manifest = json('src/webparts/portalSettings/PortalSettingsWebPart.manifest.json');
var styles = read('src/webparts/portalSettings/PortalSettings.scss');
var pageAsset = read('sharepoint/assets/PortalSettings.aspx');
var elements = read('sharepoint/assets/elements.xml');
var upgradeActions = read('sharepoint/assets/upgrade-actions.xml');
var sourceFiles = [
'src/ui/Dom.ts',
'src/ui/DynamicFormRenderer.ts',
'src/ui/PortalSettingsApp.ts'
].map(read).join('\n');
assert(packageJson.version === '3.1.0', 'Package-Version ist nicht 3.1.0.');
assert(solution.version === '3.1.0.0', 'Solution-Version ist nicht 3.1.0.0.');
assert(!solution.features, 'Alte ASPX-Feature-Assets sind noch registriert.');
assert(packageJson.version === '3.2.0', 'Package-Version ist nicht 3.2.0.');
assert(solution.version === '3.2.0.0', 'Solution-Version ist nicht 3.2.0.0.');
assert(solution.features && solution.features.length === 1, 'Das Seiten-Provisioning-Feature fehlt.');
assert(solution.features[0].assets.elementManifests.indexOf('elements.xml') >= 0 &&
solution.features[0].assets.elementFiles.indexOf('PortalSettings.aspx') >= 0 &&
solution.features[0].assets.upgradeActions.indexOf('upgrade-actions.xml') >= 0,
'Die Provisioning-Assets sind nicht vollständig registriert.');
assert(!!config.bundles['portal-settings-web-part'], 'WebPart-Bundle fehlt.');
assert(copyAssets.deployCdnPath === 'temp/deploy', 'Ship-Assets werden nicht nach temp/deploy geschrieben.');
assert(manifest.componentType === 'WebPart', 'Komponente ist kein WebPart.');
assert(!fs.existsSync(path.join(root, 'src/assets/PortalSettings.aspx')), 'Alte ASPX-Seite ist noch vorhanden.');
assert(pageAsset.indexOf('Microsoft.SharePoint.WebControls.ClientSidePage') >= 0,
'Das provisionierte Asset ist keine moderne SharePoint-Seite.');
assert(elements.indexOf('Url="PortalSettings.aspx"') >= 0 && elements.indexOf('RootWebOnly="TRUE"') >= 0 &&
elements.indexOf('IgnoreIfAlreadyExists="TRUE"') >= 0 && elements.indexOf('Level="Published"') >= 0,
'PortalSettings.aspx wird nicht sicher im Root-Web provisioniert.');
assert(elements.indexOf('CanvasContent1') >= 0 &&
elements.indexOf('c41d05ec-0682-4af0-b807-649806ed56b3') >= 0,
'Das PortalSettings-WebPart fehlt im provisionierten Canvas.');
assert(upgradeActions.indexOf('71841e33-8bbd-4007-83a6-d950453226a2\\elements.xml') >= 0,
'Die Upgrade-Provisionierung fehlt.');
assert(!fs.existsSync(path.join(root, 'src/extensions/portalSettings/PortalSettingsApplicationCustomizer.ts')), 'Alter Application Customizer ist noch vorhanden.');
assert(sourceFiles.indexOf('innerHTML') < 0, 'UI darf innerHTML nicht verwenden.');
['themePrimary', 'neutralPrimary', 'neutralLight', 'white'].forEach(function (slot) {