
Security News
ESLint Adds Official Support for Linting HTML
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
@sysdoc/sp-provisioning-util
Advanced tools
Another project created using generator-sharepoint-app
.
Please fill in this section as per the project you're working on.
The generator uses the following technologies:
autoprefixer
to add browser-specific css properties. So, no need to add all variations of a css property, it'll be taken care of for you.To setup this project, clone the repo and then run npm install
.
$ git clone __PROJECT_REPO_URL__
$ npm install
The project uses gulp
for task automation and prototyping. The following gulp
tasks are supported:
gulp sass:variables
Extract all variables from all the subfolders inside the sass
folder and generates _extractedvariables.scss
file at the root sass
folder. The file will contain all the variables from all the subfolders with the values replaced with brand variables (from the _settings.scss
file).
The task has no dependencies.
_extractedvariables.scss
. On subsequent runs, the task will add new variables while keeping old variables as is). This essentially means that changes made to _extractedvariables.scss
will be persisted and it is safe to update the variables in that file.--forceReplace
command line argument, for example to completely replace variables do: $ gulp sass:variables --forceReplace
_settings.scss
at the top of the generated file using the --withSettings
parameter. To do that run: $ gulp sass:variables --withSettings
_settings.scss
and to force replace the variables. To do that run: $ gulp sass:variables --withSettings --forceReplace
gulp sass:compile
Compiles all files in the projects sass
directory (based on sass compilation technique), i.e. if the file is prepended with an underscore _
it won't produce an output. In a default configuration, the task will generate main.min.css
in the dist/css
folder.
gulp sass:variables
If the task is executed while in prototyping mode
it will also compile prototypes sass files into the prototype
folder. You can force prototyping mode
using the --isPrototyping
or --prototype
command line argument.
$ gulp sass:compile --isPrototyping #or
$ gulp sass:compile --prototype
If the task is executing and the SharePoint drive for the SiteAssets library is mapped, it will also copy the output files into ${SiteAssetsDrive}:\\${deploymentDir}/css
folder, defaults to Sysdoc/css
. Note: you need to be working in debug mode. To force debug mode use --dev
or use --env dev
. To do that run:
$ gulp sass:compile --dev #or
$ gulp sass:compile --env dev
gulp sass:watch
Runs a watch on the sass
folder to listen for file changes. Once a change is detected, the gulp sass:compile
file will be executed.
$ gulp sass:watch
gulp sass:compile
gulp sass:compile
and gulp sass:variables
, it will be propagated to the other tasks.gulp lib:download
Downloads CDN files configured through the generator. The downloaded files will be moved to lib
in the repo.
yo generator-sharepoint-app
to add cdn files.css
and js
files. The task will download both.gulp lib:compile:js
Compiles all the js
files from the lib
directory into dist/js/vendor.js
.
gulp lib:compile:css
Compiles all the css
files from the lib
directory into dist/css/vendor.css
.
gulp masterpages:compile
Compiles all the master page templates into the provisioningDir
(defaults to deploy
).
masterPageCatalog
drive is mapped, the task will also copy the compiled master pages to the mapped drive.debug mode
using --dev
or --env dev
to force debug mode.gulp masterpages:watch
Setup a watch on the master page templates directory such that when the templates change, the gulp masterpages:compile
task is executed.
gulp pagelayouts:compile
Compiles all page layouts into the provisioningDir
(defaults to deploy
).
gulp pagelayouts:watch
Setup a watch on the page layouts templates directory. Once a page layout template changes it will run the gulp pagelayouts:compile
task.
gulp pagelayouts:compile
gulp js:compile
Compiles TypeScript source files into dist/js
directory. This includes all prototype source files as well.
By default the task compiles all files that are added to webpack.config.js
and all the prototypes. This can become a bit slow if you have many prototypes. So, to exclude a source file from being compiled you can add the following comment at the top of the source file.
//nocompile:true
If working in prototyping mode
the compiled files will also be copied to prototype/js
.
If the SiteAssets
folder is mapped and the project is configured properly. The compiled files will also be copied to ${deploymentDir}/js
folder.
gulp js:watch
Setup a watch on the TypeScript source files, once a source file is changed, the gulp js:compile
task is executed.
gulp js:compile
gulp resources:compile
Copies all resource files i.e. .resx
, .spfont
, .spcolor
files into the ${provisioningDir}
which defaults to deploy
.
gulp watch
A global watch task to wrap all other watches.
gulp js:watch
gulp sass:watch
gulp pagelayouts:watch
gulp masterpages:watch
gulp prototype:compile
Compiles all prototype templates into the prototype
directory.
gulp assets:build:prototype
Copies all assets into prototype/assets
directory.
gulp assets:build:sharepoint
Copies all assets into the SiteAssets
mapped drive (if any).
gulp assets:build:dist
Copies all assets into the dist/assets
folder.
gulp assets:build
Copies all assets into dist/assets
and prototype/assets
and SiteAssets/DeploymentDir/assets
.
gulp assets:build:dist
gulp assets:build:sharepoint
gulp assets:build:prototype
gulp prototype:watch
Setup a watch for prototype templates that will run the gulp prototype:compile
.
gulp prototype:compile
gulp prototype
gulp lib:download
gulp assets:build
gulp lib:compile:js
gulp lib:compile:css
gulp prototype:watch
gulp js:watch
gulp sass:watch
gulp prototype:upload
Uploads the contents of the prototype
directory to the prototyping server.
The project can be configured through generator-sharepoint-app
yeoman generator. The generator provides a CLI to configure the project including:
To configure the project you need to run the following:
$ yo generator-sharepoint-app
Then follow the CLI to select what you want to configure exactly.
The project supports rapid application prototyping through the generator-sharepoint-app
. It provides an easy way to quickly create prototypes i.e creates sass files, js files, and html page such that the prototype can run in isolation of any other code.
FAQs
A utility library for SharePoint solutions
The npm package @sysdoc/sp-provisioning-util receives a total of 5 weekly downloads. As such, @sysdoc/sp-provisioning-util popularity was classified as not popular.
We found that @sysdoc/sp-provisioning-util demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
Security News
CISA is discontinuing official RSS support for KEV and cybersecurity alerts, shifting updates to email and social media, disrupting automation workflows.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.