mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
Instead of relying on Microsoft's API extractor for `d.ts` bundling, we are switching to Rollup-based `.d.ts` bundling. This allows us to support code spliting, even for `.d.ts` files, allowing for relative imports to be used between entry-points, without ending up duplicating `.d.ts` definitions in two files. This would otherwise cause problems with assignability of types. It also nicely integrates into our existing rollup configuration, and overall simplifies the `ng_package` rule even further! Notably `tsup` also uses this rollup plugin, and it seems to work well. Keep in mind that Microsoft's API extractor is pretty hard to integrate, caused many problems in the past, and isn't capable of code splitting. This aligns our d.ts bundling with the .mjs bundling (great alignment). PR Close #60321
368 lines
10 KiB
Text
368 lines
10 KiB
Text
LICENSE
|
|
README.md
|
|
_index.scss
|
|
a11y
|
|
a11y/index.d.ts
|
|
arbitrary-npm-package-main.js
|
|
arbitrary_bin.txt
|
|
arbitrary_genfiles.txt
|
|
extra-styles.css
|
|
fesm2022
|
|
fesm2022/a11y.mjs
|
|
fesm2022/a11y.mjs.map
|
|
fesm2022/example.mjs
|
|
fesm2022/example.mjs.map
|
|
fesm2022/imports.mjs
|
|
fesm2022/imports.mjs.map
|
|
fesm2022/index-D4QyjRX7.mjs
|
|
fesm2022/index-D4QyjRX7.mjs.map
|
|
fesm2022/secondary.mjs
|
|
fesm2022/secondary.mjs.map
|
|
imports
|
|
imports/index.d.ts
|
|
index.d-peWegT6k.d.ts
|
|
index.d.ts
|
|
logo.png
|
|
package.json
|
|
secondary
|
|
secondary/index.d.ts
|
|
some-file.txt
|
|
--- LICENSE ---
|
|
|
|
The MIT License
|
|
|
|
Copyright (c) 2010-2025 Google LLC. https://angular.dev/license
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
THE SOFTWARE.
|
|
|
|
|
|
--- README.md ---
|
|
|
|
Angular
|
|
=======
|
|
|
|
The sources for this package are in the main [Angular](https://github.com/angular/angular) repo. Please file issues and pull requests against that repo.
|
|
|
|
Usage information and reference details can be found in [Angular documentation](https://angular.dev/overview).
|
|
|
|
License: MIT
|
|
|
|
|
|
--- _index.scss ---
|
|
|
|
/// test file which should ship as part of the NPM package.
|
|
|
|
|
|
--- a11y/index.d.ts ---
|
|
|
|
/**
|
|
* @license Angular v0.0.0
|
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
* License: MIT
|
|
*/
|
|
|
|
import * as i0 from '@angular/core';
|
|
|
|
declare class A11yModule {
|
|
static ɵfac: i0.ɵɵFactoryDeclaration<A11yModule, never>;
|
|
static ɵmod: i0.ɵɵNgModuleDeclaration<A11yModule, never, never, never>;
|
|
static ɵinj: i0.ɵɵInjectorDeclaration<A11yModule>;
|
|
}
|
|
|
|
export { A11yModule };
|
|
|
|
|
|
--- arbitrary-npm-package-main.js ---
|
|
|
|
/**
|
|
* @license
|
|
* Copyright Google LLC 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.dev/license
|
|
*/
|
|
|
|
const x = 1;
|
|
|
|
|
|
--- arbitrary_bin.txt ---
|
|
|
|
World
|
|
|
|
|
|
--- arbitrary_genfiles.txt ---
|
|
|
|
Hello
|
|
|
|
|
|
--- extra-styles.css ---
|
|
|
|
.special {
|
|
color: goldenrod;
|
|
}
|
|
|
|
|
|
--- fesm2022/a11y.mjs ---
|
|
|
|
/**
|
|
* @license Angular v0.0.0
|
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
* License: MIT
|
|
*/
|
|
|
|
import * as i0 from '@angular/core';
|
|
import { NgModule } from '@angular/core';
|
|
|
|
class A11yModule {
|
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "0.0.0", ngImport: i0, type: A11yModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "0.0.0", ngImport: i0, type: A11yModule });
|
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "0.0.0", ngImport: i0, type: A11yModule });
|
|
}
|
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "0.0.0", ngImport: i0, type: A11yModule, decorators: [{
|
|
type: NgModule,
|
|
args: [{}]
|
|
}] });
|
|
|
|
export { A11yModule };
|
|
//# sourceMappingURL=a11y.mjs.map
|
|
|
|
|
|
--- fesm2022/example.mjs ---
|
|
|
|
/**
|
|
* @license Angular v0.0.0
|
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
* License: MIT
|
|
*/
|
|
|
|
import * as i0 from '@angular/core';
|
|
import { NgModule } from '@angular/core';
|
|
|
|
class MyModule {
|
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "0.0.0", ngImport: i0, type: MyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "0.0.0", ngImport: i0, type: MyModule });
|
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "0.0.0", ngImport: i0, type: MyModule });
|
|
}
|
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "0.0.0", ngImport: i0, type: MyModule, decorators: [{
|
|
type: NgModule,
|
|
args: [{}]
|
|
}] });
|
|
|
|
export { MyModule };
|
|
//# sourceMappingURL=example.mjs.map
|
|
|
|
|
|
--- fesm2022/imports.mjs ---
|
|
|
|
/**
|
|
* @license Angular v0.0.0
|
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
* License: MIT
|
|
*/
|
|
|
|
export { s as sharedBetweenEntryPoints } from './index-D4QyjRX7.mjs';
|
|
import * as i0 from '@angular/core';
|
|
import { Injectable } from '@angular/core';
|
|
|
|
class MySecondService {
|
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "0.0.0", ngImport: i0, type: MySecondService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "0.0.0", ngImport: i0, type: MySecondService, providedIn: 'root' });
|
|
}
|
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "0.0.0", ngImport: i0, type: MySecondService, decorators: [{
|
|
type: Injectable,
|
|
args: [{ providedIn: 'root' }]
|
|
}] });
|
|
|
|
class MyService {
|
|
secondService;
|
|
constructor(secondService) {
|
|
this.secondService = secondService;
|
|
}
|
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "0.0.0", ngImport: i0, type: MyService, deps: [{ token: MySecondService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "0.0.0", ngImport: i0, type: MyService, providedIn: 'root' });
|
|
}
|
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "0.0.0", ngImport: i0, type: MyService, decorators: [{
|
|
type: Injectable,
|
|
args: [{ providedIn: 'root' }]
|
|
}], ctorParameters: () => [{ type: MySecondService }] });
|
|
|
|
export { MyService };
|
|
//# sourceMappingURL=imports.mjs.map
|
|
|
|
|
|
--- fesm2022/index-D4QyjRX7.mjs ---
|
|
|
|
/**
|
|
* @license Angular v0.0.0
|
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
* License: MIT
|
|
*/
|
|
|
|
const sharedBetweenEntryPoints = 'This export is shared between entry-points';
|
|
|
|
export { sharedBetweenEntryPoints as s };
|
|
//# sourceMappingURL=index-D4QyjRX7.mjs.map
|
|
|
|
|
|
--- fesm2022/secondary.mjs ---
|
|
|
|
/**
|
|
* @license Angular v0.0.0
|
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
* License: MIT
|
|
*/
|
|
|
|
export { s as sharedBetweenEntryPoints } from './index-D4QyjRX7.mjs';
|
|
import * as i0 from '@angular/core';
|
|
import { NgModule } from '@angular/core';
|
|
|
|
class SecondaryModule {
|
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "0.0.0", ngImport: i0, type: SecondaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "0.0.0", ngImport: i0, type: SecondaryModule });
|
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "0.0.0", ngImport: i0, type: SecondaryModule });
|
|
}
|
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "0.0.0", ngImport: i0, type: SecondaryModule, decorators: [{
|
|
type: NgModule,
|
|
args: [{}]
|
|
}] });
|
|
const a = 1;
|
|
|
|
export { SecondaryModule, a };
|
|
//# sourceMappingURL=secondary.mjs.map
|
|
|
|
|
|
--- imports/index.d.ts ---
|
|
|
|
/**
|
|
* @license Angular v0.0.0
|
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
* License: MIT
|
|
*/
|
|
|
|
import * as i0 from '@angular/core';
|
|
export { s as sharedBetweenEntryPoints } from '../index.d-peWegT6k.js';
|
|
|
|
declare class MySecondService {
|
|
static ɵfac: i0.ɵɵFactoryDeclaration<MySecondService, never>;
|
|
static ɵprov: i0.ɵɵInjectableDeclaration<MySecondService>;
|
|
}
|
|
|
|
declare class MyService {
|
|
secondService: MySecondService;
|
|
constructor(secondService: MySecondService);
|
|
static ɵfac: i0.ɵɵFactoryDeclaration<MyService, never>;
|
|
static ɵprov: i0.ɵɵInjectableDeclaration<MyService>;
|
|
}
|
|
|
|
export { MyService };
|
|
|
|
|
|
--- index.d-peWegT6k.d.ts ---
|
|
|
|
/**
|
|
* @license Angular v0.0.0
|
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
* License: MIT
|
|
*/
|
|
|
|
declare const sharedBetweenEntryPoints = "This export is shared between entry-points";
|
|
|
|
export { sharedBetweenEntryPoints as s };
|
|
|
|
|
|
--- index.d.ts ---
|
|
|
|
/**
|
|
* @license Angular v0.0.0
|
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
* License: MIT
|
|
*/
|
|
|
|
import * as i0 from '@angular/core';
|
|
|
|
declare class MyModule {
|
|
static ɵfac: i0.ɵɵFactoryDeclaration<MyModule, never>;
|
|
static ɵmod: i0.ɵɵNgModuleDeclaration<MyModule, never, never, never>;
|
|
static ɵinj: i0.ɵɵInjectorDeclaration<MyModule>;
|
|
}
|
|
|
|
export { MyModule };
|
|
|
|
|
|
--- logo.png ---
|
|
|
|
611871c1f492a69a8a5f57e01096b145
|
|
|
|
--- package.json ---
|
|
|
|
{
|
|
"name": "example",
|
|
"version": "0.0.0",
|
|
"exports": {
|
|
".": {
|
|
"sass": "./_index.scss",
|
|
"types": "./index.d.ts",
|
|
"default": "./fesm2022/example.mjs"
|
|
},
|
|
"./package.json": {
|
|
"default": "./package.json"
|
|
},
|
|
"./a11y": {
|
|
"types": "./a11y/index.d.ts",
|
|
"default": "./fesm2022/a11y.mjs"
|
|
},
|
|
"./imports": {
|
|
"types": "./imports/index.d.ts",
|
|
"default": "./fesm2022/imports.mjs"
|
|
},
|
|
"./secondary": {
|
|
"types": "./secondary/index.d.ts",
|
|
"default": "./fesm2022/secondary.mjs"
|
|
}
|
|
},
|
|
"module": "./fesm2022/example.mjs",
|
|
"typings": "./index.d.ts",
|
|
"type": "module"
|
|
}
|
|
|
|
--- secondary/index.d.ts ---
|
|
|
|
/**
|
|
* @license Angular v0.0.0
|
|
* (c) 2010-2025 Google LLC. https://angular.io/
|
|
* License: MIT
|
|
*/
|
|
|
|
export { s as sharedBetweenEntryPoints } from '../index.d-peWegT6k.js';
|
|
import * as i0 from '@angular/core';
|
|
|
|
declare class SecondaryModule {
|
|
static ɵfac: i0.ɵɵFactoryDeclaration<SecondaryModule, never>;
|
|
static ɵmod: i0.ɵɵNgModuleDeclaration<SecondaryModule, never, never, never>;
|
|
static ɵinj: i0.ɵɵInjectorDeclaration<SecondaryModule>;
|
|
}
|
|
declare const a = 1;
|
|
|
|
export { SecondaryModule, a };
|
|
|
|
|
|
--- some-file.txt ---
|
|
|
|
This file is just copied into the package.
|
|
|