Set up the initial build infrastructure for Ink.

Review Request #13562 — Created Feb. 20, 2024 and submitted

Information

Ink
master

Reviewers

Ink is built as a combination of LessCSS and TypeScript, providing
component styles, implementations, and themes.

Upcoming changes will begin to set up more of the infrastructure for
building and testing Ink, and begin implementing components. To get
started, this change sets up the initial build infrastructure to support
that.

We're using Rollup, Babel, and TypeScript to manage all the JavaScript.
This approach is similar to what we uses in Spina 3. We provide exports
for ESM modules, CommonJS modules, and UMD modules, with a top-level
Ink namespace made available for ESM and UMD.

Babel takes care of transpiling the TypeScript, and TypeScript is set up
to do the type checking.

We use ESLint with our standard Beanbag rules to keep code consistent.

Initial stubs for the LessCSS and TypeScript modules are all provided.
They're currently essentially blank, and will be populated in upcoming
changes.

By itself, this change doesn't do much. It build, but will fail to
copy to lib, since relevant directories don't yet exist. However,
this has been tested with in-progress changes.

Summary ID
Set up the initial build infrastructure for Ink.
Ink is built as a combination of LessCSS and TypeScript, providing component styles, implementations, and themes. Upcoming changes will begin to set up more of the infrastructure for building and testing Ink, and begin implementing components. To get started, this change sets up the initial build infrastructure to support that. We're using Rollup, Babel, and TypeScript to manage all the JavaScript. This approach is similar to what we uses in Spina 3. We provide exports for ESM modules, CommonJS modules, and UMD modules, with a top-level `Ink` namespace made available for ESM and UMD. Babel takes care of transpiling the TypeScript, and TypeScript is set up to do the type checking. We use ESLint with our standard Beanbag rules to keep code consistent. Initial stubs for the LessCSS and TypeScript modules are all provided. They're currently essentially blank, and will be populated in upcoming changes.
ac16a5a13478b7fac82a5a0b604b4ea9aeebeb43
chipx86
david
  1. Ship It!
  2. 
      
maubin
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed