✨ Properly credit deps and assets in your projects in a pretty way.

Overview

Acknowledgements

Properly credit deps and assets in your projects in a pretty way.

About

Acknowledgments is a CLI tool that generates a JSON file with a list of all the local dependencies from package.json, as well as ones you add yourself, with exports to many file types (CSV, TOML, HTML, YAML and Markdown).

Using Acknowledgements in the Terminal, with specified Markdown output. 9 dependencies are added in 29ms.

Installation

npm install --global acknowledgements
# OR
yarn global add acknowledgements
# OR
pnpm add --global acknowledgements

Installing locally will also work.

Usage

# From the root of the project
ack

# With a specified folder
ack packages/my-package # or yarn ack

# With Acknowledgements installed locally
npx ack # or yarn ack

This command by default only generates a JSON file with your installed dependencies. (Example)

You can also export to CSV, HTML, Markdown, TOML or YAML using the --formats flag using an array of these file types. Example:

ack --formats csv html md toml yaml # or -F instead of formats

Acknowledgements skips devDependencies by default. To include them, use the --include-dev flag.

ack --include-dev # or -D

You can also recursively read the dependencies of your project's dependencies. For that, use the --recursive flag.

ack --recursive # or -R

Manually adding credits

If you're working on a project where you need to credit external projects that are not in your package.json (e.g. a game where you want to credit a set of textures, music pieces, etc.), Acknowledgements provides a add command.

ack add

This will prompt you to choose a name, URL and author name.

Using the ack add command. The example shows the crediting of John Doe for "Leaf textures".

Note: Adding credits manually will keep them forever in your credits.json, unless you remove them. Manual credits have a "type" property of "MANUAL_CREDIT".

Advanced usage

This command recursively reads dependencies, includes all developer deps and exports to JSON and Markdown.

ack -R -D -F md # Short hand for --recursive --include-dev --formats md

To automatically run Acknowledgements after adding a dependency, add it to a postinstall script in your package.json like so:

{
  {
    "script": {
      //...
      "postinstall": "ack" // replace "ack" with whatever script you want
    }
  }
}

Note that this will not work after uninstalling a dependency, as mentioned in the npm documentation

Roadmap

  • Have an actual README
  • Command to manually add new stuff to credit
  • Option to ignore @types/ devDependencies in credits
  • Customize Markdown header
  • Support monorepo merging to one file
  • Support more output types
  • Support multiple files
  • Support for non-Node projects
  • Recursively find dependencies' dependencies
You might also like...

Catalogist is the easy way to catalog and make your software and (micro)services visible to your organization in a lightweight and developer-friendly way.

Catalogist is the easy way to catalog and make your software and (micro)services visible to your organization in a lightweight and developer-friendly way.

catalogist 📚 📓 📒 📖 🔖 The easy way to catalog and make your software and (micro)services visible to your organization through an API You were a pe

Dec 13, 2022

🎨 Beautify your github profile with this amazing tool, creating the readme your way in a simple and fast way 🚀 The best profile readme generator you will find ⚡

🎨 Beautify your github profile with this amazing tool, creating the readme your way in a simple and fast way 🚀 The best profile readme generator you will find ⚡

Demo Profile Readme Generator The best profile readme generator you will find! About | Technologies | Requirements | Starting | Contributing 🎯 About

Jan 1, 2023

An open-source, pretty, simple and fast meilisearch UI for managing your meilisearch instances

Meilisearch-UI An open-source, pretty, simple and fast meilisearch UI for managing your meilisearch instances [IMPORTANT] The main branch may be unsta

Dec 29, 2022

Get discord application's assets in case you don't have them on your PC

Get discord application's assets in case you don't have them on your PC

get-discord-app-assets Get discord application's assets in case you don't have them on your PC (this is also the reason why I made this script) I came

Dec 25, 2022

A javascript framework for developing pretty browser dialogs and notifications.

A javascript framework for developing pretty browser dialogs and notifications.

AlertifyJS AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications. AlertifyJS is an extreme makeover of alertify

Jan 2, 2023

A lightweight JavaScript library for creating interactive maps and pretty data visualization.

A lightweight JavaScript library for creating interactive maps and pretty data visualization.

Jsvectormap A lightweight Javascript library for creating interactive maps and pretty data visualization. Explore docs . Report bug · View demo · Down

