open-index/open-npm huggingface dataset:
npm package: @mlgq/color-print
Description: a package to printing colorful text in the terminal
Author: LiangGaoqiang
Latest version: 1.0.9

# color-print

This lightweight package is very convenient to print colorful text in the terminal.

<br/>

## Install

```bash
npm install @cellent/color-print
```

```bash
yarn add @cellent/color-print
```

<br />

## Usage

Well, it can not be any simpler to use, there are some examples:

```javascript
const print = require("@cellent/color-print")

// This is a red text
print.red("...")

// This is a text with red background
print.redBg("...")
```

There are a total of 16 methods available:<br />
**black | red | green | blue | yellow | purple | cyan | white (Bg?)**

If you want to combine font color and background color, you can use pass the second optional param, the parameter
value is also one of the above names, and has a string type.

```javascript
// This ia a red text with white background
print.red("...", "white")

//This is a yellow text with black background
print.blackBg("...", "yellow")
```

As you see, the method without `Bg` accepts the second param which represent the background color, and the method
with `BG` accepts the second param which describe the font color.<br />

Each printing will be end with line break by default, if you want an `inline printing`, you can pass the third
paramter as false.
npm package: @mlguys/mango-v4
Description: Typescript Client for mango-v4 program.
Author: Blockworks Foundation
Latest version: 0.15.16

_work in progress_

## License

See the LICENSE file.

The majority of this repo is MIT licensed, but some parts needed for compiling
the solana program are under GPL.

All GPL code is gated behind the `enable-gpl` feature. If you use the `mango-v4`
crate as a dependency with the `client` or `cpi` features, you use only MIT
parts of it.

The intention is for you to be able to depend on the `mango-v4` crate for
building closed-source tools and integrations, including other solana programs
that call into the mango program.

But deriving a solana program with similar functionality to the mango program
from this codebase would require the changes and improvements to stay publicly
available under GPL.

## Development

See DEVELOPING.md

### Dependencies

- rust version 1.65.0
- solana-cli 1.14.9
- anchor-cli 0.27.0
- npm 8.1.2
- node v16.13.1

### Submodules

After cloning this repo you'll need to init and update its git submodules.
Consider setting the git option `submodule.recurse=true`.

### Deployments

- devnet: 4MangoMjqJ2firMokCjjGgoK8d4MXcrgL7XJaL3w6fVg
- mainnet-beta: 4MangoMjqJ2firMokCjjGgoK8d4MXcrgL7XJaL3w6fVg
- primary mango group on mainnet-beta: 78b8f4cGCwmZ9ysPFMWLaLTkkaYnUjwMJYStWe5RTSSX

### Release

For program deployment, see RELEASING.md.

Here are steps followed while performing a npm package release
note: the UI currently uses code directly from github, pointing to the ts-client branch

- use `yarn publish` to release a new package, ensure compatibility with program release to mainnet-beta
- fix the tag auto added by yarn to match our internal convention, see script `fix-npm-tag.sh`, tags should look like this e.g.`npm-v0.0.1`, note: the npm package version/tag should not necessarily match the latest program deployment
npm package: @mlh758/angular-cli-no-mcp
Description: CLI tool for Angular (MCP features removed)
Author: Angular Authors
Latest version: 21.2.2

# Angular CLI (No MCP) - The CLI tool for Angular.

> **Note:** This is a fork of the official Angular CLI with all MCP (Model Context Protocol) features removed. The `@modelcontextprotocol/sdk` dependency and its transitive dependencies have been stripped to reduce install size and eliminate associated CVEs. This fork aims to stay up-to-date with major and minor releases from the upstream Angular CLI.

The sources for this package are in the [angular-cli-no-mcp](https://github.com/mlh758/angular-cli-no-mcp) repository. Please file issues and pull requests against that repository.

For the official Angular CLI, see [angular/angular-cli](https://github.com/angular/angular-cli).

Usage information and reference details can be found in the official Angular CLI [documentation](https://angular.dev/tools/cli).
npm package: @mlhiter/laura
Description: a micro javascript framework to build WebUI
Author: Alex Lee
Latest version: 1.0.0

### 一，框架基本做了什么？

#### 1，响应性（Reactivity）

```html
//without
<p id="cool-para"></p>
<script>
  const coolPara = 'Lorem ipsum.';
  const el = document.getElementById('cool-para');
  el.innerText = coolPara;
</script>

//with（Vue）
<script setup>
  const coolPara = 'Lorem ipsum.';
</script>
<template>
  <p>{{ coolPara }}</p>
</template>

//or（React）
export default function Para() {
  const coolPara = 'Lorem ipsum';
  return <p>{ coolPara }</p>;
}
```

可以看到书写的代码量大大减少，但是这不是主要原因；

主要原因是这将UI和数据绑定组合在一起，我们只需要更改script里的数据即可更新template里的UI显示。

#### 2，组合性（Composability）

```html
//with
<!-- Defining the component -->
<component name="cool-para">
  <p>
    <content />
  </p>
</component>

<!-- Using the component -->
<cool-para>Lorem ipsum.</cool-para>
```

我们可以通过定义组件并且在不同的地方重用它来提高复用率，就像定义函数使用函数一样，但是这是在原始的HTML情况下不具有的。

#### 3，模板化（templating）

Vue中的template和React中的JSX的Component，用来展示的部分就是模板。

为什么称为模板呢，因为它的数据是可变的，其他非数据部分不变，数据部分变就像模板一样喽。

#### 4，虚拟DOM（virtual DOM）

一种概念或者技术，简单的说就是我们虚构出一个DOM树存在内存里，当我们更新数据的时候，虚拟DOM树会检查自己哪里发生改变，然后仅改变真正DOM树的这一部分。

为什么要在数据与真实DOM之间加上这样一层虚拟DOM呢？因为如果直接操控真实DOM经常会产生非常大的改变，损耗性能而且慢。而我们通过虚拟DOM可以做到仅改变我们想要改变的那一小部分的真实DOM，并且虚拟DOM存在内存里的代价是相对较小的（比直接操控真实DOM小）。

#### 5，状态管理（state management）

状态是框架的本质，状态的改变会导致相应的组件使用状态的新值来重新渲染其模板。

### #参考文章

[Building a Frontend Framework; Reactivity and Composability With Zero Dependencies --- 构建前端框架；零依赖性的反应性和可组合性 (18alan.space)](https://18alan.space/posts/how-hard-is-it-to-build-a-frontend-framework.html)

[Frontend framework --- 前端框架 (mfrachet.github.io)](https://mfrachet.github.io/create-frontend-framework/)