From 18139238a4cedb1a457b3be24fdacb05568949de Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Thu, 21 May 2020 15:54:02 +0200 Subject: [PATCH] packages/cli: move plugin diff modules to separate diff lib --- .../plugin/{diff/index.ts => diff.ts} | 7 ++++--- .../{commands/plugin => lib}/diff/handlers.ts | 6 +++--- packages/cli/src/lib/diff/index.ts | 20 +++++++++++++++++++ .../{commands/plugin => lib}/diff/prompts.ts | 0 .../src/{commands/plugin => lib}/diff/read.ts | 12 +++++------ .../{commands/plugin => lib}/diff/types.ts | 0 6 files changed, 32 insertions(+), 13 deletions(-) rename packages/cli/src/commands/plugin/{diff/index.ts => diff.ts} (92%) rename packages/cli/src/{commands/plugin => lib}/diff/handlers.ts (97%) create mode 100644 packages/cli/src/lib/diff/index.ts rename packages/cli/src/{commands/plugin => lib}/diff/prompts.ts (100%) rename packages/cli/src/{commands/plugin => lib}/diff/read.ts (93%) rename packages/cli/src/{commands/plugin => lib}/diff/types.ts (100%) diff --git a/packages/cli/src/commands/plugin/diff/index.ts b/packages/cli/src/commands/plugin/diff.ts similarity index 92% rename from packages/cli/src/commands/plugin/diff/index.ts rename to packages/cli/src/commands/plugin/diff.ts index 6300ff64d8..542b94b0ff 100644 --- a/packages/cli/src/commands/plugin/diff/index.ts +++ b/packages/cli/src/commands/plugin/diff.ts @@ -15,13 +15,14 @@ */ import { Command } from 'commander'; -import { readTemplateFiles } from './read'; -import { handlers, handleAllFiles } from './handlers'; import { + readTemplateFiles, + handlers, + handleAllFiles, inquirerPromptFunc, makeCheckPromptFunc, yesPromptFunc, -} from './prompts'; +} from '../../lib/diff'; const fileHandlers = [ { diff --git a/packages/cli/src/commands/plugin/diff/handlers.ts b/packages/cli/src/lib/diff/handlers.ts similarity index 97% rename from packages/cli/src/commands/plugin/diff/handlers.ts rename to packages/cli/src/lib/diff/handlers.ts index 87518eab3e..643c018ddc 100644 --- a/packages/cli/src/commands/plugin/diff/handlers.ts +++ b/packages/cli/src/lib/diff/handlers.ts @@ -18,7 +18,7 @@ import fs from 'fs-extra'; import chalk from 'chalk'; import { dirname } from 'path'; import { diffLines } from 'diff'; -import { paths } from '../../../lib/paths'; +import { paths } from '../paths'; import { TemplateFile, PromptFunc, FileHandler } from './types'; export async function writeTargetFile(targetPath: string, contents: string) { @@ -221,8 +221,8 @@ export async function handleAllFiles( ) { for (const file of files) { const { targetPath } = file; - const fileHandler = fileHandlers.find((handler) => - handler.patterns.some((pattern) => + const fileHandler = fileHandlers.find(handler => + handler.patterns.some(pattern => typeof pattern === 'string' ? pattern === targetPath : pattern.test(targetPath), diff --git a/packages/cli/src/lib/diff/index.ts b/packages/cli/src/lib/diff/index.ts new file mode 100644 index 0000000000..04c5ee2e45 --- /dev/null +++ b/packages/cli/src/lib/diff/index.ts @@ -0,0 +1,20 @@ +/* + * Copyright 2020 Spotify AB + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +export * from './handlers'; +export * from './prompts'; +export * from './read'; +export * from './types'; diff --git a/packages/cli/src/commands/plugin/diff/prompts.ts b/packages/cli/src/lib/diff/prompts.ts similarity index 100% rename from packages/cli/src/commands/plugin/diff/prompts.ts rename to packages/cli/src/lib/diff/prompts.ts diff --git a/packages/cli/src/commands/plugin/diff/read.ts b/packages/cli/src/lib/diff/read.ts similarity index 93% rename from packages/cli/src/commands/plugin/diff/read.ts rename to packages/cli/src/lib/diff/read.ts index a05d7166e2..b408da94e9 100644 --- a/packages/cli/src/commands/plugin/diff/read.ts +++ b/packages/cli/src/lib/diff/read.ts @@ -18,8 +18,8 @@ import fs from 'fs-extra'; import { relative as relativePath } from 'path'; import handlebars from 'handlebars'; import recursiveReadDir from 'recursive-readdir'; -import { paths } from '../../../lib/paths'; -import { version } from '../../../lib/version'; +import { paths } from '../paths'; +import { version } from '../version'; import { PluginInfo, TemplateFile } from './types'; // Reads info from the existing plugin @@ -64,11 +64,9 @@ export async function readTemplate( templateDir: string, templateVars: any, ): Promise { - const templateFilePaths = await recursiveReadDir(templateDir).catch( - (error) => { - throw new Error(`Failed to read template directory: ${error.message}`); - }, - ); + const templateFilePaths = await recursiveReadDir(templateDir).catch(error => { + throw new Error(`Failed to read template directory: ${error.message}`); + }); const templateFiles = new Array(); for (const templateFile of templateFilePaths) { diff --git a/packages/cli/src/commands/plugin/diff/types.ts b/packages/cli/src/lib/diff/types.ts similarity index 100% rename from packages/cli/src/commands/plugin/diff/types.ts rename to packages/cli/src/lib/diff/types.ts