@marko/build

4.2.5 • Public • Published


@marko/build
API Stability NPM Version Downloads

Utility to build a node server from a marko file

CLI

Getting Started

npm install @marko/build
marko-build .

or

npx @marko/build .

Example

marko-build .
marko-build ./my-page.marko

Options

  • --output -o: Where to write the build
  • --static: Build static HTML files instead of a node server

Config overrides

While @marko/build works out-of-the box without any config, it does allow customizing and extending the default config for unique use-cases.

Webpack

NOTE: @marko/build currently uses webpack to build projects, however, this may change in the future so it's recommended to avoid using a custom webpack config if possible.

In the most extreme case, you can use a custom webpack.config.js. This config file is discovered based on the entry that is passed to the cli command, but given that it's a standalone config file, you can use webpack directly to build your project as well.

To help configure webpack, @marko/build exports a configBuilder function that allows you to use the base config, while adding your own customizations.

Example

webpack.config.js

import path from "path";
import { configBuilder } from "@marko/build";
import MyPlugin from "my-plugin";

const { getServerConfig, getBrowserConfigs } = configBuilder({
  entry: path.join(__dirname, "target.marko"),
  production: process.env.NODE_ENV === "production"
});

module.exports = [
  ...getBrowserConfigs(config => {
    config.plugins.push(new MyPlugin());
    return config;
  }),
  getServerConfig(config => {
    config.plugins.push(new MyPlugin());
    return config;
  })
];

API

Installation

npm install @marko/build

configBuilder

Returns 3 functions: getServerConfig, getBrowserConfig, and getBrowserConfigs.

Options

  • entry - the marko file to build
  • output - where to write the build
  • production - whether to build in production mode

loadWebpackConfig

Loads a custom webpack.config.js or creates a default array of compiler configs.

Options

  • entry - the marko file to build
  • output - where to write the build
  • production - whether to build in production mode

Readme

Keywords

Package Sidebar

Install

npm i @marko/build

Weekly Downloads

58

Version

4.2.5

License

MIT

Unpacked Size

43.8 kB

Total Files

17

Last publish

Collaborators

  • tigt
  • ryanturnquist
  • dylanpiercey
  • ryansolid
  • mlrawlings
  • agliga