{"library":"steal-tools","title":"StealJS Build Tools","type":"library","description":"Steal-tools is a robust collection of command-line and programmatic utilities designed for building, packaging, and optimizing JavaScript applications, particularly those utilizing the StealJS module loader. It supports a wide array of module formats including ES6 Modules, CommonJS, and AMD, facilitating the creation of applications and plugins that load efficiently. As of version 2.3.0, it leverages modern JavaScript features like dynamic `import()` via `esprima-next` and uses `terser` as its default minifier. This package is an integral part of the larger StealJS ecosystem, working in tandem with the `steal` module loader for client-side dependency management, and is actively maintained with regular patch and minor releases focusing on compatibility and feature enhancements. It differentiates itself through features like intelligent bundling, progressive loading, and comprehensive project exporting capabilities, all aimed at improving application load times and caching strategies.","language":"javascript","status":"active","last_verified":"Tue Apr 21","install":{"commands":["npm install steal-tools"],"cli":{"name":"steal-tools","version":null}},"imports":["const stealTools = require('steal-tools');","const stealTools = require('steal-tools');\nstealTools.build(config, options);","const { streams } = require('steal-tools');\nconst graphStream = streams.graph({ config: './package.json!npm' });"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":"https://stealjs.com","github":"https://github.com/stealjs/steal-tools","docs":null,"changelog":null,"pypi":null,"npm":"https://www.npmjs.com/package/steal-tools","openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"const stealTools = require('steal-tools');\nconst path = require('path');\n\nconst projectRoot = path.resolve(__dirname, 'my-steal-app');\nconst outputPath = path.resolve(projectRoot, 'dist');\n\nconsole.log('Starting StealJS application build...');\n\nstealTools.build({\n  // Configuration for your StealJS app\n  config: path.join(projectRoot, 'package.json!npm'), // Path to your package.json with StealJS config\n  main: 'my-app/main' // Your main application module\n}, {\n  // Build options\n  minify: true, // Minify the output code (default: true)\n  bundleAssets: true, // Bundle assets like CSS/images\n  dest: outputPath, // Destination folder for the build\n  removeDevelopmentCode: true, // Remove development-specific code\n  verbose: true // Log more details about the build process\n}).then(function(buildResult) {\n  console.log('StealJS application build complete!');\n  console.log(`Output written to: ${outputPath}`);\n  // You can inspect buildResult for more details like bundles, graph, etc.\n  // For example: console.log(buildResult.bundles);\n}).catch(function(err) {\n  console.error('StealJS build failed:', err);\n  process.exit(1);\n});","lang":"javascript","description":"This quickstart demonstrates how to programmatically build a StealJS application using `steal-tools.build`. It configures a basic build, specifies entry points, enables minification and asset bundling, and sets an output directory.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}