Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build process update #160

Merged
merged 6 commits into from
Feb 11, 2022
Merged

Build process update #160

merged 6 commits into from
Feb 11, 2022

Conversation

ellthompson
Copy link
Contributor

@ellthompson ellthompson commented Feb 9, 2022

Reconfigured the PCUI build process to extend it's support of modules. The build step now generates module index files in the dist folder which export all of the individual components. It includes export statements like the ones below:

export { default as TreeViewItem } from './TreeViewItem/index.mjs';
export { default as LabelGroup } from './LabelGroup/index.mjs';
export { default as GridView } from './GridView/index.mjs';
export { default as GridViewItem } from './GridViewItem/index.mjs';
export { default as ArrayInput } from './ArrayInput/index.mjs';
export { default as MenuItem } from './MenuItem/index.mjs';
export { default as Menu } from './Menu/index.mjs';
export { default as BindingBase } from './BindingBase/index.mjs';
export { default as BindingElementToObservers } from './BindingElementToObservers/index.mjs';
export { default as BindingObserversToElement } from './BindingObserversToElement/index.mjs';
export { default as BindingTwoWay } from './BindingTwoWay/index.mjs';

This means the full directory structure of the project is maintained in the dist folder (offering full ESM support in node and the browser) while still enabling the importing of individual components from the main module directory of the library.

The UMD version of PCUI is still available under dist/index.js. The react components are accessible from the moduledist/react/index.mjs, while all es6 element classes and binding classes are also available under the module dist/index.mjs.

The docs and readme have been updated to support this new build.

The package.json has been updated with main and module paths and a files list which defines what should be included in the npm bundle. I've removed the npm run pcui:publish script as we can now publish the library directly using the npm publish command.

@ellthompson ellthompson requested a review from a team February 9, 2022 15:26
@ellthompson ellthompson self-assigned this Feb 9, 2022
README.md Outdated Show resolved Hide resolved
Copy link
Contributor

@willeastcott willeastcott left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great step forward, @ellthompson! Awesome.

Co-authored-by: Will Eastcott <[email protected]>
@ellthompson ellthompson linked an issue Feb 9, 2022 that may be closed by this pull request
@@ -9,7 +9,7 @@

> .pcui-numeric-input {
flex: 1;
margin: $element-margin $element-margin / 2;
margin: $element-margin calc($element-margin / 2);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, yay, you fixed those warnings in the build process. Nice job. 👍

@ellthompson ellthompson merged commit 1114794 into main Feb 11, 2022
@ellthompson ellthompson deleted the pcui-build-update branch February 11, 2022 16:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

package.json does not correctly specify entry points for package
2 participants