Dec 24, 2022

Yet another library for generating NFT artwork, uploading NFT assets and metadata to IPFS, deploying NFT smart contracts, and minting NFT collections

eznft Yet another library for generating NFT artwork, uploading NFT assets and metadata to IPFS, deploying NFT smart contracts, and minting NFT collec

Sep 21, 2022

A pretty cool org-mode - interactive blog post tool

Radish A kinda-cool org-mode - interactive blog post tool written with and for Clojure(script). Here are two example posts created with this tool: Ra

Dec 28, 2021

Pretty Cool Elements

Pretty Cool Elements Social Media Photo by Jamison McAndie on Unsplash This module is a follow up of this Medium post, and it provides element mixins/

Dec 23, 2022
Releases(v1.2.0)
  • v1.2.0(Aug 29, 2022)

  • v1.1.0(Aug 9, 2022)

    • Added version prop to JSON output
    • Dependencies are now organised alphabetically in JSON output
    • Removed --force flag
    • Removed individual dependency logging
    • Rewrote to be way faster using node_modules instead of the npm API:
      • Test in creative-toolkit (yarn ack --include-dev):
        • 1.0.0: Done in 12.1s
        • 1.1.0: Done in 0.39s
    • Added execution time to the console output
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Aug 8, 2022)

Owner
Clembs
developer & designer
Clembs
Evolve is an online investment portfolio management system where users can keep track of all the assets that they have invested in and how well their assets are performing.

Evolve is an online investment portfolio management system where users can keep track of all the assets that they have invested in and how well their assets are performing.

Indrajit 6 Oct 16, 2022
Create, sign & decode Solana transactions with minimum deps

micro-sol-signer Create, sign & decode Solana transactions with minimum deps. Tiny: 674 LOC, 3K LOC with all deps bundled No network code in main pack

Paul Miller 32 Nov 23, 2022
Create, sign & decode BTC transactions with minimum deps.

micro-btc-signer Create, sign & decode BTC transactions with minimum deps. ?? Small: ~2.2K lines Create transactions, inputs, outputs, sign them No ne

Paul Miller 19 Dec 30, 2022
This monorepo stores all code and assets of all projects with which we develop regels.overheid.nl

Welcome Introduction In 2021 Utrecht started developing the Virtual Income Desk with Open Rules. An initiative with the aim for citizens to always and

Ministerie van Binnenlandse Zaken en Koninkrijksrelaties 5 Dec 8, 2022
A free & open source project to save your passwords, notes & credit cards

Free & open source project to save your passwords, notes & credit cards with a clean console UI with multiples features such as show information/create information/delete information

null 4 Aug 8, 2022
Venni backend - The backend of the Venni client apps implementing the credit card payments, matching algorithms, bank transfers, trip rating system, and more.

Cloud Functions Description This repository contains the cloud functions used in the Firebase backend of the Venni apps. Local Development Setup For t

Abrantes 1 Jan 3, 2022
A jQuery-free general purpose library for building credit card forms, validating inputs and formatting numbers.

A jQuery-free general purpose library for building credit card forms, validating inputs and formatting numbers.

Jesse Pollak 528 Dec 30, 2022
To understand the history of SACCOs, a Savings and Credit cooperative otherwise known as a Sacco is a type of corporation that aims at pooling money together.

To understand the history of SACCOs, a Savings and Credit cooperative otherwise known as a Sacco is a type of corporation that aims at pooling money together. Depending on the Saccos, there are different types of supplies of merchandise. These include and are not limited to recognition servers, sedimentation, and call home eggs installation. More to these items include check glades, bankers, checks standing orders and safe detentions, and salary progress.

incredicoder 2 Oct 19, 2022
A carbon credit marketplace for permanent removal (HackMIT 22 Project)

Bamboo HackMIT Project Link: https://spectacle.hackmit.org/project/173 Demo video: https://youtu.be/gmk8nwtwqiE Bamboo is a trading platform for carbo

null 2 Oct 8, 2022
More than a Password Protection and Management tool, it secures all your valuable digital assets in your own vault

ZeroPass Client ZeroPass is more than a Password Protection and Management tool, it secures all your valuable digital assets in your own vault, includ

null 6 Aug 22, 2022