Core DSL for JS/TS development projects

A couple of changes have vbecome clear since the original concept of the new develoment model

jsProject { // For configuring development
  lifecycleManagers { // Select how project lifecycles are managed
    main(LifecyclePnpmNodeWithPackageManager) { // Use the package manager to build and test
      toolchain = 'pnpm' // Must match a toolchain of the type specified by "LifecyclePnpmNodeWithPackageManager"
    }
    gulp(LifecycleWithGulp) { // Use Gulp to build and test
      toolchain = jsToolchains.node.named('node', JseNodeToolchain)
    }
  }

  sourceSets { // For Javascript & Typescript source sets
    main {
      srcDir = 'src/node' // Where the base directory of the sources are located
      // Can only be called once.
      lifecycle (LifecyclePnpmNodeWithPackageManager, 'main')
    }
  }
}
Edited by Schalk W. Cronjé