Use babel and closure without bundler for type checking
This commit is contained in:
@@ -20,6 +20,10 @@ function getSymbols(callback) {
|
||||
});
|
||||
}
|
||||
|
||||
function getPath(name) {
|
||||
const fullPath = require.resolve(path.resolve('src', name));
|
||||
return './' + path.posix.relative('src/', fullPath);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a list of symbol names.
|
||||
@@ -36,12 +40,12 @@ function addImports(symbols, callback) {
|
||||
if (defaultExport.length > 1) {
|
||||
const from = defaultExport[0].replace(/^module\:/, './');
|
||||
const importName = from.replace(/[.\/]+/g, '$');
|
||||
const defaultImport = `import ${importName} from '${from}.js';`;
|
||||
const defaultImport = `import ${importName} from '${getPath(from)}';`;
|
||||
imports[defaultImport] = true;
|
||||
} else if (namedExport.length > 1) {
|
||||
const from = namedExport[0].replace(/^module\:/, './');
|
||||
const importName = from.replace(/[.\/]+/g, '_');
|
||||
const namedImport = `import * as ${importName} from '${from}.js';`;
|
||||
const namedImport = `import * as ${importName} from '${getPath(from)}';`;
|
||||
imports[namedImport] = true;
|
||||
}
|
||||
});
|
||||
@@ -135,7 +139,7 @@ function main(callback) {
|
||||
if (require.main === module) {
|
||||
async.waterfall([
|
||||
main,
|
||||
fs.outputFile.bind(fs, path.join('src', 'index.js'))
|
||||
fs.outputFile.bind(fs, path.resolve('src', 'index.js'))
|
||||
], function(err) {
|
||||
if (err) {
|
||||
process.stderr.write(err.message + '\n');
|
||||
|
||||
@@ -2,28 +2,19 @@ const Compiler = require('google-closure-compiler').compiler;
|
||||
|
||||
const compiler = new Compiler({
|
||||
js: [
|
||||
'./src/**.js',
|
||||
'./build/src-closure/**.js',
|
||||
'./node_modules/pbf/package.json', './node_modules/pbf/**.js', './node_modules/ieee754/**.js',
|
||||
'./node_modules/pixelworks/package.json', './node_modules/pixelworks/**.js',
|
||||
'./node_modules/rbush/package.json', './node_modules/rbush/**.js', 'node_modules/quickselect/**.js'
|
||||
],
|
||||
entry_point: './src/index.js',
|
||||
entry_point: './build/src-closure/index.js',
|
||||
module_resolution: 'NODE',
|
||||
//FIXME Use compilation_level: 'ADVANCED' after we have switched to path types
|
||||
compilation_level: 'SIMPLE',
|
||||
new_type_inf: true,
|
||||
generate_exports: true,
|
||||
export_local_property_definitions: true,
|
||||
output_wrapper: '(function(){%output%})() //# sourceMappingURL=ol.js.map',
|
||||
js_output_file: 'build/ol.js',
|
||||
create_source_map: '%outname%.map',
|
||||
source_map_include_content: true,
|
||||
//FIXME Turn jscomp_error on for * when we have path types everywhere
|
||||
dependency_mode: 'STRICT',
|
||||
process_common_js_modules: true,
|
||||
checks_only: true,
|
||||
//FIXME Change newCheckTypes to jscomp_error when we have path types everywhere
|
||||
jscomp_warning: ['newCheckTypes'],
|
||||
// Options to make dependencies work
|
||||
process_common_js_modules: true,
|
||||
dependency_mode: 'STRICT',
|
||||
hide_warnings_for: 'node_modules'
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user