2.1.2 • Published 5 years ago

cpp-package-manager v2.1.2

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

Logo of the project

Cpp Package Manager · License: MIT Build status codecov npm version

This is a package manager for Cpp to give agility in development.

Installing / Getting started

npm install cpp-package-manager -g

This project provide three features for manager cpp package.

Init

cpm init

This command will generate a cpm.package.json file with the following properties:

{
  "name": "cpp-package-manager",
  "description": "This is a package manager for Cpp to give agility in development.",
  "version": "1.0.0"
}

After generate the file you can add packages with Git https url, just like the example:

"dependencies": [
    {
      "name": "complex-number",
      "url": "https://github.com/lucaslacerdacl/complex-number.git"
    }
  ]

Install

cpm install

This command will clone the projects and create the cpm_modules folder with packages already built in dist folder by each package.

.
└── cpm_modules
    └── complex_number
      ├── dist                   # Compiled files
      └── src

Build

cpm build

This command will generate binaries files in dist folder for all packages in cpm_modules.

Optionally you can create a config file called cpm.build.json just like the example:

{
  "fileName": "project.exe",
  "binaries": [
    "dist/main.o",
    "dist/calculator.o",
    "cpm_modules/complex-number/dist/complex.polar.o"
  ]
}

Version

cpm version

This command will print the current version installed on your device.

Log*

If any error occured a cpm.log.json file will be created showing date and the description of the error.

*This feature is not avaliable as command.

Developing

Built With

  • Node
  • NPM
  • Typescript
  • Chalk
  • Figlet
  • Inquirer
  • Lodash
  • Minimist
  • Nodegit
  • Jest

Prerequisites

You will need install Node. You will need install GNU Compiler Collection.

Deploying / Publishing

The project is build and release in Azure DevOps.

Versioning

This project is using the pattern MAJOR.MINOR.PATCH. You can read more in Semantic Versioning.

Tests

You can run:

npm run test

This command will run jest with code coverage.

This project is using ts-jest preset and run on src folder.

  "jest": {
    "preset": "ts-jest",
    "roots": [
      "src"
    ]
  }

Style guide

.
└── src
    ├── assets
    ├── options
    └── index.ts

Assets

Created in first moment to store project logo. In the future can used to hosted static files.

Options

All commands is in options folder. Each command has his own model and test.

Index

Get command and choose the options.

Api Reference

Check the proccess in Medium: Construindo um CLI com Node.js e TS.

Licensing

License under MIT.

2.1.2

5 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.17

5 years ago

2.0.16

5 years ago

2.0.15

5 years ago

2.0.14

5 years ago

2.0.13

5 years ago

2.0.12

5 years ago

2.0.11

5 years ago

2.0.10

5 years ago

2.0.9

5 years ago

2.0.8

5 years ago

2.0.7

5 years ago

2.0.6

5 years ago

2.0.5

5 years ago

2.0.4

5 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

6 years ago

2.0.0

6 years ago

1.9.5

6 years ago

1.9.4

6 years ago

1.9.3

6 years ago

1.9.2

6 years ago

1.9.1

6 years ago

1.9.0

6 years ago

1.8.1

6 years ago

1.8.0

6 years ago

1.7.7

6 years ago

1.7.6

6 years ago

1.7.5

6 years ago

1.7.4

6 years ago

1.7.3

6 years ago

1.7.2

6 years ago

1.7.1

6 years ago

1.7.0

6 years ago

1.6.2

6 years ago

1.6.1

6 years ago

1.6.0

6 years ago

1.4.0

6 years ago

1.3.0

6 years ago

1.2.0

6 years ago

1.1.0

6 years ago

1.0.0

6 years ago