def execute_version(self) -> None: """ if self.bump == 'existing': self.preversion() self.refresh_package() version = self.json["version"] return elif self.bump == 'current': self.preversion() self.refresh_package() version = self.json["version"] shell.run(f"git tag {version} && git push -q --tags") self.version() shell.run(f"git add . && git commit -q -m ${version} && git push -q") self.postversion() else: shell.run(f'npm version {self.bump}') """ shell.run(f'npm version {self.bump}') self.refresh_package() for folder in [".dist", "dist", output_folder]: if os.path.isdir(folder): shutil.rmtree(folder) os.mkdir(output_folder)
def process_repository(self, repo: Repository, template: Template, args: Args): print(f"{Fore.BLUE}Initializing repository...") remote_url = ( f"https://github.com/AppalachiaInteractive/{repo.package.value}.git" ) if DRY_RUN: print(remote_url) return try: git_repo = git.Repo(repo.directory.value) except git.InvalidGitRepositoryError: can_create = do_ask( f'{Fore.YELLOW}The remote "origin" at {Fore.CYAN}[{remote_url}]{Fore.YELLOW} does not exist. {Fore.MAGENTA}Should we create it?', args.createrepo) if not can_create: return public = do_ask(f"{Fore.MAGENTA}Is this repository public?", args.repopublic) command = 'sh "{0}" "AppalachiaInteractive/{1}" {2} "{3}"'.format( os.path.join(get_home(), command_dir, "repo", "init.sh"), repo.package.value, "public" if public else "private", repo.description.value, ) print(command) run(command)
def process_generator(self, repo: Repository, template: Template): if template.generator == "": return print("Running generator...") command = f'{template.generator} && git add . && git commit -q -m "Adding project scaffolding" && git push -q' print(command) run(command)
def prepack(self): demarcate("[PREPACK]") self.changelog() self.releaselog() mods = "modifications.sh" if os.path.isfile(mods): shell.run(f"bash {mods}") shell.run( "git add . && git commit -m \"Updating changelog and releaselog\" && git push -q" )
def execute_package(self) -> Tuple[str, List[str]]: cwd = os.getcwd() dist_folder = os.path.join(cwd, output_folder) vsix = self.get_vsix_name() vsix_path = os.path.join(dist_folder, vsix) ext_path = os.path.join(cwd, 'extension.vsix') shell.run(f"vsce package -o {vsix_path}") shutil.copy(vsix_path, ext_path) os.chdir(dist_folder) shell.run(f'npm pack ..') os.chdir(cwd) package_path = self.get_package_path() return package_path, [vsix_path]
def execute_package(self) -> Tuple[str, List[str]]: if self.bump != 'existing': cwd = os.getcwd() dist_folder= os.path.join(cwd, output_folder) if (not os.path.isdir(dist_folder)): os.mkdir(dist_folder) os.chdir(dist_folder) shell.run(f'npm --quiet pack ..') os.chdir(cwd) try: package_path = self.get_package_path() except ValueError: self.bump = 'create' return self.execute_package() return package_path, []
def package(self): demarcate("[PACKAGE]") shell.run('webpack --mode production --devtool hidden-source-map')
def test(): demarcate("[TEST]") shell.run("mocha")
def release(self, package_path: str, additional_files : List[str]): package_path = f'./{package_path}' name = self.json["name"] version = self.json["version"] npmpfx=f'npm --quiet --registry {npm_registry}' try: shell.run(f'{npmpfx} unpublish \"{name}@{version}\"') except: pass shell.run(f'{npmpfx} --max-old-space-size=4096 publish \"{package_path}\"') file_args = self.get_gh_file_args(additional_files) tag = f'v{version}' shell.run(f'git push -q') shell.run(f'git fetch -q --tags -f && git pull -q --tags && git push -q --tags') try: shell.run(f'git tag -d {tag}') except: pass shell.run(f'git push origin :refs/tags/{tag}') try: shell.run(f'gh release delete {tag} -y') except: pass shell.run(f'gh release create {tag} \"{package_path}\" {file_args} -F RELEASELOG.md')
def releaselog(self): home = get_home() self.refresh_package() version = self.json["version"] shell.run(f"bash {home}/com.appalachia/appa/appa.sh docs releaselog {version}")
def releaselog(self): home = get_home() shell.run(f"bash {home}/com.appalachia/appa/appa.sh docs releaselog")
def lint(self): demarcate("[LINT]") shell.run("eslint src --ext ts")
def changelog(self): home = get_home() shell.run(f"bash {home}/com.appalachia/appa/appa.sh docs changelog")
def preversion(self): demarcate("[PREVERSION]") shell.run( "git fetch -q -p && git pull -q && git fetch -q --tags -f && git pull -q --tags && git push -q --tags" )
def compile(self): demarcate("[COMPILE]") shell.run("webpack")
def test_compile(self): demarcate("[TEST-COMPILE]") shell.run("tsc -p ./")
def test(self): demarcate("[TEST]") shell.run("./out/test/runTest.js")