Skip to content

Commit 4b2ab42

Browse files
committed
feat: add limit addon
1 parent 4b99f7a commit 4b2ab42

4 files changed

Lines changed: 29 additions & 3 deletions

File tree

addon/googleFont.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ exports.addon = function (renderer) {
3737
};
3838
} else {
3939
renderer.googleFont = function (font, weights, subsets) {
40-
renderer.raw = "@import url('" + createUrl(font, weights, subsets) + "');" + renderer.raw;
40+
renderer.putRaw("@import url('" + createUrl(font, weights, subsets) + "');");
4141
};
4242
}
4343
};

addon/keyframes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ exports.addon = function (renderer) {
3232
if (renderer.client) {
3333
renderer.ksh.appendChild(document.createTextNode(str));
3434
} else {
35-
renderer.raw += str;
35+
renderer.putRaw(str);
3636
}
3737

3838
return;

addon/limit.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
'use strict';
2+
3+
exports.addon = function (renderer, limit) {
4+
limit = limit || 50000;
5+
6+
if (process.env.NODE_ENV !== 'production') {
7+
require('./__dev__/warnOnMissingDependencies')('limit', renderer, ['putRaw']);
8+
}
9+
10+
if (!renderer.client) {
11+
var putRaw = renderer.putRaw;
12+
13+
renderer.putRaw = function (rawCssRule) {
14+
if (renderer.raw.length + rawCssRule.length > limit) {
15+
/* eslint-disable */
16+
console.info('CSS was not injected, because it would go over ' + limit + ' byte limit.');
17+
console.log(rawCssRule);
18+
/* eslint-enable */
19+
20+
return;
21+
}
22+
23+
putRaw(rawCssRule);
24+
};
25+
}
26+
};

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "nano-css",
3-
"version": "1.2.0",
3+
"version": "1.3.0",
44
"description": "Smallest 5th gen CSS-in-JS library",
55
"main": "index.js",
66
"unpkg": "dist/nano-css.umd.min.js",

0 commit comments

Comments
 (0)