angular-library-example icon indicating copy to clipboard operation
angular-library-example copied to clipboard

dependencies?

Open mailok opened this issue 7 years ago • 0 comments

Hi, I was testing this form to generate a library and I found a problem. In my code, I have a service from an external dependency:

export class AuthServerProvider {

  constructor(private http: HttpClient,
              private base64: JhiBase64Service,
              private $localStorage: LocalStorageService) {
  }

Then I added these to my build.js

const fsextra = require('fs-extra');
const { exec } = require('child_process');

fsextra.copy('./src/app/mbc-lib', './mbc-lib', err => {
  if (err) return console.error(err);
  console.log('Copied files');
  createDeclarations();
});

function createDeclarations() {
  exec('cd mbc-lib && tsc index.ts --declaration', () => {
    console.log('Generated declarations (and some JS files...)');
    createPackageJson();
  });
}

function createPackageJson() {
  const packageJSON =  {
    "name": "mbc-lib",
    "version": "0.1.0",
    "main": "index.js",
    "author": "[email protected]",
    "license": "MIT",
    "types": "index.d.ts",
    "dependencies": {
      "ng-jhipster": "^0.4.0",
      "ngx-webstorage": "^2.0.1"
    }
  };
  fsextra.writeJson('./mbc-lib/package.json', packageJSON, {spaces: 2}, err => {
    if (err) return console.error(err);
    console.log('Created package.json');
  });

}

but when I install my library (mbc-lib) In another project generated with angular-cli I do not install dependencies ng-jhipster or ngx-webstorage.

I tried to change "dependencies" from "peerDependencies" and still does not work.

In addition I have to remove this code:

 "include": [
      "./src/**/*",
      "./node_modules/mbc-lib/**/*.ts"
    ]

because it gives me error when ng-serve. my angular-cli is 1.7.2 version

mailok avatar Mar 14 '18 14:03 mailok