Steven Silvester 7 年之前
父节点
当前提交
3198bfa544

+ 2 - 2
buildutils/src/add-sibling.ts

@@ -48,11 +48,11 @@ if (fs.existsSync(path.join(packagePath, 'node_modules'))) {
 }
 
 // Get the package.json of the extension.
-let data = require(path.join(packagePath, 'package.json'));
+let data = utils.readJSONFile(path.join(packagePath, 'package.json'));
 
 // Add the extension path to packages/all-packages/tsconfig.json
 let tsconfigPath = path.join(basePath, 'packages', 'all-packages', 'tsconfig.json');
-let tsconfig = require(tsconfigPath);
+let tsconfig = utils.readJSONFile(tsconfigPath);
 tsconfig.compilerOptions.paths[data.name] = [path.join('..', packageDirName, 'src')];
 fs.writeFileSync(tsconfigPath, JSON.stringify(tsconfig, null, 2) + '\n');
 

+ 2 - 1
buildutils/src/clean-packages.ts

@@ -6,11 +6,12 @@
 import * as fs from 'fs-extra';
 import * as path from 'path';
 import * as glob from 'glob';
+import { readJSONFile } from './utils';
 
 
 // Get all of the packages.
 let basePath = path.resolve('.');
-let lernaConfig = require(path.join(basePath, 'lerna.json'));
+let lernaConfig = readJSONFile(path.join(basePath, 'lerna.json'));
 let packageConfig = lernaConfig.packages;
 let skipSource = process.argv.indexOf('packages') === -1;
 let skipExamples = process.argv.indexOf('examples') === -1;

+ 5 - 5
buildutils/src/ensure-repo.ts

@@ -45,7 +45,7 @@ function ensureAllPackages(): string[] {
   let basePath = path.resolve('.');
   let allPackagesPath = path.join(basePath, 'packages', 'all-packages');
   let allPackageJson = path.join(allPackagesPath, 'package.json');
-  let allPackageData = require(allPackageJson);
+  let allPackageData = utils.readJSONFile(allPackageJson);
   let indexPath = path.join(allPackagesPath, 'src', 'index.ts');
   let index = fs.readFileSync(indexPath, 'utf8');
   let lines = index.split('\n').slice(0, 3);
@@ -113,7 +113,7 @@ function ensureJupyterlab(): string[] {
 
   let basePath = path.resolve('.');
   let corePath = path.join(basePath, 'jupyterlab', 'package.json');
-  let corePackage = require(corePath);
+  let corePackage = utils.readJSONFile(corePath);
 
   corePackage.jupyterlab.extensions = {};
   corePackage.jupyterlab.mimeExtensions = {};
@@ -127,7 +127,7 @@ function ensureJupyterlab(): string[] {
     let dataPath = path.join(pkgPath, 'package.json');
     let data: any;
     try {
-       data = require(dataPath);
+       data = utils.readJSONFile(dataPath);
     } catch (e) {
       return;
     }
@@ -185,7 +185,7 @@ function ensureIntegrity(): void {
     // Read in the package.json.
     let data: any;
     try {
-      data = require(path.join(pkgPath, 'package.json'));
+      data = utils.readJSONFile(path.join(pkgPath, 'package.json'));
     } catch (e) {
       return;
     }
@@ -212,7 +212,7 @@ function ensureIntegrity(): void {
 
   // Handle the top level package.
   let corePath: string = path.resolve('.', 'package.json');
-  let coreData: any = require(corePath);
+  let coreData: any = utils.readJSONFile(corePath);
   if (utils.ensurePackageData(coreData, corePath)) {
     messages['top'] = ['Update package.json'];
   }

+ 1 - 1
buildutils/src/get-dependency.ts

@@ -30,7 +30,7 @@ function getDependency(name: string): string {
     let packagePath = path.join(pkgRoot, 'package.json');
     let data: any;
     try {
-      data = require(packagePath);
+      data = utils.readJSONFile(packagePath);
     } catch (e) {
       return;
     }

+ 1 - 1
buildutils/src/make-release.ts

@@ -12,7 +12,7 @@ utils.run('npm run integrity');
 utils.run('npm run build:prod', { cwd: path.resolve('.', 'jupyterlab')});
 
 // Update the package.app.json file.
-let data = require('./package.json');
+let data = utils.readJSONFile('./package.json');
 data['scripts']['build'] = 'webpack';
 data['scripts']['watch'] = 'webpack --watch';
 data['jupyterlab']['outputDir'] = '..';

+ 1 - 1
buildutils/src/patch-release.ts

@@ -32,7 +32,7 @@ utils.run('npm version patch', { cwd: packagePath });
 utils.run('npm publish', { cwd: packagePath});
 
 // Extract the new package info.
-let data = require(path.join(packagePath, 'package.json'));
+let data = utils.readJSONFile(path.join(packagePath, 'package.json'));
 let name = data.name;
 let version = data.version;
 

+ 2 - 2
buildutils/src/remove-dependency.ts

@@ -18,7 +18,7 @@ if (process.argv.length !== 3) {
 let name = process.argv[2];
 
 // Handle the packages
-utils.getLernaPaths().forEach(function (pkgPath) {
+utils.getLernaPaths().forEach(pkgPath => {
   handlePackage(pkgPath);
 });
 handlePackage(path.resolve('.'));
@@ -32,7 +32,7 @@ function handlePackage(packagePath: string): void {
   packagePath = path.join(packagePath, 'package.json');
   let data: any;
   try {
-    data = require(packagePath);
+    data = utils.readJSONFile(packagePath);
   } catch (e) {
     console.log('Skipping package ' + packagePath);
     return;

+ 1 - 1
buildutils/src/update-dependency.ts

@@ -43,7 +43,7 @@ function handlePackage(packagePath: string): void {
   packagePath = path.join(packagePath, 'package.json');
   let data: any;
   try {
-    data = require(packagePath);
+    data = utils.readJSONFile(packagePath);
   } catch (e) {
     console.log('Skipping package ' + packagePath);
     return;

+ 10 - 0
buildutils/src/utils.ts

@@ -50,6 +50,16 @@ function ensurePackageData(data: any, pkgJsonPath: string): boolean {
   return false;
 }
 
+
+/**
+ * Read a package.json file.
+ */
+export
+function readJSONFile(filePath: string): any {
+  return JSON.parse(fs.readFileSync(filePath, 'utf8'));
+}
+
+
 /**
  * Run a command with terminal output.
  *