UNPKG

@pnp/cli-microsoft365

Version:

Manage Microsoft 365 and SharePoint Framework projects on any platform

46 lines 1.62 kB
import { z } from 'zod'; import { zod } from '../../../../utils/zod.js'; import { globalOptionsZod } from '../../../../Command.js'; import { urlUtil } from '../../../../utils/urlUtil.js'; import { validation } from '../../../../utils/validation.js'; import SpoCommand from '../../../base/SpoCommand.js'; import commands from '../../commands.js'; import { Page } from './Page.js'; const options = globalOptionsZod .extend({ webUrl: zod.alias('u', z.string() .refine(url => validation.isValidSharePointUrl(url) === true, url => ({ message: `'${url}' is not a valid SharePoint Online site URL.` }))), name: zod.alias('n', z.string()) }) .strict(); class SpoPagePublishCommand extends SpoCommand { get name() { return commands.PAGE_PUBLISH; } get description() { return 'Publishes a modern page'; } get schema() { return options; } async commandAction(logger, args) { try { // Remove leading slashes from the page name (page can be nested in folders) let pageName = urlUtil.removeLeadingSlashes(args.options.name); if (!pageName.toLowerCase().endsWith('.aspx')) { pageName += '.aspx'; } if (this.verbose) { await logger.logToStderr(`Publishing page ${pageName}...`); } await Page.publishPage(args.options.webUrl, pageName); } catch (err) { this.handleRejectedODataJsonPromise(err); } } } export default new SpoPagePublishCommand(); //# sourceMappingURL=page-publish.js.map