2020 */
2121
2222import JSZip from 'jszip' ;
23- import * as semver from 'semver' ;
2423
2524import * as commonStorage from './common_storage' ;
2625import * as storageModule from './module' ;
2726import * as storageModuleContent from './module_content' ;
2827import * as storageNames from './names' ;
28+ import { upgradeProjectIfNecessary } from './upgrade_project' ;
2929
3030// Types, constants, and functions related to projects, regardless of where the projects are stored.
3131
@@ -37,7 +37,7 @@ export type Project = {
3737} ;
3838
3939const NO_VERSION = '0.0.0' ;
40- const CURRENT_VERSION = '0.0.1' ;
40+ export const CURRENT_VERSION = '0.0.1' ;
4141
4242type ProjectInfo = {
4343 version : string ,
@@ -62,7 +62,7 @@ export async function listProjectNames(storage: commonStorage.Storage): Promise<
6262 */
6363export async function fetchProject (
6464 storage : commonStorage . Storage , projectName : string ) : Promise < Project > {
65- await updateProjectIfNecessary ( storage , projectName ) ;
65+ await upgradeProjectIfNecessary ( storage , projectName ) ;
6666
6767 const modulePaths : string [ ] = await storage . listFilePaths (
6868 storageNames . makeModulePathRegexPattern ( projectName ) ) ;
@@ -545,7 +545,7 @@ async function deleteProjectInfo(
545545 await storage . deleteFile ( projectInfoPath ) ;
546546}
547547
548- async function fetchProjectInfo (
548+ export async function fetchProjectInfo (
549549 storage : commonStorage . Storage , projectName : string ) : Promise < ProjectInfo > {
550550 const projectInfoPath = storageNames . makeProjectInfoPath ( projectName ) ;
551551 let projectInfo : ProjectInfo ;
@@ -560,19 +560,3 @@ async function fetchProjectInfo(
560560 }
561561 return projectInfo ;
562562}
563-
564- // TODO(lizlooney): Move updateProjectIfNecessary to it's own file.
565- async function updateProjectIfNecessary (
566- storage : commonStorage . Storage , projectName : string ) : Promise < void > {
567- const projectInfo = await fetchProjectInfo ( storage , projectName ) ;
568- if ( semver . lt ( projectInfo . version , CURRENT_VERSION ) ) {
569- switch ( projectInfo . version ) {
570- case '0.0.0' :
571- // Project was saved without a project.info.json file.
572- // Nothing needs to be done to update to '0.0.1';
573- projectInfo . version = '0.0.1' ;
574- break ;
575- }
576- await saveProjectInfo ( storage , projectName ) ;
577- }
578- }
0 commit comments