riot-compiler
Advanced tools
Comparing version 3.2.6 to 3.3.0
# Compiler Changes | ||
### v3.3.0 | ||
- Add initial experimental sourcemaps support via `sourcemap: true` option | ||
### v3.2.6 | ||
- Fix #105 | ||
- Fix #104 | ||
### v3.2.5 | ||
@@ -4,0 +11,0 @@ - Update dependencies and refactor some internal code avoiding bitwise operators |
/** | ||
* Compiler for riot custom tags | ||
* @version v3.2.6 | ||
* @version v3.3.0 | ||
*/ | ||
@@ -743,2 +743,3 @@ | ||
included, | ||
output = src, | ||
defaultParserptions = { | ||
@@ -763,6 +764,6 @@ | ||
if (opts.template) { | ||
src = compileTemplate(src, url, opts.template, opts.parserOptions.template) | ||
output = compileTemplate(output, url, opts.template, opts.parserOptions.template) | ||
} | ||
src = cleanSource(src) | ||
output = cleanSource(output) | ||
.replace(CUST_TAG, function (_, indent, tagName, attribs, body, body2) { | ||
@@ -848,6 +849,6 @@ var | ||
return src | ||
return output | ||
} | ||
var version = 'v3.2.6' | ||
var version = 'v3.3.0' | ||
@@ -854,0 +855,0 @@ export default { |
@@ -275,3 +275,3 @@ | ||
* Compiler for riot custom tags | ||
* @version v3.2.6 | ||
* @version v3.3.0 | ||
*/ | ||
@@ -742,2 +742,3 @@ var compile = (function () { | ||
included, | ||
output = src, | ||
defaultParserptions = { | ||
@@ -762,6 +763,6 @@ | ||
if (opts.template) { | ||
src = compileTemplate(src, url, opts.template, opts.parserOptions.template) | ||
output = compileTemplate(output, url, opts.template, opts.parserOptions.template) | ||
} | ||
src = cleanSource(src) | ||
output = cleanSource(output) | ||
.replace(CUST_TAG, function (_, indent, tagName, attribs, body, body2) { | ||
@@ -847,3 +848,3 @@ var | ||
return src | ||
return output | ||
} | ||
@@ -856,3 +857,3 @@ | ||
js: compileJS, | ||
version: 'v3.2.6' | ||
version: 'v3.3.0' | ||
} | ||
@@ -859,0 +860,0 @@ return compile |
@@ -72,5 +72,10 @@ # Compiler | ||
```js | ||
var riot = require('riot') | ||
const riot = require('riot-compiler') | ||
const fs = require('fs') | ||
const tagPath = './src/components/component.tag' | ||
const tagSource = fs.readFileSync(tagPath, 'utf8') | ||
const options = {} | ||
var js = compiler.compile(tag) | ||
const js = compiler.compile(tagSource, options, tagPath) | ||
``` | ||
@@ -80,2 +85,14 @@ | ||
#### Sourcemaps (experimental) | ||
If you will compile using the `sourcemap=true` option the compiler will return an object | ||
containing `code` and `sourcemap`. **The current riot compiler doesn't use a "real parser" so the generated sourcemaps might be inaccurate** | ||
We will generate better sourcemap results in the next riot major release. | ||
Here you can see how to generate sourcemaps reusing the code of the previous example: | ||
```js | ||
const { code, sourcemap } = compiler.compile(tagSource, { sourcemap: true }, tagPath) | ||
``` | ||
### <a name="css-parser"></a> compiler.parsers.css [tagName, css] | ||
@@ -82,0 +99,0 @@ |
/** | ||
* The riot-compiler v3.2.6 | ||
* The riot-compiler v3.3.0 | ||
* | ||
* @module compiler | ||
* @version v3.2.6 | ||
* @version v3.3.0 | ||
* @license MIT | ||
@@ -10,3 +10,3 @@ * @copyright Muut Inc. + contributors | ||
'use strict' | ||
var sourcemap = require('./sourcemap') | ||
var brackets = require('./brackets') | ||
@@ -878,2 +878,3 @@ var parsers = require('./parsers') | ||
included, | ||
output = src, | ||
defaultParserptions = { | ||
@@ -898,6 +899,6 @@ | ||
if (opts.template) { | ||
src = compileTemplate(src, url, opts.template, opts.parserOptions.template) | ||
output = compileTemplate(output, url, opts.template, opts.parserOptions.template) | ||
} | ||
src = cleanSource(src) | ||
output = cleanSource(output) | ||
.replace(CUST_TAG, function (_, indent, tagName, attribs, body, body2) { | ||
@@ -986,5 +987,16 @@ var | ||
if (/^[\\/]/.test(url)) url = path.relative('.', url) | ||
src = '//src: ' + url.replace(/\\/g, '/') + '\n' + src | ||
output = '//src: ' + url.replace(/\\/g, '/') + '\n' + output | ||
} | ||
return src | ||
if (opts.sourcemap) { | ||
return { | ||
map: sourcemap({ | ||
source: src, | ||
generated: output, | ||
file: url | ||
}), | ||
code: output | ||
} | ||
} | ||
return output | ||
} | ||
@@ -999,3 +1011,3 @@ | ||
parsers: parsers, | ||
version: 'v3.2.6' | ||
version: 'v3.3.0' | ||
} |
{ | ||
"name": "riot-compiler", | ||
"version": "3.2.6", | ||
"version": "3.3.0", | ||
"description": "Compiler for riot .tag files", | ||
@@ -62,4 +62,6 @@ "main": "lib/compiler.js", | ||
"dependencies": { | ||
"skip-regex": "^0.3.1" | ||
"skip-regex": "^0.3.1", | ||
"source-map": "^0.6.1", | ||
"string-similarity": "^1.2.0" | ||
} | ||
} |
@@ -38,5 +38,5 @@ [![Build Status][travis-image]][travis-url] | ||
[npm-url]: https://npmjs.org/package/riot-compiler | ||
[coverage-image]: https://codeclimate.com/github/riot/compiler/badges/coverage.svg | ||
[coverage-url]: https://codeclimate.com/github/riot/compiler/coverage | ||
[codeclimate-image]: https://codeclimate.com/github/riot/compiler/badges/issue_count.svg | ||
[coverage-image]: https://img.shields.io/coveralls/riot/compiler/master.svg?style=flat-square | ||
[coverage-url]: https://coveralls.io/r/riot/compiler?branch=master | ||
[codeclimate-image]: https://api.codeclimate.com/v1/badges/37de24282e8d113bb0cc/maintainability | ||
[codeclimate-url]: https://codeclimate.com/github/riot/compiler |
137540
27
3014
3
+ Addedsource-map@^0.6.1
+ Addedstring-similarity@^1.2.0
+ Addedlodash.every@4.6.0(transitive)
+ Addedlodash.flattendeep@4.4.0(transitive)
+ Addedlodash.foreach@4.5.0(transitive)
+ Addedlodash.map@4.6.0(transitive)
+ Addedlodash.maxby@4.6.0(transitive)
+ Addedsource-map@0.6.1(transitive)
+ Addedstring-similarity@1.2.2(transitive)