echo-members-names-loader

    1.0.1 • Public • Published


    Webpack loader that echoes Members Names

    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.

    Install

    npm i echo-members-names-loader

    DownloadsWeekly Downloads

    9

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    11.7 kB

    Total Files

    6

    Last publish

    Collaborators

    • gmullerb