parent
b12ea30a66
commit
64efcf103c
|
@ -253,6 +253,20 @@ def _ts_expected_outs(ctx, label):
|
||||||
return _expected_outs(ctx)
|
return _expected_outs(ctx)
|
||||||
|
|
||||||
def _write_bundle_index(ctx):
|
def _write_bundle_index(ctx):
|
||||||
|
""" Provide an action that runs the bundle_index_main in ngc.
|
||||||
|
|
||||||
|
The action will only be executed when bundling with ng_package with a dep[] on this ng_module.
|
||||||
|
|
||||||
|
This creates:
|
||||||
|
- "flat module" metadata files
|
||||||
|
- "bundle index" js files with private symbol re-export, and their accompanying .d.ts files
|
||||||
|
|
||||||
|
Args:
|
||||||
|
ctx: the skylark rule execution context
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
A struct indicating where the files were produced, which is passed through an ng_package rule to packager.ts
|
||||||
|
"""
|
||||||
# Provide a default for the flat_module_out_file attribute.
|
# Provide a default for the flat_module_out_file attribute.
|
||||||
# We cannot use the default="" parameter of ctx.attr because the value is calculated
|
# We cannot use the default="" parameter of ctx.attr because the value is calculated
|
||||||
# from other attributes (name)
|
# from other attributes (name)
|
||||||
|
@ -269,7 +283,8 @@ def _write_bundle_index(ctx):
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
if not ctx.attr.module_name:
|
if not ctx.attr.module_name:
|
||||||
fail("Only ng_module with a module_name attribute should be exposed as flat module")
|
fail("""Internal error: bundle index files are only produced for ng_module targets with a module_name.
|
||||||
|
Please file a bug at https://github.com/angular/angular/issues""")
|
||||||
tsconfig["angularCompilerOptions"]["flatModuleId"] = ctx.attr.module_name
|
tsconfig["angularCompilerOptions"]["flatModuleId"] = ctx.attr.module_name
|
||||||
|
|
||||||
entry_point = ctx.attr.entry_point if ctx.attr.entry_point else "index.ts"
|
entry_point = ctx.attr.entry_point if ctx.attr.entry_point else "index.ts"
|
||||||
|
|
|
@ -103,6 +103,8 @@ def _ng_package_impl(ctx):
|
||||||
|
|
||||||
# These accumulators match the directory names where the files live in the
|
# These accumulators match the directory names where the files live in the
|
||||||
# Angular package format.
|
# Angular package format.
|
||||||
|
fesm2015 = []
|
||||||
|
fesm5 = []
|
||||||
esm2015 = []
|
esm2015 = []
|
||||||
esm5 = []
|
esm5 = []
|
||||||
bundles = []
|
bundles = []
|
||||||
|
@ -116,10 +118,17 @@ def _ng_package_impl(ctx):
|
||||||
if f.path.endswith(".js"):
|
if f.path.endswith(".js"):
|
||||||
esm2015.append(struct(js = f, map = None))
|
esm2015.append(struct(js = f, map = None))
|
||||||
|
|
||||||
|
# We infer the entry points to be:
|
||||||
|
# - ng_module rules in the deps (they have an "angular" provider)
|
||||||
|
# - in this package or a subpackage
|
||||||
|
# - those that have a module_name attribute (they produce flat module metadata)
|
||||||
entry_points = []
|
entry_points = []
|
||||||
|
flat_module_metadata = []
|
||||||
for dep in ctx.attr.deps:
|
for dep in ctx.attr.deps:
|
||||||
if dep.label.package.startswith(ctx.label.package):
|
if dep.label.package.startswith(ctx.label.package):
|
||||||
entry_points.append(dep.label.package[len(ctx.label.package) + 1:])
|
entry_points.append(dep.label.package[len(ctx.label.package) + 1:])
|
||||||
|
if hasattr(dep, "angular") and dep.angular.flat_module_metadata:
|
||||||
|
flat_module_metadata.append(dep.angular.flat_module_metadata)
|
||||||
|
|
||||||
for entry_point in entry_points:
|
for entry_point in entry_points:
|
||||||
es2015_entry_point = "/".join([p for p in [
|
es2015_entry_point = "/".join([p for p in [
|
||||||
|
@ -153,75 +162,71 @@ def _ng_package_impl(ctx):
|
||||||
|
|
||||||
config = write_rollup_config(ctx, [], root_dirs)
|
config = write_rollup_config(ctx, [], root_dirs)
|
||||||
|
|
||||||
# Currently we don't include these rollup "FESM" files in the package.
|
fesm2015.append(_rollup(ctx, config, es2015_entry_point, esm_2015_files, fesm2015_output))
|
||||||
# They are only accessible as named outputs from the rule.
|
fesm5.append(_rollup(ctx, config, es5_entry_point, esm5_sources, fesm5_output))
|
||||||
_rollup(ctx, config, es2015_entry_point, esm_2015_files, fesm2015_output)
|
|
||||||
_rollup(ctx, config, es5_entry_point, esm5_sources, fesm5_output)
|
|
||||||
|
|
||||||
bundles.append(_rollup(ctx, config, es5_entry_point, esm5_sources, umd_output, format = "umd"))
|
bundles.append(_rollup(ctx, config, es5_entry_point, esm5_sources, umd_output, format = "umd"))
|
||||||
uglify_sourcemap = run_uglify(ctx, umd_output, min_output,
|
uglify_sourcemap = run_uglify(ctx, umd_output, min_output,
|
||||||
config_name = entry_point.replace("/", "_"))
|
config_name = entry_point.replace("/", "_"))
|
||||||
bundles.append(struct(js = min_output, map = uglify_sourcemap))
|
bundles.append(struct(js = min_output, map = uglify_sourcemap))
|
||||||
|
|
||||||
inputs = (
|
packager_inputs = (
|
||||||
ctx.files.srcs +
|
ctx.files.srcs +
|
||||||
esm5_sources.to_list() +
|
esm5_sources.to_list() +
|
||||||
depset(transitive = [d.typescript.transitive_declarations
|
depset(transitive = [d.typescript.transitive_declarations
|
||||||
for d in ctx.attr.deps
|
for d in ctx.attr.deps
|
||||||
if hasattr(d, "typescript")]).to_list() +
|
if hasattr(d, "typescript")]).to_list() +
|
||||||
[f.js for f in esm2015 + esm5 + bundles] +
|
[f.js for f in fesm2015 + fesm5 + esm2015 + esm5 + bundles] +
|
||||||
[f.map for f in esm2015 + esm5 + bundles if f.map])
|
[f.map for f in fesm2015 + fesm5 + esm2015 + esm5 + bundles if f.map])
|
||||||
|
|
||||||
args = ctx.actions.args()
|
packager_args = ctx.actions.args()
|
||||||
args.use_param_file("%s", use_always = True)
|
packager_args.use_param_file("%s", use_always = True)
|
||||||
|
|
||||||
# The order of arguments matters here, as they are read in order in packager.ts.
|
# The order of arguments matters here, as they are read in order in packager.ts.
|
||||||
args.add(npm_package_directory.path)
|
packager_args.add(npm_package_directory.path)
|
||||||
args.add(ctx.label.package)
|
packager_args.add(ctx.label.package)
|
||||||
args.add([ctx.bin_dir.path, ctx.label.package], join_with="/")
|
packager_args.add([ctx.bin_dir.path, ctx.label.package], join_with="/")
|
||||||
|
|
||||||
flat_module_metadata = depset(transitive = [
|
|
||||||
getattr(dep, "angular").flat_module_metadata
|
|
||||||
for dep in ctx.attr.deps
|
|
||||||
if hasattr(dep, "angular")])
|
|
||||||
# Marshal the metadata into a JSON string so we can parse the data structure
|
# Marshal the metadata into a JSON string so we can parse the data structure
|
||||||
# in the TypeScript program easily.
|
# in the TypeScript program easily.
|
||||||
metadata_arg = {}
|
metadata_arg = {}
|
||||||
for m in flat_module_metadata.to_list():
|
for m in depset(transitive = flat_module_metadata).to_list():
|
||||||
inputs.extend([m.index_file, m.typings_file, m.metadata_file])
|
packager_inputs.extend([m.index_file, m.typings_file, m.metadata_file])
|
||||||
metadata_arg[m.module_name] = {
|
metadata_arg[m.module_name] = {
|
||||||
"index": m.index_file.path,
|
"index": m.index_file.path,
|
||||||
"typings": m.typings_file.path,
|
"typings": m.typings_file.path,
|
||||||
"metadata": m.metadata_file.path,
|
"metadata": m.metadata_file.path,
|
||||||
}
|
}
|
||||||
args.add(str(metadata_arg))
|
packager_args.add(str(metadata_arg))
|
||||||
|
|
||||||
if ctx.file.readme_md:
|
if ctx.file.readme_md:
|
||||||
inputs.append(ctx.file.readme_md)
|
packager_inputs.append(ctx.file.readme_md)
|
||||||
args.add(ctx.file.readme_md.path)
|
packager_args.add(ctx.file.readme_md.path)
|
||||||
else:
|
else:
|
||||||
# placeholder
|
# placeholder
|
||||||
args.add("")
|
packager_args.add("")
|
||||||
|
|
||||||
args.add(_flatten_paths(esm2015), join_with=",")
|
packager_args.add(_flatten_paths(fesm2015), join_with=",")
|
||||||
args.add(_flatten_paths(esm5), join_with=",")
|
packager_args.add(_flatten_paths(fesm5), join_with=",")
|
||||||
args.add(_flatten_paths(bundles), join_with=",")
|
packager_args.add(_flatten_paths(esm2015), join_with=",")
|
||||||
args.add([s.path for s in ctx.files.srcs], join_with=",")
|
packager_args.add(_flatten_paths(esm5), join_with=",")
|
||||||
|
packager_args.add(_flatten_paths(bundles), join_with=",")
|
||||||
|
packager_args.add([s.path for s in ctx.files.srcs], join_with=",")
|
||||||
|
|
||||||
if ctx.file.license_banner:
|
if ctx.file.license_banner:
|
||||||
inputs.append(ctx.file.license_banner)
|
packager_inputs.append(ctx.file.license_banner)
|
||||||
args.add(ctx.file.license_banner.path)
|
packager_args.add(ctx.file.license_banner.path)
|
||||||
else:
|
else:
|
||||||
# placeholder
|
# placeholder
|
||||||
args.add("")
|
packager_args.add("")
|
||||||
|
|
||||||
ctx.actions.run(
|
ctx.actions.run(
|
||||||
progress_message = "Angular Packaging: building npm package for %s" % ctx.label.name,
|
progress_message = "Angular Packaging: building npm package for %s" % ctx.label.name,
|
||||||
mnemonic = "AngularPackage",
|
mnemonic = "AngularPackage",
|
||||||
inputs = inputs,
|
inputs = packager_inputs,
|
||||||
outputs = [npm_package_directory],
|
outputs = [npm_package_directory],
|
||||||
executable = ctx.executable._ng_packager,
|
executable = ctx.executable._ng_packager,
|
||||||
arguments = [args],
|
arguments = [packager_args],
|
||||||
)
|
)
|
||||||
|
|
||||||
devfiles = depset()
|
devfiles = depset()
|
||||||
|
|
|
@ -38,9 +38,9 @@ function main(args: string[]): number {
|
||||||
// JSON data mapping each entry point to the generated bundle index and
|
// JSON data mapping each entry point to the generated bundle index and
|
||||||
// flat module metadata, for example
|
// flat module metadata, for example
|
||||||
// {"@angular/core": {
|
// {"@angular/core": {
|
||||||
// "index": "packages/core/core.js",
|
// "index": "bazel-bin/packages/core/core.js",
|
||||||
// "typing": "packages/core/core.d.ts",
|
// "typing": "bazel-bin/packages/core/core.d.ts",
|
||||||
// "metadata": "packages/core/core.metadata.json"
|
// "metadata": "bazel-bin/packages/core/core.metadata.json"
|
||||||
// },
|
// },
|
||||||
// ...
|
// ...
|
||||||
// }
|
// }
|
||||||
|
@ -49,10 +49,16 @@ function main(args: string[]): number {
|
||||||
// Path to the package's README.md.
|
// Path to the package's README.md.
|
||||||
readmeMd,
|
readmeMd,
|
||||||
|
|
||||||
// List of ES2015 files generated by rollup.
|
// List of rolled-up flat ES2015 modules
|
||||||
|
fesm2015Arg,
|
||||||
|
|
||||||
|
// List of rolled-up flat ES5 modules
|
||||||
|
fesm5Arg,
|
||||||
|
|
||||||
|
// List of individual ES2015 modules
|
||||||
esm2015Arg,
|
esm2015Arg,
|
||||||
|
|
||||||
// List of flattened, ES5 files generated by rollup.
|
// List of individual ES5 modules
|
||||||
esm5Arg,
|
esm5Arg,
|
||||||
|
|
||||||
// List of all UMD bundles generated by rollup.
|
// List of all UMD bundles generated by rollup.
|
||||||
|
@ -65,6 +71,8 @@ function main(args: string[]): number {
|
||||||
licenseFile,
|
licenseFile,
|
||||||
] = params;
|
] = params;
|
||||||
|
|
||||||
|
const fesm2015 = fesm2015Arg.split(',').filter(s => !!s);
|
||||||
|
const fesm5 = fesm5Arg.split(',').filter(s => !!s);
|
||||||
const esm2015 = esm2015Arg.split(',').filter(s => !!s);
|
const esm2015 = esm2015Arg.split(',').filter(s => !!s);
|
||||||
const esm5 = esm5Arg.split(',').filter(s => !!s);
|
const esm5 = esm5Arg.split(',').filter(s => !!s);
|
||||||
const bundles = bundlesArg.split(',').filter(s => !!s);
|
const bundles = bundlesArg.split(',').filter(s => !!s);
|
||||||
|
@ -119,6 +127,8 @@ function main(args: string[]): number {
|
||||||
esm5.forEach(file => writeEsmFile(file, '.esm5', 'esm5'));
|
esm5.forEach(file => writeEsmFile(file, '.esm5', 'esm5'));
|
||||||
|
|
||||||
bundles.forEach(bundle => { copyFile(bundle, out, 'bundles'); });
|
bundles.forEach(bundle => { copyFile(bundle, out, 'bundles'); });
|
||||||
|
fesm2015.forEach(file => { copyFile(file, out, 'fesm2015'); });
|
||||||
|
fesm5.forEach(file => { copyFile(file, out, 'fesm5'); });
|
||||||
|
|
||||||
const allsrcs = shx.find('-R', binDir);
|
const allsrcs = shx.find('-R', binDir);
|
||||||
allsrcs.filter(hasFileExtension('.d.ts')).forEach((f: string) => {
|
allsrcs.filter(hasFileExtension('.d.ts')).forEach((f: string) => {
|
||||||
|
@ -215,16 +225,15 @@ function main(args: string[]): number {
|
||||||
const dir = path.join(baseDir, relative);
|
const dir = path.join(baseDir, relative);
|
||||||
shx.mkdir('-p', dir);
|
shx.mkdir('-p', dir);
|
||||||
shx.cp(file, dir);
|
shx.cp(file, dir);
|
||||||
|
// Double-underscore is used to escape forward slash in FESM filenames.
|
||||||
|
// See ng_package.bzl:
|
||||||
|
// fesm_output_filename = entry_point.replace("/", "__")
|
||||||
|
// We need to unescape these.
|
||||||
|
if (file.indexOf('__') >= 0) {
|
||||||
|
const outputPath = path.join(dir, ...path.basename(file).split('__'));
|
||||||
|
shx.mkdir('-p', path.dirname(outputPath));
|
||||||
|
shx.mv(path.join(dir, path.basename(file)), outputPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
function copyFesm(file: string, baseDir: string) {
|
|
||||||
const parts = path.basename(file).split('__');
|
|
||||||
const entryPointName = parts.join('/').replace(/\..*/, '');
|
|
||||||
const filename = parts.splice(-1)[0];
|
|
||||||
const dir = path.join(baseDir, ...parts);
|
|
||||||
shx.mkdir('-p', dir);
|
|
||||||
shx.cp(file, dir);
|
|
||||||
shx.mv(path.join(dir, path.basename(file)), path.join(dir, filename));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -248,22 +257,42 @@ function main(args: string[]): number {
|
||||||
return JSON.stringify(parsedPackage, null, 2);
|
return JSON.stringify(parsedPackage, null, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
parsedPackage['main'] = getUmdBundleName(packageName);
|
// Derive the paths to the files from the hard-coded names we gave them.
|
||||||
parsedPackage['module'] = parsedPackage['esm5'] =
|
// TODO(alexeagle): it would be better to transfer this information from the place
|
||||||
srcDirRelative(packageJson, moduleFiles['esm5_index']);
|
// where we created the filenames, via the modulesManifestArg
|
||||||
parsedPackage['es2015'] = parsedPackage['esm2015'] =
|
parsedPackage['main'] = getBundleName(packageName, 'bundles');
|
||||||
srcDirRelative(packageJson, moduleFiles['esm2015_index']);
|
parsedPackage['fesm5'] = getBundleName(packageName, 'fesm5');
|
||||||
|
parsedPackage['fesm2015'] = getBundleName(packageName, 'fesm2015');
|
||||||
|
|
||||||
|
parsedPackage['esm5'] = srcDirRelative(packageJson, moduleFiles['esm5_index']);
|
||||||
|
parsedPackage['esm2015'] = srcDirRelative(packageJson, moduleFiles['esm2015_index']);
|
||||||
parsedPackage['typings'] = srcDirRelative(packageJson, moduleFiles['typings']);
|
parsedPackage['typings'] = srcDirRelative(packageJson, moduleFiles['typings']);
|
||||||
|
|
||||||
|
// For now, we point the primary entry points at the fesm files, because of Webpack
|
||||||
|
// performance issues with a large number of individual files.
|
||||||
|
// TODO(iminar): resolve performance issues with the toolchain and point these to esm
|
||||||
|
parsedPackage['module'] = parsedPackage['fesm5'];
|
||||||
|
parsedPackage['es2015'] = parsedPackage['fesm2015'];
|
||||||
|
|
||||||
return JSON.stringify(parsedPackage, null, 2);
|
return JSON.stringify(parsedPackage, null, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
// e.g. @angular/common/http/testing -> ../../bundles/common-http-testing.umd.js
|
// e.g. @angular/common/http/testing -> ../../bundles/common-http-testing.umd.js
|
||||||
function getUmdBundleName(packageName: string) {
|
// or @angular/common/http/testing -> ../../fesm5/http/testing.js
|
||||||
|
function getBundleName(packageName: string, dir: string) {
|
||||||
const parts = packageName.split('/');
|
const parts = packageName.split('/');
|
||||||
// Remove the scoped package part, like @angular if present
|
// Remove the scoped package part, like @angular if present
|
||||||
const nameParts = packageName.startsWith('@') ? parts.splice(1) : parts;
|
const nameParts = packageName.startsWith('@') ? parts.splice(1) : parts;
|
||||||
const relativePath = Array(nameParts.length - 1).fill('..').join('/') || '.';
|
const relativePath = Array(nameParts.length - 1).fill('..').join('/') || '.';
|
||||||
return `${relativePath}/bundles/${nameParts.join('-')}.umd.js`;
|
let basename: string;
|
||||||
|
if (dir === 'bundles') {
|
||||||
|
basename = nameParts.join('-') + '.umd';
|
||||||
|
} else if (nameParts.length === 1) {
|
||||||
|
basename = nameParts[0];
|
||||||
|
} else {
|
||||||
|
basename = nameParts.slice(1).join('/');
|
||||||
|
}
|
||||||
|
return [relativePath, dir, basename + '.js'].join('/');
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Creates metadata re-export file for a secondary entry-point. */
|
/** Creates metadata re-export file for a secondary entry-point. */
|
||||||
|
|
|
@ -33,8 +33,8 @@ describe('@angular/common ng_package', () => {
|
||||||
'common.umd.min.js.map',
|
'common.umd.min.js.map',
|
||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
// FESMS currently not part of APF v6
|
|
||||||
xit('should have right fesm files', () => {
|
it('should have right fesm files', () => {
|
||||||
const expected = [
|
const expected = [
|
||||||
'common.js',
|
'common.js',
|
||||||
'common.js.map',
|
'common.js.map',
|
||||||
|
@ -46,8 +46,8 @@ describe('@angular/common ng_package', () => {
|
||||||
'testing.js',
|
'testing.js',
|
||||||
'testing.js.map',
|
'testing.js.map',
|
||||||
];
|
];
|
||||||
expect(shx.ls('-R', 'esm5').stdout.split('\n').filter(n => !!n).sort()).toEqual(expected);
|
expect(shx.ls('-R', 'fesm5').stdout.split('\n').filter(n => !!n).sort()).toEqual(expected);
|
||||||
expect(shx.ls('-R', 'esm2015').stdout.split('\n').filter(n => !!n).sort()).toEqual(expected);
|
expect(shx.ls('-R', 'fesm2015').stdout.split('\n').filter(n => !!n).sort()).toEqual(expected);
|
||||||
});
|
});
|
||||||
describe('should have module resolution properties in the package.json file for', () => {
|
describe('should have module resolution properties in the package.json file for', () => {
|
||||||
// https://github.com/angular/common-builds/blob/master/package.json
|
// https://github.com/angular/common-builds/blob/master/package.json
|
||||||
|
@ -59,8 +59,8 @@ describe('@angular/common ng_package', () => {
|
||||||
it('/http', () => {
|
it('/http', () => {
|
||||||
const actual = JSON.parse(fs.readFileSync('http/package.json', {encoding: 'utf-8'}));
|
const actual = JSON.parse(fs.readFileSync('http/package.json', {encoding: 'utf-8'}));
|
||||||
expect(actual['main']).toEqual('../bundles/common-http.umd.js');
|
expect(actual['main']).toEqual('../bundles/common-http.umd.js');
|
||||||
expect(actual['es2015']).toEqual('../esm2015/http/http.js');
|
expect(actual['es2015']).toEqual('../fesm2015/http.js');
|
||||||
expect(actual['module']).toEqual('../esm5/http/http.js');
|
expect(actual['module']).toEqual('../fesm5/http.js');
|
||||||
expect(actual['typings']).toEqual('./http.d.ts');
|
expect(actual['typings']).toEqual('./http.d.ts');
|
||||||
});
|
});
|
||||||
// https://github.com/angular/common-builds/blob/master/testing/package.json
|
// https://github.com/angular/common-builds/blob/master/testing/package.json
|
||||||
|
@ -72,8 +72,8 @@ describe('@angular/common ng_package', () => {
|
||||||
it('/http/testing', () => {
|
it('/http/testing', () => {
|
||||||
const actual = JSON.parse(fs.readFileSync('http/testing/package.json', {encoding: 'utf-8'}));
|
const actual = JSON.parse(fs.readFileSync('http/testing/package.json', {encoding: 'utf-8'}));
|
||||||
expect(actual['main']).toEqual('../../bundles/common-http-testing.umd.js');
|
expect(actual['main']).toEqual('../../bundles/common-http-testing.umd.js');
|
||||||
expect(actual['es2015']).toEqual('../../esm2015/http/testing/testing.js');
|
expect(actual['es2015']).toEqual('../../fesm2015/http/testing.js');
|
||||||
expect(actual['module']).toEqual('../../esm5/http/testing/testing.js');
|
expect(actual['module']).toEqual('../../fesm5/http/testing.js');
|
||||||
expect(actual['typings']).toEqual('./testing.d.ts');
|
expect(actual['typings']).toEqual('./testing.d.ts');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -56,8 +56,10 @@ describe('@angular/core ng_package', () => {
|
||||||
|
|
||||||
it('should contain module resolution mappings', () => {
|
it('should contain module resolution mappings', () => {
|
||||||
expect(shx.grep('"main":', packageJson)).toContain(`./bundles/core.umd.js`);
|
expect(shx.grep('"main":', packageJson)).toContain(`./bundles/core.umd.js`);
|
||||||
expect(shx.grep('"module":', packageJson)).toContain(`./esm5/core.js`);
|
expect(shx.grep('"module":', packageJson)).toContain(`./fesm5/core.js`);
|
||||||
expect(shx.grep('"es2015":', packageJson)).toContain(`./esm2015/core.js`);
|
expect(shx.grep('"es2015":', packageJson)).toContain(`./fesm2015/core.js`);
|
||||||
|
expect(shx.grep('"esm5":', packageJson)).toContain(`./esm5/core.js`);
|
||||||
|
expect(shx.grep('"esm2015":', packageJson)).toContain(`./esm2015/core.js`);
|
||||||
expect(shx.grep('"typings":', packageJson)).toContain(`./core.d.ts`);
|
expect(shx.grep('"typings":', packageJson)).toContain(`./core.d.ts`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -92,35 +94,33 @@ describe('@angular/core ng_package', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// FESMS currently not part of APF v6
|
describe('fesm2015', () => {
|
||||||
xdescribe('esm2015', () => {
|
it('should have a fesm15 file in the /fesm2015 directory',
|
||||||
it('should have a fesm15 file in the /esm2015 directory',
|
() => { expect(shx.cat('fesm2015/core.js')).toContain(`export {`); });
|
||||||
() => { expect(shx.cat('esm2015/core.js')).toContain(`export {`); });
|
|
||||||
|
|
||||||
it('should have a source map', () => {
|
it('should have a source map', () => {
|
||||||
expect(shx.cat('esm2015/core.js.map'))
|
expect(shx.cat('fesm2015/core.js.map'))
|
||||||
.toContain(`{"version":3,"file":"core.js","sources":`);
|
.toContain(`{"version":3,"file":"core.js","sources":`);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should have the version info in the header', () => {
|
it('should have the version info in the header', () => {
|
||||||
expect(shx.cat('esm2015/index.js'))
|
expect(shx.cat('fesm2015/core.js'))
|
||||||
.toMatch(/@license Angular v\d+\.\d+\.\d+(?!-PLACEHOLDER)/);
|
.toMatch(/@license Angular v\d+\.\d+\.\d+(?!-PLACEHOLDER)/);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
describe('esm5', () => {
|
describe('fesm5', () => {
|
||||||
|
|
||||||
// FESMS currently not part of APF v6
|
it('should have a fesm5 file in the /esm5 directory',
|
||||||
xit('should have a fesm5 file in the /esm5 directory',
|
() => { expect(shx.cat('fesm5/core.js')).toContain(`export {`); });
|
||||||
() => { expect(shx.cat('esm5/core.js')).toContain(`export {`); });
|
|
||||||
// FESMS currently not part of APF v6
|
it('should have a source map', () => {
|
||||||
xit('should have a source map', () => {
|
expect(shx.cat('fesm5/core.js.map')).toContain(`{"version":3,"file":"core.js","sources":`);
|
||||||
expect(shx.cat('esm5/core.js.map')).toContain(`{"version":3,"file":"core.js","sources":`);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not be processed by tsickle', () => {
|
it('should not be processed by tsickle', () => {
|
||||||
expect(shx.cat('esm5/index.js')).not.toContain('@fileoverview added by tsickle');
|
expect(shx.cat('fesm5/core.js')).not.toContain('@fileoverview added by tsickle');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -160,8 +160,10 @@ describe('@angular/core ng_package', () => {
|
||||||
it('should have its module resolution mappings defined in the nested package.json', () => {
|
it('should have its module resolution mappings defined in the nested package.json', () => {
|
||||||
const packageJson = p `testing/package.json`;
|
const packageJson = p `testing/package.json`;
|
||||||
expect(shx.grep('"main":', packageJson)).toContain(`../bundles/core-testing.umd.js`);
|
expect(shx.grep('"main":', packageJson)).toContain(`../bundles/core-testing.umd.js`);
|
||||||
expect(shx.grep('"module":', packageJson)).toContain(`../esm5/testing/testing.js`);
|
expect(shx.grep('"module":', packageJson)).toContain(`../fesm5/testing.js`);
|
||||||
expect(shx.grep('"es2015":', packageJson)).toContain(`../esm2015/testing/testing.js`);
|
expect(shx.grep('"es2015":', packageJson)).toContain(`../fesm2015/testing.js`);
|
||||||
|
expect(shx.grep('"esm5":', packageJson)).toContain(`../esm5/testing/testing.js`);
|
||||||
|
expect(shx.grep('"esm2015":', packageJson)).toContain(`../esm2015/testing/testing.js`);
|
||||||
expect(shx.grep('"typings":', packageJson)).toContain(`./testing.d.ts`);
|
expect(shx.grep('"typings":', packageJson)).toContain(`./testing.d.ts`);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -194,29 +196,28 @@ describe('@angular/core ng_package', () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// FESMS currently not part of APF v6
|
|
||||||
xdescribe('esm2015', () => {
|
describe('fesm2015', () => {
|
||||||
it('should have a fesm15 file in the /esm2015 directory',
|
it('should have a fesm15 file in the /fesm2015 directory',
|
||||||
() => { expect(shx.cat('esm2015/testing.js')).toContain(`export {`); });
|
() => { expect(shx.cat('fesm2015/testing.js')).toContain(`export {`); });
|
||||||
|
|
||||||
it('should have a source map', () => {
|
it('should have a source map', () => {
|
||||||
expect(shx.cat('esm2015/testing.js.map'))
|
expect(shx.cat('fesm2015/testing.js.map'))
|
||||||
.toContain(`{"version":3,"file":"testing.js","sources":`);
|
.toContain(`{"version":3,"file":"testing.js","sources":`);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should have the version info in the header', () => {
|
it('should have the version info in the header', () => {
|
||||||
expect(shx.cat('esm2015/index.js'))
|
expect(shx.cat('fesm2015/testing.js'))
|
||||||
.toMatch(/@license Angular v\d+\.\d+\.\d+(?!-PLACEHOLDER)/);
|
.toMatch(/@license Angular v\d+\.\d+\.\d+(?!-PLACEHOLDER)/);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// FESMS currently not part of APF v6
|
describe('fesm5', () => {
|
||||||
xdescribe('esm5', () => {
|
it('should have a fesm5 file in the /fesm5 directory',
|
||||||
it('should have a fesm5 file in the /esm5 directory',
|
() => { expect(shx.cat('fesm5/testing.js')).toContain(`export {`); });
|
||||||
() => { expect(shx.cat('esm5/testing.js')).toContain(`export {`); });
|
|
||||||
|
|
||||||
it('should have a source map', () => {
|
it('should have a source map', () => {
|
||||||
expect(shx.cat('esm5/testing.js.map'))
|
expect(shx.cat('fesm5/testing.js.map'))
|
||||||
.toContain(`{"version":3,"file":"testing.js","sources":`);
|
.toContain(`{"version":3,"file":"testing.js","sources":`);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -43,6 +43,16 @@ esm5
|
||||||
esm5/secondary/secondarymodule.ngsummary.js
|
esm5/secondary/secondarymodule.ngsummary.js
|
||||||
example_public_index.d.ts
|
example_public_index.d.ts
|
||||||
example_public_index.metadata.json
|
example_public_index.metadata.json
|
||||||
|
fesm2015
|
||||||
|
fesm2015/example.js
|
||||||
|
fesm2015/example.js.map
|
||||||
|
fesm2015/secondary.js
|
||||||
|
fesm2015/secondary.js.map
|
||||||
|
fesm5
|
||||||
|
fesm5/example.js
|
||||||
|
fesm5/example.js.map
|
||||||
|
fesm5/secondary.js
|
||||||
|
fesm5/secondary.js.map
|
||||||
index.d.ts
|
index.d.ts
|
||||||
mymodule.d.ts
|
mymodule.d.ts
|
||||||
package.json
|
package.json
|
||||||
|
@ -651,6 +661,178 @@ export * from './index';
|
||||||
|
|
||||||
{"__symbolic":"module","version":4,"metadata":{"MyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{}]}],"members":{}}},"origins":{"MyModule":"./mymodule"},"importAs":"example"}
|
{"__symbolic":"module","version":4,"metadata":{"MyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{}]}],"members":{}}},"origins":{"MyModule":"./mymodule"},"importAs":"example"}
|
||||||
|
|
||||||
|
--- fesm2015/example.js ---
|
||||||
|
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @fileoverview added by tsickle
|
||||||
|
* @suppress {checkTypes} checked by tsc
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @license
|
||||||
|
* Copyright Google Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by an MIT-style license that can be
|
||||||
|
* found in the LICENSE file at https://angular.io/license
|
||||||
|
*/
|
||||||
|
class MyModule {
|
||||||
|
}
|
||||||
|
MyModule.decorators = [
|
||||||
|
{ type: NgModule, args: [{},] }
|
||||||
|
];
|
||||||
|
/** @nocollapse */
|
||||||
|
MyModule.ctorParameters = () => [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @fileoverview added by tsickle
|
||||||
|
* @suppress {checkTypes} checked by tsc
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @license
|
||||||
|
* Copyright Google Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by an MIT-style license that can be
|
||||||
|
* found in the LICENSE file at https://angular.io/license
|
||||||
|
*/
|
||||||
|
|
||||||
|
export { MyModule };
|
||||||
|
//# sourceMappingURL=example.js.map
|
||||||
|
|
||||||
|
|
||||||
|
--- fesm2015/example.js.map ---
|
||||||
|
|
||||||
|
{"version":3,"file":"example.js","sources":["../../../../../../../../../../../../../execroot/angular/bazel-bin/packages/bazel/test/ng_package/example/npm_package.es6/packages/bazel/test/ng_package/example/index.js"],"sourcesContent":["/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { NgModule } from '@angular/core';\nexport class MyModule {\n}\nMyModule.decorators = [\n { type: NgModule, args: [{},] }\n];\n/** @nocollapse */\nMyModule.ctorParameters = () => [];\nfunction MyModule_tsickle_Closure_declarations() {\n /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */\n MyModule.decorators;\n /**\n * @nocollapse\n * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}\n */\n MyModule.ctorParameters;\n}\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXltb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iYXplbC90ZXN0L25nX3BhY2thZ2UvZXhhbXBsZS9teW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQVFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJdkMsTUFBTTs7O1lBREwsUUFBUSxTQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHthfSBmcm9tICcuL3NlY29uZGFyeS9zZWNvbmRhcnltb2R1bGUnO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgTXlNb2R1bGUge1xufSJdfQ==","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport { MyModule } from './mymodule';\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iYXplbC90ZXN0L25nX3BhY2thZ2UvZXhhbXBsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQVFBLHlCQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9teW1vZHVsZSc7Il19"],"names":[],"mappings":";;AAAA;;;;;;;;;;;AAWA,AACO,MAAM,QAAQ,CAAC;CACrB;AACD,QAAQ,CAAC,UAAU,GAAG;IAClB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;CAClC,CAAC;;AAEF,QAAQ,CAAC,cAAc,GAAG,MAAM,EAAE,CAAC;;AClBnC;;;;;;;;;;GAUG;;;;"}
|
||||||
|
|
||||||
|
--- fesm2015/secondary.js ---
|
||||||
|
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @fileoverview added by tsickle
|
||||||
|
* @suppress {checkTypes} checked by tsc
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @license
|
||||||
|
* Copyright Google Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by an MIT-style license that can be
|
||||||
|
* found in the LICENSE file at https://angular.io/license
|
||||||
|
*/
|
||||||
|
class SecondaryModule {
|
||||||
|
}
|
||||||
|
SecondaryModule.decorators = [
|
||||||
|
{ type: NgModule, args: [{},] }
|
||||||
|
];
|
||||||
|
/** @nocollapse */
|
||||||
|
SecondaryModule.ctorParameters = () => [];
|
||||||
|
const a = 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @fileoverview added by tsickle
|
||||||
|
* @suppress {checkTypes} checked by tsc
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @license
|
||||||
|
* Copyright Google Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by an MIT-style license that can be
|
||||||
|
* found in the LICENSE file at https://angular.io/license
|
||||||
|
*/
|
||||||
|
|
||||||
|
export { SecondaryModule, a };
|
||||||
|
//# sourceMappingURL=secondary.js.map
|
||||||
|
|
||||||
|
|
||||||
|
--- fesm2015/secondary.js.map ---
|
||||||
|
|
||||||
|
{"version":3,"file":"secondary.js","sources":["../../../../../../../../../../../../../execroot/angular/bazel-bin/packages/bazel/test/ng_package/example/npm_package.es6/packages/bazel/test/ng_package/example/secondary/index.js"],"sourcesContent":["/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { NgModule } from '@angular/core';\nexport class SecondaryModule {\n}\nSecondaryModule.decorators = [\n { type: NgModule, args: [{},] }\n];\n/** @nocollapse */\nSecondaryModule.ctorParameters = () => [];\nfunction SecondaryModule_tsickle_Closure_declarations() {\n /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */\n SecondaryModule.decorators;\n /**\n * @nocollapse\n * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}\n */\n SecondaryModule.ctorParameters;\n}\nexport const /** @type {?} */ a = 1;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vjb25kYXJ5bW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYmF6ZWwvdGVzdC9uZ19wYWNrYWdlL2V4YW1wbGUvc2Vjb25kYXJ5L3NlY29uZGFyeW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQVFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHdkMsTUFBTTs7O1lBREwsUUFBUSxTQUFDLEVBQUU7Ozs7Ozs7Ozs7Ozs7QUFJWixNQUFNLENBQUMsdUJBQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBOZ01vZHVsZSh7fSlcbmV4cG9ydCBjbGFzcyBTZWNvbmRhcnlNb2R1bGUge1xufVxuXG5leHBvcnQgY29uc3QgYSA9IDE7XG4iXX0=","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport { SecondaryModule, a } from './secondarymodule';\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iYXplbC90ZXN0L25nX3BhY2thZ2UvZXhhbXBsZS9zZWNvbmRhcnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFRQSxtQ0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9zZWNvbmRhcnltb2R1bGUnO1xuIl19"],"names":[],"mappings":";;AAAA;;;;;;;;;;;AAWA,AACO,MAAM,eAAe,CAAC;CAC5B;AACD,eAAe,CAAC,UAAU,GAAG;IACzB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;CAClC,CAAC;;AAEF,eAAe,CAAC,cAAc,GAAG,MAAM,EAAE,CAAC;AAC1C,AASO,MAAuB,CAAC,GAAG,CAAC;;AC5BnC;;;;;;;;;;GAUG;;;;"}
|
||||||
|
|
||||||
|
--- fesm5/example.js ---
|
||||||
|
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license
|
||||||
|
* Copyright Google Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by an MIT-style license that can be
|
||||||
|
* found in the LICENSE file at https://angular.io/license
|
||||||
|
*/
|
||||||
|
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
||||||
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||||
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||||
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||||
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||||
|
};
|
||||||
|
var MyModule = /** @class */ (function () {
|
||||||
|
function MyModule() {
|
||||||
|
}
|
||||||
|
MyModule = __decorate([
|
||||||
|
NgModule({})
|
||||||
|
], MyModule);
|
||||||
|
return MyModule;
|
||||||
|
}());
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license
|
||||||
|
* Copyright Google Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by an MIT-style license that can be
|
||||||
|
* found in the LICENSE file at https://angular.io/license
|
||||||
|
*/
|
||||||
|
|
||||||
|
export { MyModule };
|
||||||
|
//# sourceMappingURL=example.js.map
|
||||||
|
|
||||||
|
|
||||||
|
--- fesm5/example.js.map ---
|
||||||
|
|
||||||
|
{"version":3,"file":"example.js","sources":["../../../../../../../../../../../../../execroot/angular/bazel-bin/packages/bazel/test/ng_package/example/example.esm5/packages/bazel/test/ng_package/example/index.js"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { NgModule } from '@angular/core';\nvar MyModule = /** @class */ (function () {\n function MyModule() {\n }\n MyModule = __decorate([\n NgModule({})\n ], MyModule);\n return MyModule;\n}());\nexport { MyModule };\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXltb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iYXplbC90ZXN0L25nX3BhY2thZ2UvZXhhbXBsZS9teW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSXZDO0lBQUE7SUFDQSxDQUFDO0lBRFksUUFBUTtRQURwQixRQUFRLENBQUMsRUFBRSxDQUFDO09BQ0EsUUFBUSxDQUNwQjtJQUFELGVBQUM7Q0FBQSxBQURELElBQ0M7U0FEWSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7YX0gZnJvbSAnLi9zZWNvbmRhcnkvc2Vjb25kYXJ5bW9kdWxlJztcblxuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIE15TW9kdWxlIHtcbn0iXX0=","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport * from './mymodule';\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iYXplbC90ZXN0L25nX3BhY2thZ2UvZXhhbXBsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9teW1vZHVsZSc7Il19"],"names":["this"],"mappings":";;AAAA;;;;;;;AAOA,IAAI,UAAU,GAAG,CAACA,SAAI,IAAIA,SAAI,CAAC,UAAU,KAAK,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IACnF,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;SAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;CACjE,CAAC;AACF,AACA,IAAI,QAAQ,kBAAkB,YAAY;IACtC,SAAS,QAAQ,GAAG;KACnB;IACD,QAAQ,GAAG,UAAU,CAAC;QAClB,QAAQ,CAAC,EAAE,CAAC;KACf,EAAE,QAAQ,CAAC,CAAC;IACb,OAAO,QAAQ,CAAC;CACnB,EAAE,CAAC;;ACrBJ;;;;;;GAMG;;;;"}
|
||||||
|
|
||||||
|
--- fesm5/secondary.js ---
|
||||||
|
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license
|
||||||
|
* Copyright Google Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by an MIT-style license that can be
|
||||||
|
* found in the LICENSE file at https://angular.io/license
|
||||||
|
*/
|
||||||
|
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
||||||
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
||||||
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
||||||
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||||||
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||||||
|
};
|
||||||
|
var SecondaryModule = /** @class */ (function () {
|
||||||
|
function SecondaryModule() {
|
||||||
|
}
|
||||||
|
SecondaryModule = __decorate([
|
||||||
|
NgModule({})
|
||||||
|
], SecondaryModule);
|
||||||
|
return SecondaryModule;
|
||||||
|
}());
|
||||||
|
var a = 1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license
|
||||||
|
* Copyright Google Inc. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Use of this source code is governed by an MIT-style license that can be
|
||||||
|
* found in the LICENSE file at https://angular.io/license
|
||||||
|
*/
|
||||||
|
|
||||||
|
export { SecondaryModule, a };
|
||||||
|
//# sourceMappingURL=secondary.js.map
|
||||||
|
|
||||||
|
|
||||||
|
--- fesm5/secondary.js.map ---
|
||||||
|
|
||||||
|
{"version":3,"file":"secondary.js","sources":["../../../../../../../../../../../../execroot/angular/bazel-bin/packages/bazel/test/ng_package/example/secondary/secondary.esm5/packages/bazel/test/ng_package/example/secondary/index.js"],"sourcesContent":["/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { NgModule } from '@angular/core';\nvar SecondaryModule = /** @class */ (function () {\n function SecondaryModule() {\n }\n SecondaryModule = __decorate([\n NgModule({})\n ], SecondaryModule);\n return SecondaryModule;\n}());\nexport { SecondaryModule };\nexport var a = 1;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vjb25kYXJ5bW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYmF6ZWwvdGVzdC9uZ19wYWNrYWdlL2V4YW1wbGUvc2Vjb25kYXJ5L3NlY29uZGFyeW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3ZDO0lBQUE7SUFDQSxDQUFDO0lBRFksZUFBZTtRQUQzQixRQUFRLENBQUMsRUFBRSxDQUFDO09BQ0EsZUFBZSxDQUMzQjtJQUFELHNCQUFDO0NBQUEsQUFERCxJQUNDO1NBRFksZUFBZTtBQUc1QixNQUFNLENBQUMsSUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIFNlY29uZGFyeU1vZHVsZSB7XG59XG5cbmV4cG9ydCBjb25zdCBhID0gMTtcbiJdfQ==","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport * from './secondarymodule';\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iYXplbC90ZXN0L25nX3BhY2thZ2UvZXhhbXBsZS9zZWNvbmRhcnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9zZWNvbmRhcnltb2R1bGUnO1xuIl19"],"names":["this"],"mappings":";;AAAA;;;;;;;AAOA,IAAI,UAAU,GAAG,CAACA,SAAI,IAAIA,SAAI,CAAC,UAAU,KAAK,UAAU,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IACnF,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;SAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;CACjE,CAAC;AACF,AACA,IAAI,eAAe,kBAAkB,YAAY;IAC7C,SAAS,eAAe,GAAG;KAC1B;IACD,eAAe,GAAG,UAAU,CAAC;QACzB,QAAQ,CAAC,EAAE,CAAC;KACf,EAAE,eAAe,CAAC,CAAC;IACpB,OAAO,eAAe,CAAC;CAC1B,EAAE,CAAC,CAAC;AACL,AACO,IAAI,CAAC,GAAG,CAAC;;ACvBhB;;;;;;GAMG;;;;"}
|
||||||
|
|
||||||
--- index.d.ts ---
|
--- index.d.ts ---
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -674,11 +856,13 @@ export declare class MyModule {
|
||||||
{
|
{
|
||||||
"name": "example",
|
"name": "example",
|
||||||
"main": "./bundles/example.umd.js",
|
"main": "./bundles/example.umd.js",
|
||||||
|
"fesm5": "./fesm5/example.js",
|
||||||
|
"fesm2015": "./fesm2015/example.js",
|
||||||
"esm5": "./esm5/example_public_index.js",
|
"esm5": "./esm5/example_public_index.js",
|
||||||
"module": "./esm5/example_public_index.js",
|
|
||||||
"esm2015": "./esm2015/example_public_index.js",
|
"esm2015": "./esm2015/example_public_index.js",
|
||||||
"es2015": "./esm2015/example_public_index.js",
|
"typings": "./example_public_index.d.ts",
|
||||||
"typings": "./example_public_index.d.ts"
|
"module": "./fesm5/example.js",
|
||||||
|
"es2015": "./fesm2015/example.js"
|
||||||
}
|
}
|
||||||
|
|
||||||
--- secondary/index.d.ts ---
|
--- secondary/index.d.ts ---
|
||||||
|
@ -698,11 +882,13 @@ export * from './secondarymodule';
|
||||||
{
|
{
|
||||||
"name": "example/secondary",
|
"name": "example/secondary",
|
||||||
"main": "../bundles/example-secondary.umd.js",
|
"main": "../bundles/example-secondary.umd.js",
|
||||||
|
"fesm5": "../fesm5/secondary.js",
|
||||||
|
"fesm2015": "../fesm2015/secondary.js",
|
||||||
"esm5": "../esm5/secondary/secondary_public_index.js",
|
"esm5": "../esm5/secondary/secondary_public_index.js",
|
||||||
"module": "../esm5/secondary/secondary_public_index.js",
|
|
||||||
"esm2015": "../esm2015/secondary/secondary_public_index.js",
|
"esm2015": "../esm2015/secondary/secondary_public_index.js",
|
||||||
"es2015": "../esm2015/secondary/secondary_public_index.js",
|
"typings": "./secondary_public_index.d.ts",
|
||||||
"typings": "./secondary_public_index.d.ts"
|
"module": "../fesm5/secondary.js",
|
||||||
|
"es2015": "../fesm2015/secondary.js"
|
||||||
}
|
}
|
||||||
|
|
||||||
--- secondary/secondary_public_index.d.ts ---
|
--- secondary/secondary_public_index.d.ts ---
|
||||||
|
|
Loading…
Reference in New Issue