@nikovirtala/projen-constructs
    Preparing search index...

    Class Bundler

    Adds support for bundling JavaScript applications and dependencies into a single file.

    Hierarchy

    • Component
      • Bundler
    Index
    bundledir: string

    Root bundle directory.

    esbuildVersion: string | undefined

    The semantic version requirement for esbuild (if defined).

    node: Node

    The tree node.

    project: Project
    • get bundleTask(): Task

      Gets or creates the singleton "bundle" task of the project.

      If the project doesn't have a "bundle" task, it will be created and spawned during the pre-compile phase (unless addToPreCompile is false).

      Returns Task

    • Adds a task to the project which bundles a specific entrypoint and all of its dependencies into a single javascript output file.

      Parameters

      • entrypoint: string

        The relative path of the artifact within the project

      • options: BundlingOptions

        Bundling options

      Returns Bundle

    • Called once, right after postSynthesize(), only when the project is created for the first time.

      It does not run on later projen invocations. It only fires for projen new (or Projects.createProject). It is also skipped when post-synthesis steps are disabled, e.g. --no-post or PROJEN_DISABLE_POST. Use it for one-off setup that can be turned off by the user, like running a task to give the user immediate feedback on their new project. Order across components is not guaranteed.

      Parameters

      • initProject: InitProject

        Details about how the project was created, e.g. its type and the original CLI args.

      Returns void

    • Called after synthesis. Order is not guaranteed.

      Returns void

    • Called before synthesis.

      Returns void

    • Called once, right after synthesize(), only when the project is created for the first time.

      It does not run on later projen invocations. It only fires for projen new (or Projects.createProject). Use it for deterministic, one-off file generation. Order across components is not guaranteed.

      Parameters

      • initProject: InitProject

        Details about how the project was created, e.g. its type and the original CLI args.

      Returns void

    • Synthesizes files to the project output directory.

      Returns void

    • Returns a string representation of this construct.

      Returns string

    • Applies one or more mixins to this construct.

      Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.

      Parameters

      • ...mixins: IMixin[]

        The mixins to apply

      Returns IConstruct

      This construct for chaining

    • Test whether the given construct is a component.

      Parameters

      • x: any

      Returns x is Component

    • Checks if x is a construct.

      Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

      Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

      Parameters

      • x: any

        Any object

      Returns x is Construct

      true if x is an object created from a class which extends Construct.

    • Returns the Bundler instance associated with a project or undefined if there is no Bundler.

      Parameters

      • project: Project

        The project

      Returns Bundler | undefined

      A bundler