# roole-evaluator

> Evaluator for the Roole language

Latest version **0.25.0** (published 2013-10-20) · MIT license · 0 weekly downloads

## Install

```sh
npm install roole-evaluator
pnpm add roole-evaluator
yarn add roole-evaluator
bun add roole-evaluator
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.25.0 |
| Published | 2013-10-20 |
| First published | 2013-08-19 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 13 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Glen Huang |
| Maintainers | curvedmark |
| Keywords | roole, evaluator, visitor |

## Links

- npm: https://www.npmjs.com/package/roole-evaluator
- Repository: https://github.com/curvedmark/roole-evaluator
- Issues: https://github.com/curvedmark/roole/issues
- npm.io page: https://npm.io/package/roole-evaluator

## Dependencies (13)

- [floader](https://npm.io/package/floader.md) 1.x
- [path-br](https://npm.io/package/path-br.md) 1.x
- [roole-node](https://npm.io/package/roole-node.md) 0.5.x
- [intersperse](https://npm.io/package/intersperse.md) 1.x
- [promise-now](https://npm.io/package/promise-now.md) 1.x
- [roole-error](https://npm.io/package/roole-error.md) 0.1.x
- [roole-parser](https://npm.io/package/roole-parser.md) 0.13.x
- [tree-visitor](https://npm.io/package/tree-visitor.md) 1.x
- [natural-range](https://npm.io/package/natural-range.md) 1.x
- [roole-builtin](https://npm.io/package/roole-builtin.md) 0.5.x
- [tree-transformer](https://npm.io/package/tree-transformer.md) 1.x
- [promise-any-first](https://npm.io/package/promise-any-first.md) 1.x
- [tree-transformer-async](https://npm.io/package/tree-transformer-async.md) 1.x

## Recent versions

- 0.25.0 (latest) — 2013-10-20
- 0.24.0 — 2013-10-18
- 0.23.3 — 2013-10-17
- 0.23.2 — 2013-10-12
- 0.23.1 — 2013-10-12
- 0.23.0 — 2013-10-10
- 0.22.0 — 2013-10-06
- 0.21.0 — 2013-09-24
- 0.20.0 — 2013-09-23
- 0.19.0 — 2013-09-22
- 0.18.0 — 2013-09-22
- 0.17.0 — 2013-09-21
- 0.16.0 — 2013-09-12
- 0.15.0 — 2013-09-11
- 0.14.0 — 2013-09-11
- … 13 more at https://npm.io/package/roole-evaluator/versions

## README

# roole-evaluator

Convert [Roole](http://roole.org/) AST to CSS AST.

It eliminates constructs that cannot exist in CSS (e.g., `@if`, `@for`, variables, etc).

## Example

```javascript
var parser = require('roole-parser');
var evaluator = require('roole-parser');

var ast = parser.parse('body { margin: 0 }');
evaluator.evaluate(ast).then(function (ast) {
	console.log(ast);
});
```

## API

```javascript
var promise = evaluator.evaluate(ast, [options]);
```

* `ast` - Roole AST
* `promise` - a promise whose fulfilling value is the CSS AST
* `options` - an object literal supporting these options:
	* `base` - an absolute path to which relative urls not starting with `./` or `../` are resolved.
	* `out` - (default: `base`) absolute path of the directory where the compiled CSS will be written to. Used to translate relative urls.
	* `imports` (default: `{}`) - An object literal containing files to be imported, keys are file paths, values are the contents. When a imported file matches a file path, the content will be used directly, and no external request is generated.

---
_Source: https://npm.io/package/roole-evaluator · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
