open-index/open-npm huggingface dataset:
npm package: @specron/compiler
Description: Solidity contract compiler for Specron framework.
Latest version: 0.17.6

```js
import { Compiler } from '.';

const compiler = new Compiler();
compiler.source('./src/tests/assets/*.sol');
compiler.source('./src/tests/assets/*.sol');

if (compiler.compile()) {
  compiler.save('./build/foo');
  console.log('Done!');
} else {
  console.log('Errors:', JSON.stringify(compiler.output, null, 2));
}
compiler.clear();
```
npm package: @specron/flattener
Description: Solidity files flattener for Specron framework.
Latest version: 0.17.6

```js
import { Flattener } from '.';

const flattener = new Flattener();
flattener.source('./src/tests/assets/*.sol');
flattener.source('./src/tests/assets/*.sol');

if (await flattener.flatten()) {
  flattener.save('./build/foo');
  console.log('Done!');
} else {
  console.log('Errors:', JSON.stringify(compiler.output, null, 2));
}
flattener.clear();
```
npm package: @specron/spec
Description: Test suits for Specron framework.
Latest version: 0.17.6

```ts
import { Spec, Contract } from '@specron/core';

interface Data {
  id?: number;
  name?: string;
  User?: Contract;
}

const spec = new Spec<Data>();

spec.before(async (ctx) => {
  ctx.set('id', 100);
  ctx.set('web3', context.web3);
  ctx.set('User', await context.require({ src: './src/contracts/User' }));
});

export default spec;
```