Skip to content
This repository has been archived by the owner on Aug 22, 2024. It is now read-only.

⛔️ [DEPRECATED] [TEMPLATE] CJS/ESM dual library lens for Projector, a project management tool. This template is also a live example of a semantic-release + GitHub Actions CI/CD pipeline. Packages published by this repository are for example purposes only!

License

Notifications You must be signed in to change notification settings

Xunnamius/projector-lens-lib-cjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Black Lives Matter! !!UNMAINTAINED!!

⛔️ DEPRECATED/UNMAINTAINED

Caution

This project has been superseded (and all of its useful bits subsumed) by the xscripts project init --template lib-cjs command.

A CJS template with GitHub Action workflows, CI/CD publishing and deployment automation scripts, and the like.

Published package not meant for public consumption! Do not install this!

Install

Note: NPM versions >=7 may need npm install --legacy-peer-deps until upstream peer dependency problems are resolved.

npm install @xunnamius/dummy-pkg-1
[additional details]

Note: you probably don't need to read through this! This information is primarily useful for those attempting to bundle this package or for people who have an opinion on ESM versus CJS.

This is a dual CJS2/ES module package. That means this package exposes both CJS2 and ESM entry points.

Loading this package via require(...) will cause Node and Webpack to use the CJS2 bundle entry point, disable tree shaking in Webpack 4, and lead to larger bundles in Webpack 5. Alternatively, loading this package via import { ... } from ... or import(...) will cause Node to use the ESM entry point in versions that support it, as will Webpack. Using the import syntax is the modern, preferred choice.

For backwards compatibility with Webpack 4 (compat with Webpack 4 is not guaranteed!) and Node versions < 14, package.json retains the module key, which points to the ESM entry point, and the main key, which points to the CJS2 entry point explicitly (using the .js file extension). For Webpack 5 and Node versions >= 14, package.json includes the exports key, which points to both entry points explicitly.

Though package.json includes { "type": "commonjs"}, note that the ESM entry points are ES module (.mjs) files. package.json also includes the sideEffects key, which is false for optimal tree shaking, and the types key, which points to a TypeScript declarations file.

Additionally, this package does not maintain shared state and so does not exhibit the dual package hazard. However, setting global configuration may not actually be "globally" recognized by third-party code importing this package.

Quick Start

import { sum } from '@xunnamius/dummy-pkg-1';

sum(2, 2); // = 4

Documentation

Project documentation can be found under docs/.

Contributing and Support

New issues and pull requests are always welcome and greatly appreciated! 🤩 Just as well, you can star 🌟 this project to let me know you found it useful! ✊🏿 Thank you!

See CONTRIBUTING.md and SUPPORT.md for more information.

About

⛔️ [DEPRECATED] [TEMPLATE] CJS/ESM dual library lens for Projector, a project management tool. This template is also a live example of a semantic-release + GitHub Actions CI/CD pipeline. Packages published by this repository are for example purposes only!

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks