mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
Merge pull request #6211 from sebakerckhof/minifiers
Rename separated minifiers to singular name and use separate versions…
This commit is contained in:
@@ -6,8 +6,8 @@
|
||||
* Improve minimongo performance on updating documents when there are
|
||||
many active observes. #5627
|
||||
|
||||
* Split up `standard-minifiers` in separate CSS (`standard-minifiers-css`) and JS
|
||||
minifiers(`standard-minifiers-js`). `standard-minifiers` now acts as an umbrella package for these
|
||||
* Split up `standard-minifiers` in separate CSS (`standard-minifier-css`) and JS
|
||||
minifiers(`standard-minifier-js`). `standard-minifiers` now acts as an umbrella package for these
|
||||
2 minifiers.
|
||||
|
||||
* Move `DDPRateLimiter` to the server only, since it won't work if it is called from the client. It
|
||||
|
||||
@@ -41,7 +41,7 @@ or to allow your package to provide several components which your package's
|
||||
users can opt into one by one.
|
||||
|
||||
Each compiled source file produces a separate CSS file. (The
|
||||
`standard-minifiers` package merges them into one file afterwards.)
|
||||
`standard-minifier-css` package merges them into one file afterwards.)
|
||||
|
||||
## Importing
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
Tinytest.add("minifiers-css - simple css minification", function (test) {
|
||||
Tinytest.add("minifier-css - simple css minification", function (test) {
|
||||
var t = function (css, expected, desc) {
|
||||
test.equal(CssTools.minifyCss(css), [expected], desc);
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
Package.describe({
|
||||
summary: "JavaScript and CSS minifiers",
|
||||
summary: "CSS minifier",
|
||||
version: "1.1.7"
|
||||
});
|
||||
|
||||
@@ -16,15 +16,15 @@ Npm.strip({
|
||||
Package.onUse(function (api) {
|
||||
api.use('underscore', 'server');
|
||||
api.export(['CssTools']);
|
||||
api.addFiles(['minification.js', 'minifiers.js'], 'server');
|
||||
api.addFiles(['minification.js', 'minifier.js'], 'server');
|
||||
});
|
||||
|
||||
Package.onTest(function (api) {
|
||||
api.use('minifiers-css', 'server');
|
||||
api.use('minifier-css', 'server');
|
||||
api.use('tinytest');
|
||||
|
||||
api.addFiles([
|
||||
'minifiers-tests.js',
|
||||
'minifier-tests.js',
|
||||
'urlrewriting-tests.js'
|
||||
], 'server');
|
||||
});
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
Tinytest.add("minifiers - url rewriting when merging", function (test) {
|
||||
Tinytest.add("minifier-css - url rewriting when merging", function (test) {
|
||||
var stylesheet = function(backgroundPath) {
|
||||
return "body { color: green; background: top center url(" + backgroundPath + ") black, bottom center url(" + backgroundPath + "); }"
|
||||
};
|
||||
@@ -45,7 +45,7 @@ Tinytest.add("minifiers - url rewriting when merging", function (test) {
|
||||
|
||||
});
|
||||
|
||||
Tinytest.add("minifiers - url rewriting with media queries (ast rule recursion)", function (test) {
|
||||
Tinytest.add("minifier-css - url rewriting with media queries (ast rule recursion)", function (test) {
|
||||
var stylesheet = function(backgroundPath) {
|
||||
return "@media (min--moz-device-pixel-ratio: 1.5),\n\
|
||||
(-o-min-device-pixel-ratio: 3/2),\n\
|
||||
@@ -2,7 +2,7 @@
|
||||
// The UglifyJSMinify API can also be used for beautification. Test that it
|
||||
// behaves as expected.
|
||||
|
||||
Tinytest.add('minifiers - uglify beautify', function (test) {
|
||||
Tinytest.add('minifier-js - uglify beautify', function (test) {
|
||||
// See <https://github.com/mishoo/UglifyJS2#the-simple-way> and
|
||||
// <http://lisperator.net/uglifyjs/codegen> for the API we're calling.
|
||||
test.equal(UglifyJSMinify('one = function () { return 1; };',
|
||||
@@ -1,5 +1,5 @@
|
||||
Package.describe({
|
||||
summary: "JavaScript minifiers",
|
||||
summary: "JavaScript minifier",
|
||||
version: "1.1.7"
|
||||
});
|
||||
|
||||
@@ -14,11 +14,11 @@ Npm.strip({
|
||||
Package.onUse(function (api) {
|
||||
api.use('underscore', 'server');
|
||||
api.export(['UglifyJSMinify', 'UglifyJS']);
|
||||
api.addFiles(['minifiers.js'], 'server');
|
||||
api.addFiles(['minifier.js'], 'server');
|
||||
});
|
||||
|
||||
Package.onTest(function (api) {
|
||||
api.use('minifiers-js', 'server');
|
||||
api.use('minifier-js', 'server');
|
||||
api.use('tinytest');
|
||||
|
||||
api.addFiles([
|
||||
@@ -20,7 +20,7 @@ Tinytest.add("spacebars-compiler - compiler output", function (test) {
|
||||
var postProcess = function (string) {
|
||||
// remove initial and trailing parens
|
||||
string = string.replace(/^\(([\S\s]*)\)$/, '$1');
|
||||
if (! (Package['minifiers-js'] && Package['minifiers-js'].UglifyJSMinify)) {
|
||||
if (! (Package['minifier-js'] && Package['minifier-js'].UglifyJSMinify)) {
|
||||
// these tests work a lot better with access to beautification,
|
||||
// but let's at least do some sort of test without it.
|
||||
// These regexes may have to be adjusted if new tests are added.
|
||||
|
||||
@@ -95,8 +95,8 @@ SpacebarsCompiler.codeGen = function (parseTree, options) {
|
||||
};
|
||||
|
||||
SpacebarsCompiler._beautify = function (code) {
|
||||
if (Package['minifiers-js'] && Package['minifiers-js'].UglifyJSMinify) {
|
||||
var result = Package['minifiers-js'].UglifyJSMinify(
|
||||
if (Package['minifier-js'] && Package['minifier-js'].UglifyJSMinify) {
|
||||
var result = Package['minifier-js'].UglifyJSMinify(
|
||||
code,
|
||||
{ fromString: true,
|
||||
mangle: false,
|
||||
|
||||
@@ -11,10 +11,10 @@ Package.onUse(function (api) {
|
||||
api.use('blaze-tools');
|
||||
|
||||
api.use('underscore');
|
||||
// The templating plugin will pull in minifiers-js, so that generated code will
|
||||
// The templating plugin will pull in minifier-js, so that generated code will
|
||||
// be beautified. But it's a weak dependency so that eg boilerplate-generator
|
||||
// doesn't pull in minifiers.
|
||||
api.use('minifiers-js', ['server'], { weak: true });
|
||||
// doesn't pull in the minifier.
|
||||
api.use('minifier-js', ['server'], { weak: true });
|
||||
api.addFiles(['templatetag.js',
|
||||
'optimizer.js',
|
||||
'react.js',
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Standard Minifiers for CSS
|
||||
Standard Minifier for CSS
|
||||
===
|
||||
|
||||
This package provides a minifier plugin used for Meteor apps by default.
|
||||
@@ -1,14 +1,14 @@
|
||||
Package.describe({
|
||||
name: 'standard-minifiers-css',
|
||||
name: 'standard-minifier-css',
|
||||
version: '1.0.2',
|
||||
summary: 'Standard css minifiers used with Meteor apps by default.',
|
||||
summary: 'Standard css minifier used with Meteor apps by default.',
|
||||
documentation: 'README.md'
|
||||
});
|
||||
|
||||
Package.registerBuildPlugin({
|
||||
name: "minifyStdCSS",
|
||||
use: [
|
||||
'minifiers-css'
|
||||
'minifier-css'
|
||||
],
|
||||
npmDependencies: {
|
||||
"source-map": "0.4.2"
|
||||
@@ -1,4 +1,4 @@
|
||||
Standard Minifiers for JS
|
||||
Standard Minifier for JS
|
||||
===
|
||||
|
||||
This package provides a minifier plugin used for Meteor apps by default.
|
||||
@@ -1,14 +1,14 @@
|
||||
Package.describe({
|
||||
name: 'standard-minifiers-js',
|
||||
name: 'standard-minifier-js',
|
||||
version: '1.0.2',
|
||||
summary: 'Standard javascript minifiers used with Meteor apps by default.',
|
||||
summary: 'Standard javascript minifier used with Meteor apps by default.',
|
||||
documentation: 'README.md'
|
||||
});
|
||||
|
||||
Package.registerBuildPlugin({
|
||||
name: "minifyStdJS",
|
||||
use: [
|
||||
'minifiers-js'
|
||||
'minifier-js'
|
||||
],
|
||||
sources: [
|
||||
'plugin/minify-js.js'
|
||||
@@ -6,7 +6,7 @@ Package.describe({
|
||||
});
|
||||
|
||||
Package.onUse(function(api) {
|
||||
api.imply(['standard-minifiers-css','standard-minifiers-js']);
|
||||
api.imply(['standard-minifier-css','standard-minifier-js']);
|
||||
});
|
||||
|
||||
Package.onTest(function(api) {
|
||||
|
||||
@@ -16,13 +16,13 @@ Package.onUse(function(api) {
|
||||
'ecmascript',
|
||||
'spacebars-compiler',
|
||||
|
||||
// minifiers-js is a weak dependency of spacebars-compiler; adding it here
|
||||
// minifier-js is a weak dependency of spacebars-compiler; adding it here
|
||||
// ensures that the output is minified. (Having it as a weak dependency means
|
||||
// that we don't ship uglify etc with built apps just because
|
||||
// boilerplate-generator uses spacebars-compiler.)
|
||||
// XXX maybe uglify should be applied by this plugin instead of via magic
|
||||
// weak dependency.
|
||||
'minifiers-js'
|
||||
'minifier-js'
|
||||
]);
|
||||
|
||||
api.addFiles([
|
||||
|
||||
@@ -10,7 +10,7 @@ Package.describe({
|
||||
|
||||
Package.registerBuildPlugin({
|
||||
name: "compileTemplatesBatch",
|
||||
// minifiers-js is a weak dependency of spacebars-compiler; adding it here
|
||||
// minifier-js is a weak dependency of spacebars-compiler; adding it here
|
||||
// ensures that the output is minified. (Having it as a weak dependency means
|
||||
// that we don't ship uglify etc with built apps just because
|
||||
// boilerplate-generator uses spacebars-compiler.)
|
||||
|
||||
@@ -12,7 +12,8 @@ session # Client-side reactive dictionary for your app
|
||||
jquery # Helpful client-side library
|
||||
tracker # Meteor's client-side reactive programming library
|
||||
|
||||
standard-minifiers # JS/CSS minifiers run for production mode
|
||||
standard-minifier-css # CSS minifier run for production mode
|
||||
standard-minifier-js # JS minifier run for production mode
|
||||
es5-shim # ECMAScript 5 compatibility for older browsers.
|
||||
ecmascript # Enable ECMAScript2015+ syntax in app code
|
||||
|
||||
|
||||
@@ -128,7 +128,8 @@ var ROOT_PACKAGES_TO_BUILD_IN_SANDBOX = [
|
||||
'tracker',
|
||||
"autopublish",
|
||||
"insecure",
|
||||
"standard-minifiers",
|
||||
"standard-minifier-css",
|
||||
"standard-minifier-js",
|
||||
"es5-shim"
|
||||
];
|
||||
|
||||
|
||||
@@ -210,6 +210,21 @@ the guide about breaking changes here:`,
|
||||
);
|
||||
},
|
||||
|
||||
"1.3.0-split-minifiers-package": function (projectContext) {
|
||||
// Minifiers are extracted into a new package called "standard-minifiers"
|
||||
|
||||
if (packagesFile.getConstraint('standard-minifiers')) {
|
||||
packagesFile.removePackages(['standard-minifiers']);
|
||||
|
||||
packagesFile.addPackages([
|
||||
// These packages replace meteor-platform in newly created apps
|
||||
'standard-minifier-css',
|
||||
'standard-minifier-js',
|
||||
]);
|
||||
}
|
||||
projectContext.projectConstraintsFile.writeIfModified();
|
||||
},
|
||||
|
||||
////////////
|
||||
// PLEASE. When adding new upgraders that print mesasges, follow the
|
||||
// examples for 0.9.0 and 0.9.1 above. Specifically, formatting
|
||||
|
||||
Reference in New Issue
Block a user