1.0.1 • Published 2 years ago

echo-members-names-loader v1.0.1

Weekly downloads
4
License
MIT
Repository
github
Last release
2 years ago

echo-members-names-loader echo-members-names-loader    License Github repo Gitlab repo


Quick Start

1 . Add dependencies:

package.json:

  "devDependencies": {
    "webpack": "^4.0.0",
    "echo-members-names-loader": "1.0.1",

2 . Configure loader:

webpack.config.test.js:

{
  use: {
    test: /\.css$/,
    use: {
      loader: 'echo-members-names-loader'
    }
  },

Requires "node": ">= 6.0.0".


Goals

echo-members-names-loader is a Webpack loader that transform any module to an object that echoes the name of any member that is accessed.

E.g.:

"Mocking" CSS Modules for test:

Having:

  import styles from './Some.css'
  ..
    <div className={styles.container}/>

In production/development environment, using css-loader loader, it will be transform to some random string:

styles.container => 'AD5dsSwwe_433SA452aswg'

but for tests, using echo-members-names-loader loader, it will be transform into accessed member's name:

styles.container => 'container'

In other words:

module.memberName => 'memberName'

An example of use can be looked at basecode-cordova-react-ts.

Influence

echo-members-names-loader use Proxy and is inspired in identity-obj-proxy 1, but implemented as a loader for webpack eliminating some checking done by the latter, that "prevent it" to run it in Non-Node environments (it accesses process.versions.node which is not available in Non-Node environments).

An alternative.

1 Which can be use in Jest, but if you prefer Jasmine, Mocha, etc. is not a solution. (Being jest a "clone" of Jasmine, there is nothing that jest does that can not done by Good "Old Fashioned" Jasmine, in fact Jasmine can do ever more - in matters of testing, not configuration).


Evolution

CHANGELOG: contains the information about changes in each version, chronologically ordered (Keep a Changelog).

Extending/Developing

Developing

Contributing

License

MIT License


Remember

  • Use code style verification tools => Encourages Best Practices, Efficiency, Readability and Learnability.
  • Code Review everything => Encourages Functional suitability, Performance Efficiency and Teamwork.
  • If viable, Start testing early => Encourages Reliability and Maintainability.

Additional words

Don't forget:

  • Love what you do.
  • Learn everyday.
  • Learn yourself.
  • Share your knowledge.
  • Think different!.
  • Learn from the past, dream on the future, live and enjoy the present to the max!.
  • Enjoy and Value the Quest (It's where you learn and grow).

At life:

  • Let's act, not complain.
  • Be flexible.

At work:

  • Let's give solutions, not questions.
  • Aim to simplicity not intellectualism.