![Create React App Officially Deprecated Amid React 19 Compatibility Issues](https://cdn.sanity.io/images/cgdhsj6q/production/04fa08cf844d798abc0e1a6391c129363cc7e2ab-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Create React App Officially Deprecated Amid React 19 Compatibility Issues
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
@deskeen/web-builder
Advanced tools
This tool allows you to build a website by performing a certain number of tasks called modules.
const builder = require('@deskeen/web-builder')
await builder.build({
source: [
// Either a file or a directory
],
modules: [
// Either:
// A module name
'module-name',
// OR
// An array containing the module name and the module options
['module-name-with-options', { }],
// OR
// A custom function (See "Create your own modules" chapter)
moduleFunction,
],
log: false,
})
The build
function accepts the following properties:
source
: a list of files or directories that will be passed to the modules.modules
: a list of modules. A module can be a module name, an array containing a module name and the module options, or a function. If you add a module name, make sure to add it to to the package.json
file and install it beforehand. If you want a function, please read the Create your own modules chapter.log
: Whether logs are shown.A writeFile(filepath, data)
function is also available.
@deskeen/web-builder-rename-files: Change the path or the names of the files. Useful if you would like to move the output files to a deploy directory for example.
@deskeen/web-builder-replace-constants: Replace tags with fixed values. Useful if would like to replace certain values like the Hostname for example.
@deskeen/web-builder-inline-svg: Replace tags with the content of a SVG file.
@deskeen/web-builder-inline-json: Replace tags with the content of a JSON file.
@deskeen/web-builder-create-sitemap-xml: Create a sitemap.xml file.
@deskeen/web-builder-create-sitemapindex-xml: Create a sitemapindex file.
@deskeen/web-builder-create-robots-txt: Create a robots.txt file.
@deskeen/web-builder-minify-html: Minify HTML files.
You can create your own modules and perform custom tasks by passing functions instead of package names.
function (sourceMap, opt, lib)
Three parameters will be passed to your module/function:
sourceMap
: A Map object contaning the file path (i.e. /path/filename.xyz
) as key and the content of the file as value provided by the user.opt
: An object containing the options also provided by the user.lib
: An object containing useful functions provided by the engine.Three functions are included in the lib
object:
getTag(tagName, tagValue)
: Returns a tag name, i.e. {{tagName:tagValue}}
.getTagList(tagName, text)
: Returns the list of tags included in a text (typically the file content).findAsset(filename, directoryList)
: Find a specific filename in a list of directories.log(text)
: Log text (if the user turned it on).Imagine your project contains JSON files that you would like to minify. You can create a module to do that:
const minifyJson = (fileMap, opt, { log }) => {
// Loop through all the files provided by the user
for (const [path, content] of fileMap.entries()) {
// If file is a JSON file...
if (path.endsWith('.json')) {
// ...Replace the content of the file with a minified version
fileMap.set(path, JSON.stringify(JSON.parse(content)))
// Use the log function provided by the engine to log useful informations
log(`Minify JSON file: ${filepath}`)
}
}
}
You JSON-minifier module can then be added to the list of modules:
const builder = require('@deskeen/web-builder')
await builder.build({
source: [
'/www/html/index.html',
'/www/data/data.json',
],
modules: [
minifyJson
]
})
For more concrete examples, you can have a look at the source files of the existing modules.
You can reach me at {my_firstname}@{my_name}.fr
MIT Licence - Copyright (c) Morgan Schmiedt
FAQs
Node.js Web Builder
We found that @deskeen/web-builder demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.