Class NodeProject

  • All Implemented Interfaces:
    software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable
    Direct Known Subclasses:
    NextJsProject, ReactProject, TypeScriptProject

    @Generated(value="jsii-pacmak/1.96.0 (build 921e240)",
               date="2024-03-28T21:16:43.180Z")
    @Stability(Experimental)
    public class NodeProject
    extends GitHubProject
    (experimental) Node.js project.
    • Constructor Detail

      • NodeProject

        protected NodeProject​(software.amazon.jsii.JsiiObjectRef objRef)
      • NodeProject

        protected NodeProject​(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
      • NodeProject

        @Stability(Experimental)
        public NodeProject​(@NotNull
                           NodeProjectOptions options)
        Parameters:
        options - This parameter is required.
    • Method Detail

      • addBins

        @Stability(Experimental)
        public void addBins​(@NotNull
                            Map<String,​String> bins)
        Parameters:
        bins - This parameter is required.
      • addBundledDeps

        @Stability(Experimental)
        public void addBundledDeps​(@NotNull
                                   @NotNull String... deps)
        (experimental) Defines bundled dependencies.

        Bundled dependencies will be added as normal dependencies as well as to the bundledDependencies section of your package.json.

        Parameters:
        deps - Names modules to install. This parameter is required.
      • addCompileCommand

        @Stability(Deprecated)
        @Deprecated
        public void addCompileCommand​(@NotNull
                                      @NotNull String... commands)
        Deprecated.
        use project.compileTask.exec()
        (deprecated) DEPRECATED.

        Parameters:
        commands - This parameter is required.
      • addDeps

        @Stability(Experimental)
        public void addDeps​(@NotNull
                            @NotNull String... deps)
        (experimental) Defines normal dependencies.

        Parameters:
        deps - Names modules to install. This parameter is required.
      • addDevDeps

        @Stability(Experimental)
        public void addDevDeps​(@NotNull
                               @NotNull String... deps)
        (experimental) Defines development/test dependencies.

        Parameters:
        deps - Names modules to install. This parameter is required.
      • addFields

        @Stability(Experimental)
        public void addFields​(@NotNull
                              Map<String,​Object> fields)
        (experimental) Directly set fields in package.json.

        Parameters:
        fields - The fields to set. This parameter is required.
      • addKeywords

        @Stability(Experimental)
        public void addKeywords​(@NotNull
                                @NotNull String... keywords)
        (experimental) Adds keywords to package.json (deduplicated).

        Parameters:
        keywords - The keywords to add. This parameter is required.
      • addPackageIgnore

        @Stability(Experimental)
        public void addPackageIgnore​(@NotNull
                                     String pattern)
        (experimental) Adds patterns to be ignored by npm.

        Overrides:
        addPackageIgnore in class Project
        Parameters:
        pattern - The pattern to ignore. This parameter is required.
      • addPeerDeps

        @Stability(Experimental)
        public void addPeerDeps​(@NotNull
                                @NotNull String... deps)
        (experimental) Defines peer dependencies.

        When adding peer dependencies, a devDependency will also be added on the pinned version of the declared peer. This will ensure that you are testing your code against the minimum version required from your consumers.

        Parameters:
        deps - Names modules to install. This parameter is required.
      • addScripts

        @Stability(Experimental)
        public void addScripts​(@NotNull
                               Map<String,​String> scripts)
        (experimental) Replaces the contents of multiple npm package.json scripts.

        Parameters:
        scripts - The scripts to set. This parameter is required.
      • addTestCommand

        @Stability(Deprecated)
        @Deprecated
        public void addTestCommand​(@NotNull
                                   @NotNull String... commands)
        Deprecated.
        use project.testTask.exec()
        (deprecated) DEPRECATED.

        Parameters:
        commands - This parameter is required.
      • hasScript

        @Stability(Deprecated)
        @Deprecated
        @NotNull
        public Boolean hasScript​(@NotNull
                                 String name)
        Deprecated.
        Use project.tasks.tryFind(name)
        (deprecated) Indicates if a script by the name name is defined.

        Parameters:
        name - The name of the script. This parameter is required.
      • removeScript

        @Stability(Experimental)
        public void removeScript​(@NotNull
                                 String name)
        (experimental) Removes the npm script (always successful).

        Parameters:
        name - The name of the script. This parameter is required.
      • renderWorkflowSetup

        @Stability(Experimental)
        @NotNull
        public List<JobStep> renderWorkflowSetup​(@Nullable
                                                 RenderWorkflowSetupOptions options)
        (experimental) Returns the set of workflow steps which should be executed to bootstrap a workflow.

        Parameters:
        options - Options.
        Returns:
        Job steps
      • renderWorkflowSetup

        @Stability(Experimental)
        @NotNull
        public List<JobStep> renderWorkflowSetup()
        (experimental) Returns the set of workflow steps which should be executed to bootstrap a workflow.

        Returns:
        Job steps
      • runTaskCommand

        @Stability(Experimental)
        @NotNull
        public String runTaskCommand​(@NotNull
                                     Task task)
        (experimental) Returns the shell command to execute in order to run a task.

        This will typically be npx projen TASK.

        Overrides:
        runTaskCommand in class Project
        Parameters:
        task - The task for which the command is required. This parameter is required.
      • setScript

        @Stability(Experimental)
        public void setScript​(@NotNull
                              String name,
                              @NotNull
                              String command)
        (experimental) Replaces the contents of an npm package.json script.

        Parameters:
        name - The script name. This parameter is required.
        command - The command to execute. This parameter is required.
      • getAllowLibraryDependencies

        @Stability(Deprecated)
        @Deprecated
        @NotNull
        public Boolean getAllowLibraryDependencies()
        Deprecated.
        use package.allowLibraryDependencies
      • getArtifactsDirectory

        @Stability(Experimental)
        @NotNull
        public String getArtifactsDirectory()
        (experimental) The build output directory.

        An npm tarball will be created under the js subdirectory. For example, if this is set to dist (the default), the npm tarball will be placed under dist/js/boom-boom-1.2.3.tg.

      • getArtifactsJavascriptDirectory

        @Stability(Experimental)
        @NotNull
        public String getArtifactsJavascriptDirectory()
        (experimental) The location of the npm tarball after build (${artifactsDirectory}/js).
      • getBundler

        @Stability(Experimental)
        @NotNull
        public Bundler getBundler()
      • getEntrypoint

        @Stability(Deprecated)
        @Deprecated
        @NotNull
        public String getEntrypoint()
        Deprecated.
        use package.entrypoint
      • getManifest

        @Stability(Deprecated)
        @Deprecated
        @NotNull
        public Object getManifest()
        Deprecated.
        use package.addField(x, y)
      • getNpmrc

        @Stability(Experimental)
        @NotNull
        public NpmConfig getNpmrc()
        (experimental) The .npmrc file.
      • getPackageValue

        @Stability(Experimental)
        @NotNull
        public NodePackage getPackageValue()
        (experimental) API for managing the node package.
      • getPackageManager

        @Stability(Deprecated)
        @Deprecated
        @NotNull
        public NodePackageManager getPackageManager()
        Deprecated.
        use package.packageManager
        (deprecated) The package manager to use.

      • getRunScriptCommand

        @Stability(Experimental)
        @NotNull
        public String getRunScriptCommand()
        (experimental) The command to use to run scripts (e.g. yarn run or npm run depends on the package manager).
      • getWorkflowBootstrapSteps

        @Stability(Experimental)
        @NotNull
        protected List<JobStep> getWorkflowBootstrapSteps()
      • getWorkflowPackageCache

        @Stability(Experimental)
        @NotNull
        protected Boolean getWorkflowPackageCache()
      • getAutoMerge

        @Stability(Experimental)
        @Nullable
        public AutoMerge getAutoMerge()
        (experimental) Component that sets up mergify for merging approved pull requests.
      • getBuildWorkflow

        @Stability(Experimental)
        @Nullable
        public BuildWorkflow getBuildWorkflow()
        (experimental) The PR build GitHub workflow.

        undefined if buildWorkflow is disabled.

      • getBuildWorkflowJobId

        @Stability(Experimental)
        @Nullable
        public String getBuildWorkflowJobId()
        (experimental) The job ID of the build workflow.
      • getJest

        @Stability(Experimental)
        @Nullable
        public Jest getJest()
        (experimental) The Jest configuration (if enabled).
      • getMaxNodeVersion

        @Stability(Experimental)
        @Nullable
        public String getMaxNodeVersion()
        (experimental) Maximum node version required by this package.
      • getMinNodeVersion

        @Stability(Experimental)
        @Nullable
        public String getMinNodeVersion()
        (experimental) Minimum node.js version required by this package.
      • getNodeVersion

        @Stability(Experimental)
        @Nullable
        protected String getNodeVersion()
      • getNpmignore

        @Stability(Experimental)
        @Nullable
        public IgnoreFile getNpmignore()
        (experimental) The .npmignore file.
      • getPrettier

        @Stability(Experimental)
        @Nullable
        public Prettier getPrettier()
      • getPublisher

        @Stability(Deprecated)
        @Deprecated
        @Nullable
        public Publisher getPublisher()
        Deprecated.
        use release.publisher.
        (deprecated) Package publisher.

        This will be undefined if the project does not have a release workflow.

      • getRelease

        @Stability(Experimental)
        @Nullable
        public Release getRelease()
        (experimental) Release management.
      • getUpgradeWorkflow

        @Stability(Experimental)
        @Nullable
        public UpgradeDependencies getUpgradeWorkflow()
        (experimental) The upgrade workflow.