Skip to content

Commit 0dbc152

Browse files
committed
Use the PickerDropdown as the point of entry for d.ts
Use the PickerDropdown as the point of entry for d.ts, add barrel files for exports, and
1 parent 8b5fa27 commit 0dbc152

8 files changed

+46
-36
lines changed
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from '../src/providers/oneNoteApiDataProvider';

exports/oneNoteItemUtils.Index.ts

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export * from '../src/oneNoteDataStructures/oneNoteItemUtils';
2+
export * from '../src/oneNoteDataStructures/oneNoteApiResponseTransformer';

exports/oneNotePicker.Index.ts

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export * from '../src/oneNoteDataStructures/notebookListUpdater';
2+
export * from '../src/oneNotePickerDropdown';

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "onenotepicker",
3-
"version": "2.4.5",
3+
"version": "2.4.6",
44
"files": [
55
"dist/**/*"
66
],

src/oneNoteDataStructures/oneNoteItemUtils.ts

-1
Original file line numberDiff line numberDiff line change
@@ -100,4 +100,3 @@ export class OneNoteItemUtils {
100100
}
101101
}
102102

103-
export * from './oneNoteApiResponseTransformer';

src/oneNotePicker.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,4 @@ export class OneNotePicker extends OneNotePickerBase<OneNotePickerProps, {}> {
6363
}
6464
}
6565

66-
export * from './oneNoteSingleNotebookPicker';
67-
export * from './oneNotePickerDropdown';
68-
export * from './oneNoteDataStructures/notebookListUpdater';
66+

src/oneNotePickerDropdown.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -117,3 +117,4 @@ export class OneNoteSingleNotebookDropdown extends GenericOneNotePickerDropdown<
117117
return <OneNoteSingleNotebookPicker {...args} />;
118118
}
119119
}
120+

webpack.config.js

+38-31
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,44 @@ const extractSass = new ExtractTextPlugin({
2121
allChunks: true
2222
});
2323

24+
const ENTRYPOINTS = {
25+
OneNotePicker: `exports/oneNotePicker.Index`,
26+
OneNoteApiDataProvider: `exports/oneNoteApiDataProvider.Index`,
27+
OneNoteItemUtils: `exports/oneNoteItemUtils.Index`,
28+
}
29+
30+
function generateWebpackEntries() {
31+
const entries = {};
32+
33+
for(const key of Object.keys(ENTRYPOINTS)) {
34+
entries[key] = `${path.resolve(__dirname)}/${ENTRYPOINTS[key]}`;
35+
}
36+
37+
return entries;
38+
}
39+
40+
function generateDtsBundlePlugins() {
41+
const entries = [];
42+
43+
for(const key of Object.keys(ENTRYPOINTS)) {
44+
const plugin = new DtsBundlePlugin({
45+
name: key,
46+
main: `${path.resolve(__dirname)}/dist/types/${ENTRYPOINTS[key]}.d.ts`,
47+
out: `${path.resolve(__dirname)}/dist/${key}.d.ts`,
48+
removeSource: false,
49+
outputAsModuleFolder: true,
50+
emitOnIncludedFileNotFound: true,
51+
headerText: `TypeScript Definition for ${key}`
52+
});
53+
54+
entries.push(plugin)
55+
}
56+
57+
return entries;
58+
}
59+
2460
const base = {
25-
entry: {
26-
sample: './sampleApp/sample',
27-
OneNotePicker: './src/oneNotePicker',
28-
OneNoteApiDataProvider: './src/providers/oneNoteApiDataProvider',
29-
OneNoteItemUtils: './src/oneNoteDataStructures/oneNoteItemUtils'
30-
},
61+
entry: generateWebpackEntries(),
3162
output: {
3263
path: OUT_DIR,
3364
publicPath: '/dist/',
@@ -136,31 +167,7 @@ const prod = {
136167
'NODE_ENV': JSON.stringify('production')
137168
}
138169
}),
139-
new DtsBundlePlugin({
140-
name: 'OneNotePicker',
141-
main: `${path.resolve(__dirname)}/dist/types/src/OneNotePicker.d.ts`,
142-
out: `${path.resolve(__dirname)}/dist/OneNotePicker.d.ts`,
143-
removeSource: false,
144-
outputAsModuleFolder: true,
145-
headerText: "TypeScript Definition for OneNotePicker"
146-
}),
147-
new DtsBundlePlugin({
148-
name: 'OneNotePickerApiDataProvider',
149-
main: `${path.resolve(__dirname)}/dist/types/src/providers/OneNoteApiDataProvider.d.ts`,
150-
out: `${path.resolve(__dirname)}/dist/OneNoteApiDataProvider.d.ts`,
151-
removeSource: false,
152-
outputAsModuleFolder: true,
153-
headerText: "TypeScript Definition for OneNoteApiDataProvider"
154-
}),
155-
new DtsBundlePlugin({
156-
name: 'OneNoteItemUtils',
157-
main: `${path.resolve(__dirname)}/dist/types/src/oneNoteDataStructures/OneNoteItemUtils.d.ts`,
158-
out: `${path.resolve(__dirname)}/dist/OneNoteItemUtils.d.ts`,
159-
removeSource: false,
160-
outputAsModuleFolder: true,
161-
emitOnIncludedFileNotFound: true,
162-
headerText: "TypeScript Definition for OneNoteItemUtils"
163-
})
170+
...generateDtsBundlePlugins()
164171
],
165172
externals: {
166173
'react': { root: 'React', amd: 'react', commonjs2: 'react', commonjs: 'react' },

0 commit comments

Comments
 (0)