Skip to content

gplassard/projen-extensions

Repository files navigation

Projen extensions

Projen modules (work in progress).

Usage

Requirements

For a rust project

yarn init
echo "@gplassard:registry=https://npm.pkg.github.com" > .npmrc
yarn add -D projen @gplassard/projen-extensions

Create a .projenrc.js file (see below)

// .projenrc.js
const { RustProject } = require('@gplassard/projen-extensions');

const project = new RustProject({
   name: 'projectName',
   cargo: {
      package: {
         authors: ["user <user@mail.com>"],
         version: 'version',
         edition: "2021",
      },
      dependencies: {
          // your dependencies
          'fs2': '0.4.3',
      }
   }
});
project.synth();
yarn projen # will generate your project files

For a typescript project

yarn init
echo "@gplassard:registry=https://npm.pkg.github.com" > .npmrc
yarn add -D projen @gplassard/projen-extensions ts-node typescript

Create a .projenrc.ts file (see below)

For an application

// .projenrc.ts
import { TypescriptApplicationProject } from '@gplassard/projen-extensions';

// opinionated wrapper around projen TypeScriptProject
const project = new TypescriptApplicationProject({
    name: 'projectName',
});
project.synth();

For a library

// .projenrc.ts
import { TypescriptLibraryProject } from '@gplassard/projen-extensions';

// opinionated wrapper around projen TypeScriptProject for libraries
const project = new TypescriptLibraryProject({
    name: 'projectName', 
    packageName: 'test-project-package-name',
});
project.synth();
yarn ts-node .projenrc.ts # will generate your project files

Resources