Skip to content

Commit 8a33327

Browse files
authored
auto detect transform (#126)
1 parent 124473f commit 8a33327

6 files changed

Lines changed: 19 additions & 14 deletions

File tree

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ const tree = html`
3636
document.body.appendChild(tree)
3737
```
3838

39-
Compile with browserify using `-t sheetify/transform`:
39+
Compile with browserify using `-t sheetify`:
4040
```sh
41-
$ browserify -t sheetify/transform index.js > bundle.js
41+
$ browserify -t sheetify index.js > bundle.js
4242
```
4343

4444
CSS classes are namespaced based on the content hash:
@@ -133,7 +133,7 @@ To write the compiled CSS to a separate file, rather than keep it in the
133133
bundle use [css-extract][2]:
134134
```sh
135135
$ browserify index.js \
136-
-t [ sheetify/transform ] \
136+
-t [ sheetify ] \
137137
-p [ css-extract -o bundle.css ] index.js \
138138
-o bundle.js
139139
```
@@ -164,9 +164,9 @@ const tree = html`
164164
document.body.appendChild(tree)
165165
```
166166

167-
Compile with browserify using `-t [ sheetify/transform -u sheetify-cssnext ]`:
167+
Compile with browserify using `-t [ sheetify -u sheetify-cssnext ]`:
168168
```sh
169-
$ browserify -t [ sheetify/transform -u sheetify-cssnext ] index.js > bundle.js
169+
$ browserify -t [ sheetify -u sheetify-cssnext ] index.js > bundle.js
170170
```
171171

172172
Transforms the CSS into:
@@ -185,7 +185,7 @@ The following plugins are available:
185185
Browserify transforms accept either flags from the command line using
186186
[subargs](https://github.com/substack/subarg):
187187
```sh
188-
$ browserify -t [ sheetify/transform -u sheetify-cssnext ] index.js > bundle.js
188+
$ browserify -t [ sheetify -u sheetify-cssnext ] index.js > bundle.js
189189
```
190190

191191
Or the equivalent options by passing in a configuration object in the
@@ -194,7 +194,7 @@ JavaScript API:
194194
const browserify = require('browserify')
195195

196196
const b = browserify(path.join(__dirname, 'transform/source.js'))
197-
b.transform('sheetify/transform', { use: [ 'sheetify-cssnext' ] })
197+
b.transform('sheetify', { use: [ 'sheetify-cssnext' ] })
198198
b.bundle().pipe(process.stdout)
199199
```
200200

index.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ module.exports.getPrefix = getPrefix
1616
// transform css
1717
// (str, str, obj?, fn) -> str
1818
function sheetify (src, filename, options, done) {
19+
// browserify transform
20+
if (typeof src === 'string' && !/\n/.test(src) && filename && filename._flags) {
21+
var args = Array.prototype.slice.apply(arguments)
22+
return require('./transform.js').apply(this, args)
23+
}
24+
1925
// handle tagged template calls directly from Node
2026
const isTemplate = Array.isArray(src)
2127
if (isTemplate) src = src.join('')

test/import.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const test = require('tape')
55
const path = require('path')
66
const fs = require('fs')
77

8-
const sheetify = require(path.join(__dirname, '../transform'))
8+
const sheetify = require('../')
99

1010
test('npm import', function (t) {
1111
t.test('should import npm packages', function (t) {

test/json.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ const test = require('tape')
22
const join = require('path').join
33
const browserify = require('browserify')
44

5-
const transform = require('../transform')
5+
const sheetify = require('..')
66

77
test('JSON files', function (t) {
88
t.plan(2)
99

1010
browserify()
1111
.add(join(__dirname, 'fixtures', './example.json'))
12-
.transform(transform)
12+
.transform(sheetify)
1313
.bundle(function (err, code) {
1414
if (err) return t.end(err)
1515
code = String(code)

test/plugins.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const test = require('tape')
55
const path = require('path')
66
const fs = require('fs')
77

8-
const sheetify = require(path.join(__dirname, '../transform'))
8+
const sheetify = require('../')
99

1010
test('plugins', function (t) {
1111
t.test('should transform CSS', function (t) {

test/prefix.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ const fs = require('fs')
77
const vm = require('vm')
88
const cssResolve = require('style-resolve').sync
99

10-
const transform = require('../transform')
1110
const sheetify = require('..')
1211

1312
test('prefix', function (t) {
@@ -48,7 +47,7 @@ test('prefix', function (t) {
4847
const bOpts = { browserField: false }
4948
const bpath = path.join(__dirname, 'fixtures/prefix-inline-source.js')
5049
browserify(bpath, bOpts)
51-
.transform(transform)
50+
.transform(sheetify)
5251
.transform(function (file) {
5352
return through(function (buf, enc, next) {
5453
const str = buf.toString('utf8')
@@ -88,7 +87,7 @@ test('prefix', function (t) {
8887
const bOpts = { browserField: false }
8988
const bpath = path.join(__dirname, 'fixtures/prefix-import-source.js')
9089
browserify(bpath, bOpts)
91-
.transform(transform)
90+
.transform(sheetify)
9291
.transform(function (file) {
9392
return through(function (buf, enc, next) {
9493
const str = buf.toString('utf8')

0 commit comments

Comments
 (0)