Skip to content

Conversation

trygve-lie
Copy link
Contributor

No description provided.

@trygve-lie trygve-lie merged commit 1438ee6 into next Apr 27, 2021
@trygve-lie trygve-lie deleted the fix-require-export branch April 27, 2021 19:59
github-actions bot pushed a commit that referenced this pull request Apr 27, 2021
# [5.0.0-next.5](v5.0.0-next.4...v5.0.0-next.5) (2021-04-27)

### Bug Fixes

* Point require export to main.js ([#122](#122)) ([1438ee6](1438ee6))
@github-actions
Copy link

🎉 This PR is included in version 5.0.0-next.5 🎉

The release is available on:

Your semantic-release bot 📦🚀

github-actions bot pushed a commit that referenced this pull request Nov 28, 2023
# [5.0.0](v4.5.1...v5.0.0) (2023-11-28)

### Bug Fixes

* Improve ESM exports to account for dual module exports ([#123](#123)) ([42ebb4f](42ebb4f))
* Point require export to main.js ([#122](#122)) ([1438ee6](1438ee6))
* Remove original url module ([#185](#185)) ([6c01c0f](6c01c0f))
* Simplify js and css value validation ([#70](#70)) ([05a1ffc](05a1ffc))

### Features

* Convert to ESM ([#119](#119)) ([349c5b9](349c5b9))
* Drop node 10.x support ([#67](#67)) ([84203f8](84203f8))
* Remove CJS build step ([#170](#170)) ([15390ed](15390ed))
* Use ES private properties instead of Symbols for privacy ([#72](#72)) ([4083fa1](4083fa1))

### BREAKING CHANGES

* Convert from CommonJS to ESM

* feat: convert to ESM

* fix: Remove outcommented code

* ci: Add build step for backward compat to CJS

* ci: Ignore linting dist directory

Co-authored-by: Trygve Lie <trygve.lie@finn.no>
* Due to dropping node 10.x support we use ES private properties instead of Symbols.

We've been using Symbols to define private properties in classes up until now. This has the downside that they are not true private and in later versions of node.js one would see these Symbols when inspecting an object. What we want is proper private properties.

This PR does also add a pretty printer which outputs an object literal or the object so when debugging one can see the getters and setters of the object.

Example: printing a object with `console.log()` would previously print the following:

```sh
PodiumHttpIncoming {
  [Symbol(podium:httpincoming:development)]: false,
  [Symbol(podium:httpincoming:response)]: {},
  [Symbol(podium:httpincoming:request)]: {},
  [Symbol(podium:httpincoming:context)]: {},
  [Symbol(podium:httpincoming:params)]: {},
  [Symbol(podium:httpincoming:proxy)]: false,
  [Symbol(podium:httpincoming:name)]: '',
  [Symbol(podium:httpincoming:view)]: {},
  [Symbol(podium:httpincoming:url)]: {},
  [Symbol(podium:httpincoming:css)]: [],
  [Symbol(podium:httpincoming:js)]: []
}
```

Now the following will be printed:

```sh
{
  development: false,
  response: {},
  request: {},
  context: {},
  params: {},
  proxy: false,
  name: '',
  view: {},
  url: {},
  css: [],
  js: []
}
```

Co-authored-by: Trygve Lie <trygve.lie@finn.no>
* Only support node 12 and 14.

Co-authored-by: Trygve Lie <trygve.lie@finn.no>
Copy link

🎉 This PR is included in version 5.0.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant