open-index/open-npm huggingface dataset:
npm package: @sweetacid/mei
Description: ~~Simple C++ build system because I hate CMake~~
Author: Sweet Acid
Latest version: 0.4.6

# mei

~~Simple C++ build system because I hate CMake~~

i still hate CMake but **mei** is now a generator for CMake configs

## TODO

- [ ] ~~Switch to clang~~
- [ ] ~~Generate compile commands instead of compiling
  using [clang -Mj option](http://bcain-llvm.readthedocs.io/projects/clang/en/latest/ClangCommandLineReference/#cmdoption-clang-mj-arg)~~
- [ ] Other things I will find a need for
    - [x] Generate `CMakeLists.txt` files
    - [x] Support [xrepo](https://xrepo.xmake.io/) packages
    - [ ] Avoid creating an npm project (ship types somehow)

## Usage

### Create a New Project

To create a new project with the name **mei-is-cool**, run the following command:

```bash
$ npx @sweetacid/mei -n mei-is-cool
[CREATE] mei-is-cool/src/main.cpp
[CREATE] mei-is-cool/build.ts
```

This will generate a new directory `mei-is-cool` with the following files:

* `src/main.cpp` – example source file
* `build.ts` – build configuration file (we'll edit this next)

### OR

### Add Config to an Existing Project

If you want to add the config to an existing project, navigate to your project directory and run:

```bash
$ npx @sweetacid/mei -c
up to date, audited 21 packages in 2s

found 0 vulnerabilities
[CREATE] build.ts
```

This will add a `build.ts` file to your project directory that configures the build process.

---

### Edit the Generated `build.ts` file

```typescript
//  mei-is-cool/build.ts

export default async function (builder: Builder) {
    await builder
        .addExecutable("mei-is-cool")      // Define the executable name
        .addDirectory("src")               // Add the source directory
        .define("MEI_IS_REALLY_COOL")      // Define a preprocessor macro
        .build();                          // Trigger the build process
}
```

You can modify this file to suit your project's needs. For example, you can add more source directories, define
additional macros, or configure other build options. Check out the [test](test/) folder in this repository for examples.

---

### Generate CMakeLists.txt

To generate the CMakeLists.txt configuration for your project, simply run:

```bash
$ npx @sweetacid/mei
# no output means all went well
# check out CMakeLists.txt in the project's directory
```
npm package: @sweetacid/react-timeline-editor
Description: [![npm version](https://img.shields.io/npm/v/@xzdarcy/react-timeline-editor.svg?style=flat-square)](https://www.npmjs.com/package/@xzdarcy/react-timeline-editor) [![npm downloads](https://img.shields.io/npm/dm/@xzdarcy/react-timeline-editor.svg?style=flat
Author: xzdarcy
Latest version: 0.1.9

# React Timeline Editor
[![npm version](https://img.shields.io/npm/v/@xzdarcy/react-timeline-editor.svg?style=flat-square)](https://www.npmjs.com/package/@xzdarcy/react-timeline-editor)
[![npm downloads](https://img.shields.io/npm/dm/@xzdarcy/react-timeline-editor.svg?style=flat-square)](https://www.npmjs.com/package/@xzdarcy/react-timeline-editor)

**[React Timeline Editor](https://zdarcy.com/)** is a react component used to quickly build a timeline animation editor.

![example](https://github.com/xzdarcy/react-timeline-editor/blob/f79d85eee8a723e5210c04232daf2c51888418c0/public/assets/timeline.gif)
## Getting Started

```bash
npm install @xzdarcy/react-timeline-editor
```

```ts
import { Timeline, TimelineEffect, TimelineRow } from '@xzdarcy/react-timeline-editor';
import React from 'react';

const mockData: TimelineRow[] = [{
    id: "0",
    actions: [
      {
        id: "action00",
        start: 0,
        end: 2,
        effectId: "effect0",
      },
    ],
  },
  {
    id: "1",
    actions: [
      {
        id: "action10",
        start: 1.5,
        end: 5,
        effectId: "effect1",
      }
    ],
}]

const mockEffect: Record<string, TimelineEffect> = {
  effect0: {
    id: "effect0",
    name: "效果0",
  },
  effect1: {
    id: "effect1",
    name: "效果1",
  },
};

const TimelineEditor = () => {
  return (
      <Timeline
        editorData={mockData}
        effects={mockEffect}
      />
  );
};
```

## Documention
Checkout the [Docs](https://zdarcy.com/) for a demonstration of some basic and advanced features.
npm package: @sweetacid/saw
Description: wraps a sync/async function call in a try/catch
Author: A2
Latest version: 1.0.3

# saw
sync/async function wrapper

## usage
```typescript
const doSomething = () => console.log("zzZ..");
const doSomethingAsync = async () => console.log("...zzZ");
const doSomethingWith = (value: number) => console.log(value);
const throwSomething = () => {
    throw new Error("ZZZ");
};

const example = async () => {
    await saw(doSomething);

    await saw(doSomethingAsync);

    await saw(() => doSomethingWith(69));

    const [error] = await saw(throwSomething);
    if (error) {
        console.log("something bad happened");
    }
};
```
npm package: @sweetalert/transformer
Description: Transform SweetAlert parameters into DOM nodes. This is used behind the scenes to build libraries like [@sweetalert/with-react](https://github.com/sweetalert/sweetlalert-with-react)
Author: Tristan Edwards
Latest version: 0.1.1

# SweetAlert Transformer

Transform SweetAlert parameters into DOM nodes. This is used behind the scenes to build libraries like [@sweetalert/with-react](https://github.com/sweetalert/sweetlalert-with-react)
npm package: @sweetalert/with-react
Description: Official SweetAlert plugin for React
Author: Tristan Edwards
Latest version: 0.1.1

# SweetAlert for React

Easily render React components within your [SweetAlert](https://github.com/t4t5/sweetalert) modals.

## Why?

Many other framework-specific versions of SweetAlert shy away from its JavaScript-based API and abstract it into a template-based system. 
This one instead embraces it (because JavaScript is awesome!) and lets you pass in components as options!

This lets you continue to use features like Promises, but makes building advanced modal UIs much simpler.

## Install

```bash
npm install @sweetalert/with-react
```

## Usage

When passing JSX as the only parameter, it will replace SweetAlert's `content` option.

```javascript
import React from 'react';
import swal from '@sweetalert/with-react';

class App extends React.Component {
  componentDidMount() {
    swal(
      <div>
        <h1>Hello!</h1>        
        <p>I am a React component inside a SweetAlert modal.</p>
      </div>
    )
  }
}
```

<p align="center">
  <img src="https://user-images.githubusercontent.com/2598660/31619494-f68a91f8-b294-11e7-9561-b4f6b1abd724.png" width="600" />
</p>

You can also explicitly set the `content` option, if you want to set other [options](https://sweetalert.js.org/docs/#configuration) as well:

```javascript
swal({
  content: <div>Hello world!</div>,
  buttons: true,
});
```

Or use a combination of both:

```javascript
swal(<div>Hello world</div>, {
  buttons: true, 
});
```
npm package: @sweetalert2/eslint-config
Description: ESLint shareable config for the SweetAlert2 JS/TS coding style
Author: Limon Monte
Latest version: 1.3.4

# ESLint shareable config for the [SweetAlert2](https://github.com/sweetalert2/sweetalert2) JS/TS coding style

[![npm version](https://img.shields.io/npm/v/@sweetalert2/eslint-config.svg)](https://www.npmjs.com/package/@sweetalert2/eslint-config)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/sweetalert2/eslint-config/blob/main/CHANGELOG.md)

> ESLint [shareable config](http://eslint.org/docs/developer-guide/shareable-configs.html) for the [SweetAlert2](https://github.com/sweetalert2/sweetalert2) JS/TS coding style

## Installation

```
$ npm install --save-dev @sweetalert2/eslint-config
```

## Usage

Once the `@sweetalert2/eslint-config` package is installed, you can use it by specifying `@sweetalert2/eslint-config` in the [`extends`](http://eslint.org/docs/user-guide/configuring#extending-configuration-files) section of your [ESLint configuration](http://eslint.org/docs/user-guide/configuring).

```js
import sweetAlert2EslintConfig from '@sweetalert2/eslint-config'

// eslint.config.js
export default [
  ...sweetAlert2EslintConfig,
  {
    // Additional, project-specific rules...
  },
]
```
npm package: @sweetalert2/stylelint-config
Description: stylelint shareable config for the SweetAlert2 SCSS coding style
Author: Limon Monte
Latest version: 3.1.1

# stylelint shareable config for the [SweetAlert2](https://github.com/sweetalert2/sweetalert2) SCSS coding style

[![Build Status](https://github.com/sweetalert2/stylelint-config/workflows/build/badge.svg)](https://github.com/sweetalert2/stylelint-config/actions)
[![npm version](https://img.shields.io/npm/v/@sweetalert2/stylelint-config.svg)](https://www.npmjs.com/package/@sweetalert2/stylelint-config)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/sweetalert2/stylelint-config/blob/main/CHANGELOG.md)


SCSS linting rules, this extends the basic stylelint rules for use with [SweetAlert2](https://github.com/sweetalert2/sweetalert2)'s projects.

---
## Installation

```sh
npm install --save-dev @sweetalert2/stylelint-config
```


---

## .stylelintrc

```js
{
  "extends": "@sweetalert2/stylelint-config",
  "rules": {
    // Additional, per-project rules...
  }
}
```

---

## example package.json script

```json
"scripts": {
  "lint:scss": "stylelint **/*.scss --cache",
}
```

which would allow you to lint your project via `npm run lint:scss`
npm package: @sweetalert2/theme-bootstrap-4
Description: Bootstrap 4 theme for SweetAlert2
Latest version: 5.0.27
Deprecated: Use Swal.fire({ theme: 'bootstrap-4' }) instead

# @sweetalert2/theme-bootstrap-4 - Bootstrap 4 Theme for [SweetAlert2](https://github.com/sweetalert2/sweetalert2)

[![npm version](https://img.shields.io/npm/v/@sweetalert2/theme-bootstrap-4.svg)](https://www.npmjs.com/package/@sweetalert2/theme-bootstrap-4)

![](https://sweetalert2.github.io/images/themes-bootstrap-4.png)

Installation
------------

```sh
npm install --save sweetalert2 @sweetalert2/theme-bootstrap-4
```

Usage
-----

With CSS:

```html
<!-- Include the Bootstrap 4 theme -->
<link rel="stylesheet" href="@sweetalert2/theme-bootstrap-4/bootstrap-4.css">

<script src="sweetalert2/dist/sweetalert2.min.js"></script>
```

With SASS:

`your-app.js`:
```js
import Swal from 'sweetalert2/dist/sweetalert2.js';
```

`your-app.scss`:
```scss
@import '@sweetalert2/theme-bootstrap-4/bootstrap-4.scss';
```
npm package: @sweetalert2/theme-bulma
Description: Bulma theme for SweetAlert2
Latest version: 5.0.27
Deprecated: this package is unmaintained

# @sweetalert2/theme-bulma - Bulma Theme for [SweetAlert2](https://github.com/sweetalert2/sweetalert2)

[![npm version](https://img.shields.io/npm/v/@sweetalert2/theme-bulma.svg)](https://www.npmjs.com/package/@sweetalert2/theme-bulma)

![](https://sweetalert2.github.io/images/themes-bulma.png)

Installation
------------

```sh
npm install --save sweetalert2 @sweetalert2/theme-bulma
```

Usage
-----

With CSS:

```html
<!-- Include the Bulma theme -->
<link rel="stylesheet" href="@sweetalert2/theme-bulma/bulma.css">

<script src="sweetalert2/dist/sweetalert2.min.js"></script>
```

With SASS:

`your-app.js`:
```js
import Swal from 'sweetalert2/dist/sweetalert2.js';
```

`your-app.scss`:
```scss
@import '@sweetalert2/theme-bulma/bulma.scss';
```
npm package: @sweetalert2/theme-dark
Description: Dark theme for SweetAlert2
Author: Giuseppe Verni
Latest version: 5.0.27
Deprecated: Use Swal.fire({ theme: 'dark' }) instead

# @sweetalert2/theme-dark - Dark Theme for [SweetAlert2](https://github.com/sweetalert2/sweetalert2)

> [!CAUTION]
> **THIS PACKAGE IS DEPRECATED**, dark theme is now included in `sweetalert2` package itself:
> ```js
> Swal.fire({
>   theme: 'dark'
> })
> ```
>
> Also, `auto` theme is supported. `auto` will switch between `light` and `dark` based on user browser preference:
> ```js
> Swal.fire({
>   theme: 'auto'
> })
> ```

[![npm version](https://img.shields.io/npm/v/@sweetalert2/theme-dark.svg)](https://www.npmjs.com/package/@sweetalert2/theme-dark)

![](https://sweetalert2.github.io/images/themes-dark.png)

Installation
------------

```sh
npm install --save sweetalert2 @sweetalert2/theme-dark
```

Usage
-----

With CSS:

```html
<!-- Include the Dark theme -->
<link rel="stylesheet" href="@sweetalert2/theme-dark/dark.css">

<script src="sweetalert2/dist/sweetalert2.min.js"></script>
```

With SASS:

`your-app.js`:
```js
import Swal from 'sweetalert2/dist/sweetalert2.js';
```

`your-app.scss`:
```scss
@import '@sweetalert2/theme-dark/dark.scss';
```
npm package: @sweetalert2/theme-material-ui
Description: Material UI theme for SweetAlert2
Latest version: 5.0.27
Deprecated: Use Swal.fire({ theme: 'material-ui' }) instead

# @sweetalert2/theme-material-ui - Material UI Theme for [SweetAlert2](https://github.com/sweetalert2/sweetalert2)

[![npm version](https://img.shields.io/npm/v/@sweetalert2/theme-material-ui.svg)](https://www.npmjs.com/package/@sweetalert2/theme-material-ui)

![](https://sweetalert2.github.io/images/themes-material-ui.png)

Installation
------------

```sh
npm install --save sweetalert2 @sweetalert2/theme-material-ui
```

Usage
-----

With CSS:

```html
<!-- Include the Material UI theme -->
<link rel="stylesheet" href="@sweetalert2/theme-material-ui/material-ui.css">

<script src="sweetalert2/dist/sweetalert2.min.js"></script>
```

With SASS:

`your-app.js`:
```js
import Swal from 'sweetalert2/dist/sweetalert2.js';
```

`your-app.scss`:
```scss
@import '@sweetalert2/theme-material-ui/material-ui.scss';
```
npm package: @sweetalert2/themes
Description: Themes for SweetAlert2
Author: Limon Monte
Latest version: 5.0.27
Deprecated: Themes are now built-in into sweetalert2 package, https://sweetalert2.github.io/\#themes

# @sweetalert2/themes - Official Themes for [SweetAlert2](https://github.com/sweetalert2/sweetalert2)

[![npm version](https://img.shields.io/npm/v/@sweetalert2/themes.svg)](https://www.npmjs.com/package/@sweetalert2/themes)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/sweetalert2/sweetalert2-themes/blob/main/CHANGELOG.md)

## Available themes

- [`Dark`](https://github.com/sweetalert2/sweetalert2-themes/tree/main/dark)
- [`Minimal`](https://github.com/sweetalert2/sweetalert2-themes/tree/main/minimal)
- [`Borderless`](https://github.com/sweetalert2/sweetalert2-themes/tree/main/borderless)
- [`Bootstrap 4`](https://github.com/sweetalert2/sweetalert2-themes/tree/main/bootstrap-4)
- [`Material UI`](https://github.com/sweetalert2/sweetalert2-themes/tree/main/material-ui)
- [`WordPress Admin`](https://github.com/sweetalert2/sweetalert2-themes/tree/main/wordpress-admin)
- [`Bulma`](https://github.com/sweetalert2/sweetalert2-themes/tree/main/bulma)
- [`Default`](https://github.com/sweetalert2/sweetalert2-themes/tree/main/default)

## Installation

You can install all themes at once:

```sh
npm install --save @sweetalert2/themes
```

Or just a single theme `@sweetalert2/theme-<theme_name>`, e.g.

```sh
npm install --save @sweetalert2/theme-dark
```

Or grab them both from [jsdelivr CDN](https://cdn.jsdelivr.net/npm/@sweetalert2/themes), for example:

```html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@sweetalert2/theme-dark@5/dark.css" />
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.min.js"></script>
```

## Usage

With CSS:

```html
<!-- Include a required theme -->
<link rel="stylesheet" href="@sweetalert2/themes/dark/dark.css" />

<script src="sweetalert2/dist/sweetalert2.min.js"></script>
```

With SASS:

`your-app.js`:

```js
import Swal from 'sweetalert2/dist/sweetalert2.js';
```

`your-app.scss`:

```scss
@import '@sweetalert2/themes/dark/dark.scss';
```

## Contributing

If you would like to contribute enhancements or fixes, please do the following:

1. Fork the `sweetalert2-themes` repository and clone it locally.

2. When in the `sweetalert2-themes` directory, run `yarn install` to install dependencies.

3. To begin active development, run `yarn start` and `yarn watch` simultaneously.

4. Or, if you want to quickly start a new theme, run `yarn create-new-theme my-awesome-theme`. This will create the theme's default files.

## Donations

Has SweetAlert2 helped you create an amazing application? You can show your support by making a donation:

- [GitHub Sponsors :heart:](https://github.com/sponsors/limonte)
- [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TKTWHJGUWLR7E)

### [Hall of Donators :trophy:](https://github.com/sweetalert2/sweetalert2/blob/main/DONATIONS.md)