/rollup-plugin-toml

Rollup Plugin for TOML 1.0

Primary LanguageJavaScriptMIT LicenseMIT

Rollup Plugin for TOML

This Rollup plugin imports TOML files into your JavaScript code.

@iarna/toml is used to parse the TOML files. @iarna/toml (version 3.0.0) currently supports TOML 1.0.0-rc.1.

Installation

npm install @fbraem/rollup-plugin-toml

Usage

// rollup.config.js
import toml from '@fbraem/rollup-toml-plugin';

// Add toml to the plugins
export default {
  plugins: [
    toml()
  ]
};

Example

This TOML file

# This is a TOML document

title = 'TOML Example'

[owner]
name = "Franky Braem"
dob = 1969-03-09T10:00:00

[database]
enabled = true
ports = [ 8001, 8001, 8002 ]
data = [ ["delta", "phi"], [3.14] ]
temp_targets = { cpu = 79.5, case = 72.0 }

[servers]

[servers.alpha]
ip = "10.0.0.1"
role = "frontend"

[servers.beta]
ip = "10.0.0.2"
role = "backend"

will result in the following generated code

    export const title = "TOML Example";
    export const owner = {
    	name: "Franky Braem",
    	dob: new Date(-25711200000)
    };
    export const database = {
    	enabled: true,
    	ports: [
    		8001,
    		8001,
    		8002
    	],
    	data: [
    		[
    			"delta",
    			"phi"
    		],
    		[
    			3.14
    		]
    	],
    	temp_targets: {
    		cpu: 79.5,
    		"case": 72
    	}
    };
    export const servers = {
    	alpha: {
    		ip: "10.0.0.1",
    		role: "frontend"
    	},
    	beta: {
    		ip: "10.0.0.2",
    		role: "backend"
    	}
    };
    export default {
    	title,
    	owner,
    	database,
    	servers
    };