當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript monterey-pal.FS類代碼示例

本文整理匯總了TypeScript中monterey-pal.FS的典型用法代碼示例。如果您正苦於以下問題:TypeScript FS類的具體用法?TypeScript FS怎麽用?TypeScript FS使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了FS類的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: installNPMDependencies

  installNPMDependencies(project, deps = [], estimation = 'This could take minutes to complete') {
    let task = {
      title: `npm install of '${project.name}'`,
      estimation: estimation,
      logs: [],
      promise: null
    };

    let promise = NPM.install(deps, {
      npmOptions: {
        workingDirectory: FS.getFolderPath(project.packageJSONPath)
      },
      logCallback: (message) => {
        if (message.level === 'custom' || message.level === 'warning' || message.level === 'error') {
          this.taskManager.addTaskLog(task, message.message);
        }
      }
    });

    task.promise = promise;

    this.taskManager.addTask(task);

    return task;
  }
開發者ID:charlespockert,項目名稱:monterey,代碼行數:25,代碼來源:common.ts

示例2: tryInstallLauncherFromRemote

    async tryInstallLauncherFromRemote(platform, launcherPath) {
        try {
            let result = await this.getLauncher(platform, launcherPath);

            let root = FS.getRootDir();
            let file = await FS.downloadFile(result.remoteImagePath, root + "/images/app-launcher/" + platform + "/" + launcherPath + ".png");

            result.data.img = root + "/images/app-launcher/" + platform + "/" + launcherPath + ".png";
            result.data.enabled = true;

            this.state.appLaunchers.push(result);
        }
        catch(err) {
            throw new Error(`Failed to install ${platform}/${launcherPath} launcher: ${err.message}`);
        }
    }
開發者ID:charlespockert,項目名稱:monterey,代碼行數:16,代碼來源:launcher-manager.ts

示例3: getJspm016Path

 getJspm016Path(project, packageJSON) {
   let baseURL = '.';
   if (packageJSON.jspm.directories && packageJSON.jspm.directories.baseURL) {
     baseURL = packageJSON.jspm.directories.baseURL;
   }
   return FS.join(project.path, baseURL, 'config.js');
 }
開發者ID:charlespockert,項目名稱:monterey,代碼行數:7,代碼來源:jspm-detection.ts

示例4: getJspm017Path

 getJspm017Path(project, packageJSON) {
   // TODO: implement reading JSPM 0.17.x configuration
   let baseURL = '';
   if (packageJSON.jspm.directories && packageJSON.jspm.directories.baseURL) {
     baseURL = packageJSON.jspm.directories.baseURL;
   }
   return FS.join(project.path, baseURL, 'jspm.config.js');
 }
開發者ID:charlespockert,項目名稱:monterey,代碼行數:8,代碼來源:jspm-detection.ts

示例5: findJspmConfig

  async findJspmConfig(project) {
    let packageJSON = JSON.parse(await FS.readFile(project.packageJSONPath));
    let isUsingJSPM = false;
    let configJs = null;

    if (packageJSON.jspm) {

      await this.findJspmVersion(project, packageJSON);

      let jspm016Path = this.getJspm016Path(project, packageJSON);
      let jspm017Path = this.getJspm017Path(project, packageJSON);

      // we were unable to find JSPM in the devDependencies section of package.json
      // so we're just going to look for a config.js or a jspm.config.js
      // in order to try and determine what JSPM version is being used
      if (!project.jspmVersion) {
        if (await FS.fileExists(jspm016Path)) {
          project.configJsPath = jspm016Path;
          project.jspmVersion = '^0.16.0';
          project.jspmDefinition = '^0.16.0';
        } else if (await FS.fileExists(jspm017Path)) {
          project.configJsPath = jspm016Path;
          project.jspmVersion = '^0.17.0';
          project.jspmDefinition = '^0.17.0';
        }
      } else {
        let major = parseInt(project.jspmVersion.split('.')[0], 10);
        let minor = parseInt(project.jspmVersion.split('.')[1], 10);
        if (major === 0) {
          if (minor < 17) {
            project.configJsPath = jspm016Path;
          } else {
            project.configJsPath = jspm017Path;
          }
        }
      }

      if (project.configJsPath && project.jspmVersion) {
        isUsingJSPM = true;
      }
    }

    project.isUsingJSPM = isUsingJSPM;
  }
開發者ID:charlespockert,項目名稱:monterey,代碼行數:44,代碼來源:jspm-detection.ts

示例6: openDialog

  /**
  * Opens a folder dialog and adds the selected folder as a project
  */
  async openDialog() {
    let projectFolder = await FS.showOpenDialog({
      title: 'Select a project folder',
      properties: ['openDirectory']
    });

    if (projectFolder && projectFolder.length > 0) {
      return this.projectManager.addProjectByPath(projectFolder[0]);
    }

    return false;
  }
開發者ID:charlespockert,項目名稱:monterey,代碼行數:15,代碼來源:project-finder.ts

示例7: tryLocatePackageJSON

  async tryLocatePackageJSON(project, p) {
    if (await FS.fileExists(p)) {
      project.packageJSONPath = FS.normalize(p);

      let packageJSON = await this.getPackageJSON(project);

      // if the project already has a name then it has just been scaffolded
      if (project.name) {
        // check if the name of the project is equal to the name mentioned in package.json
        if (packageJSON.name !== project.name) {
          // if not, update package.json to use the project name and persist this to the filesystem
          packageJSON.name = project.name;
          await FS.writeFile(project.packageJSONPath, JSON.stringify(packageJSON, null, 4));
        }
      }

      project.name = packageJSON.name;
      return true;
    }

    return false;
  }
開發者ID:charlespockert,項目名稱:monterey,代碼行數:22,代碼來源:index.ts

示例8: manuallyLocatePackageJSON

  async manuallyLocatePackageJSON(project) {
    alert('Unable to find package.json, please point Monterey to package.json');
    let paths = await FS.showOpenDialog({
      title: 'Please select your package.JSON file',
      properties: ['openFile'],
      defaultPath: project.path,
      filters: [
        {name: 'package', extensions: ['json']}
      ]
    });

    if (paths && paths.length > 0) {
      return await this.tryLocatePackageJSON(project, paths[0]);
    }

    return false;
  }
開發者ID:charlespockert,項目名稱:monterey,代碼行數:17,代碼來源:index.ts

示例9: openDialog

  async openDialog(): Promise<Array<Project> | boolean> {
    let projectFolders: Array<string> = await FS.showOpenDialog({
      title: 'Select a project folder',
      properties: ['openDirectory', 'multiSelections']
    });

    if (projectFolders) {
      let projects = [];
      for (let x = 0; x < projectFolders.length; x++) {
        projects.push(await this.projectManager.addProjectByPath(projectFolders[x]));
      }

      return projects;
    }

    return false;
  }
開發者ID:Thanood,項目名稱:monterey,代碼行數:17,代碼來源:project-finder.ts

示例10: analyze

  async analyze(project) {
    let packageJSON = JSON.parse(await FS.readFile(project.packageJSONPath));
    let deps = Object.assign({}, packageJSON.dependencies, packageJSON.devDependencies);
    let topLevelDependencies = [];

    // normalize data for the grid
    let keys = Object.keys(deps);
    for (let i = 0; i < keys.length; i++) {
      let key = keys[i];
      let dep = deps[key];

      topLevelDependencies.push({
        name: key,
        range: deps[key]
      });
    }

    return topLevelDependencies;
  }
開發者ID:charlespockert,項目名稱:monterey,代碼行數:19,代碼來源:analyzer.ts


注:本文中的monterey-pal.FS類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。