mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Merge pull request #2549 from NativeScript/hdeshev/package-mains
Make package mains more webpack-friendly
This commit is contained in:
34
gruntfile.js
34
gruntfile.js
@@ -439,24 +439,37 @@ module.exports = function(grunt) {
|
||||
"copy:childPackageFiles"
|
||||
]);
|
||||
|
||||
grunt.registerTask("check-packagejson-boms", function() {
|
||||
function hasBOM(filepath) {
|
||||
var buf = grunt.file.read(filepath, { encoding: null });
|
||||
return (buf[0] === 0xEF && buf[1] === 0xBB && buf[2] === 0xBF);
|
||||
}
|
||||
function validatePackageJsons(fileValidator, errorFormatter) {
|
||||
var packageDescriptors = grunt.file.expand({}, [
|
||||
'**/package.json',
|
||||
'!node_modules/**'
|
||||
'tns-core-modules/**/package.json'
|
||||
]);
|
||||
var errors = packageDescriptors.map(function(packagePath) {
|
||||
if (hasBOM(packagePath)) {
|
||||
return "File " + packagePath + " contains a UTF-8 BOM.";
|
||||
if (fileValidator(packagePath)) {
|
||||
return errorFormatter(packagePath);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}).filter(function(errorMessage) { return !!errorMessage; });
|
||||
if (errors.length > 0)
|
||||
grunt.fail.fatal("\n" + errors.join("\n"));
|
||||
}
|
||||
|
||||
grunt.registerTask("check-packagejson-boms", function() {
|
||||
validatePackageJsons(function (filepath) {
|
||||
var buf = grunt.file.read(filepath, { encoding: null });
|
||||
return (buf[0] === 0xEF && buf[1] === 0xBB && buf[2] === 0xBF);
|
||||
}, function(filepath) {
|
||||
return "File " + filepath + " contains a UTF-8 BOM.";
|
||||
});
|
||||
});
|
||||
|
||||
grunt.registerTask("check-packagejson-mains", function() {
|
||||
validatePackageJsons(function (filepath) {
|
||||
var packageData = grunt.file.readJSON(filepath);
|
||||
return /\.js/i.test(packageData.main || "");
|
||||
}, function(filepath) {
|
||||
return "File " + filepath + " contains a broken main setting.";
|
||||
});
|
||||
});
|
||||
|
||||
grunt.registerTask("generate-tns-core-modules-dev-dts", generateModulesDts.bind(null, ".", localCfg.srcTnsCoreModules));
|
||||
@@ -475,6 +488,7 @@ module.exports = function(grunt) {
|
||||
"clean:build",
|
||||
"shell:getGitSHA",
|
||||
"check-packagejson-boms",
|
||||
"check-packagejson-mains",
|
||||
"compile-ts",
|
||||
"collect-modules-raw-files",
|
||||
"copy:definitionFiles",
|
||||
@@ -557,4 +571,4 @@ module.exports = function(grunt) {
|
||||
"pack-apps",
|
||||
"get-ready-packages"
|
||||
]));
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name" : "application-settings",
|
||||
"main" : "application-settings.js",
|
||||
"main" : "application-settings",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name" : "application",
|
||||
"main" : "application.js",
|
||||
"main" : "application",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name" : "camera",
|
||||
"main" : "camera.js",
|
||||
"main" : "camera",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name" : "color",
|
||||
"main" : "color.js",
|
||||
"main" : "color",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name" : "connectivity",
|
||||
"main" : "connectivity.js",
|
||||
"main" : "connectivity",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name" : "console",
|
||||
"main" : "console.js",
|
||||
"main" : "console",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"name" : "observable-array",
|
||||
"main" : "observable-array.js"
|
||||
"main" : "observable-array"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"name" : "observable",
|
||||
"main" : "observable.js"
|
||||
"main" : "observable"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"name" : "virtual-array",
|
||||
"main" : "virtual-array.js"
|
||||
"main" : "virtual-array"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name" : "debugger",
|
||||
"main" : "debugger.js",
|
||||
"main" : "debugger",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name" : "fetch",
|
||||
"main" : "fetch.js",
|
||||
"main" : "fetch",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name" : "file-system",
|
||||
"main" : "file-system.js",
|
||||
"main" : "file-system",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name" : "fps-meter",
|
||||
"main" : "fps-meter.js",
|
||||
"main" : "fps-meter",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name" : "globals",
|
||||
"main" : "globals.js",
|
||||
"main" : "globals",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name" : "http",
|
||||
"main" : "http.js",
|
||||
"main" : "http",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name" : "image-source",
|
||||
"main" : "image-source.js",
|
||||
"main" : "image-source",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"pure"
|
||||
],
|
||||
"version": "0.1.14",
|
||||
"main": "easysax.js",
|
||||
"main": "easysax",
|
||||
"bugs": {
|
||||
"url": "https://github.com/vflash/easysax/issues"
|
||||
},
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"name": "esprima",
|
||||
"description": "ECMAScript parsing infrastructure for multipurpose analysis",
|
||||
"homepage": "http://esprima.org",
|
||||
"main": "esprima.js",
|
||||
"main": "esprima",
|
||||
"bin": {
|
||||
"esparse": "./bin/esparse.js",
|
||||
"esvalidate": "./bin/esvalidate.js"
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "polymer-expressions",
|
||||
"main" : "polymer-expressions.js" }
|
||||
"main" : "polymer-expressions" }
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name" : "location",
|
||||
"main" : "location.js",
|
||||
"main" : "location",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name" : "platform",
|
||||
"main" : "platform.js",
|
||||
"main" : "platform",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name" : "text",
|
||||
"main" : "text.js",
|
||||
"main" : "text",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name" : "timer",
|
||||
"main" : "timer.js",
|
||||
"main" : "timer",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name" : "trace",
|
||||
"main" : "trace.js",
|
||||
"main" : "trace",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "action-bar",
|
||||
"main" : "action-bar.js" }
|
||||
"main" : "action-bar" }
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "activity-indicator",
|
||||
"main" : "activity-indicator.js" }
|
||||
"main" : "activity-indicator" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "animation",
|
||||
"main" : "animation.js" }
|
||||
"main" : "animation" }
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "border",
|
||||
"main" : "border.js" }
|
||||
"main" : "border" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "builder",
|
||||
"main" : "builder.js" }
|
||||
"main" : "builder" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "button",
|
||||
"main" : "button.js" }
|
||||
"main" : "button" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "content-view",
|
||||
"main" : "content-view.js" }
|
||||
"main" : "content-view" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "date-picker",
|
||||
"main" : "date-picker.js" }
|
||||
"main" : "date-picker" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "dialogs",
|
||||
"main" : "dialogs.js" }
|
||||
"main" : "dialogs" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "editable-text-base",
|
||||
"main" : "editable-text-base.js" }
|
||||
"main" : "editable-text-base" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "enums",
|
||||
"main" : "enums.js" }
|
||||
"main" : "enums" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "frame",
|
||||
"main" : "frame.js" }
|
||||
"main" : "frame" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "gestures",
|
||||
"main" : "gestures.js" }
|
||||
"main" : "gestures" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "html-view",
|
||||
"main" : "html-view.js" }
|
||||
"main" : "html-view" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "image-cache",
|
||||
"main" : "image-cache.js" }
|
||||
"main" : "image-cache" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "image",
|
||||
"main" : "image.js" }
|
||||
"main" : "image" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "label",
|
||||
"main" : "label.js" }
|
||||
"main" : "label" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "absolute-layout",
|
||||
"main" : "absolute-layout.js" }
|
||||
"main" : "absolute-layout" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "dock-layout",
|
||||
"main" : "dock-layout.js" }
|
||||
"main" : "dock-layout" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "grid-layout",
|
||||
"main" : "grid-layout.js" }
|
||||
"main" : "grid-layout" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "stack-layout",
|
||||
"main" : "stack-layout.js" }
|
||||
"main" : "stack-layout" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "wrap-layout",
|
||||
"main" : "wrap-layout.js" }
|
||||
"main" : "wrap-layout" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "list-picker",
|
||||
"main" : "list-picker.js" }
|
||||
"main" : "list-picker" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "list-view",
|
||||
"main" : "list-view.js" }
|
||||
"main" : "list-view" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "page",
|
||||
"main" : "page.js" }
|
||||
"main" : "page" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "placeholder",
|
||||
"main" : "placeholder.js" }
|
||||
"main" : "placeholder" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "progress",
|
||||
"main" : "progress.js" }
|
||||
"main" : "progress" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "proxy-view-container",
|
||||
"main" : "proxy-view-container.js" }
|
||||
"main" : "proxy-view-container" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "repeater",
|
||||
"main" : "repeater.js" }
|
||||
"main" : "repeater" }
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "scroll-view",
|
||||
"main" : "scroll-view.js" }
|
||||
"main" : "scroll-view" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "search-bar",
|
||||
"main" : "search-bar.js" }
|
||||
"main" : "search-bar" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "segmented-bar",
|
||||
"main" : "segmented-bar.js" }
|
||||
"main" : "segmented-bar" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "slider",
|
||||
"main" : "slider.js" }
|
||||
"main" : "slider" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "styling",
|
||||
"main" : "styling.js" }
|
||||
"main" : "styling" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "switch",
|
||||
"main" : "switch.js" }
|
||||
"main" : "switch" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "ui/tab-view",
|
||||
"main" : "tab-view.js" }
|
||||
"main" : "tab-view" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "text-base",
|
||||
"main" : "text-base.js" }
|
||||
"main" : "text-base" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "text-field",
|
||||
"main" : "text-field.js" }
|
||||
"main" : "text-field" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "text-view",
|
||||
"main" : "text-view.js" }
|
||||
"main" : "text-view" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "time-picker",
|
||||
"main" : "time-picker.js" }
|
||||
"main" : "time-picker" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "transition",
|
||||
"main" : "transition.js" }
|
||||
"main" : "transition" }
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{ "name" : "web-view",
|
||||
"main" : "web-view.js" }
|
||||
"main" : "web-view" }
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name" : "xhr",
|
||||
"main" : "xhr.js",
|
||||
"main" : "xhr",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name" : "xml",
|
||||
"main" : "xml.js",
|
||||
"main" : "xml",
|
||||
"nativescript": {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user