Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "[@osd/cross-platform] Adds cross-platform helpers (#2681)" #2694

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
- [Vis Builder] Change classname prefix wiz to vb ([#2581](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/2581/files))
- [Vis Builder] Change wizard to vis_builder in file names and paths ([#2587](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/2587))
- [Windows] Facilitate building and running OSD and plugins on Windows platforms ([#2601](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/2601))
- [Windows] Add helper functions to work around the differences of platforms ([#2681](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/2681))
- [Multi DataSource] Address UX comments on Data source list and create page ([#2625](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/2625))
- [Vis Builder] Rename wizard to visBuilder in i18n id and formatted message id ([#2635](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/2635))
- [Vis Builder] Rename wizard to visBuilder in class name, type name and function name ([#2639](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/2639))
Expand Down
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,6 @@
"@osd/apm-config-loader": "1.0.0",
"@osd/config": "1.0.0",
"@osd/config-schema": "1.0.0",
"@osd/cross-platform": "1.0.0",
"@osd/i18n": "1.0.0",
"@osd/interpreter": "1.0.0",
"@osd/logging": "1.0.0",
Expand Down
5 changes: 2 additions & 3 deletions packages/osd-config-schema/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@
"osd:bootstrap": "yarn build"
},
"devDependencies": {
"@osd/cross-platform": "1.0.0",
"tsd": "^0.21.0",
"typescript": "4.0.2"
"typescript": "4.0.2",
"tsd": "^0.21.0"
},
"peerDependencies": {
"lodash": "^4.17.21",
Expand Down
6 changes: 3 additions & 3 deletions packages/osd-config-schema/src/errors/schema_error.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@
import { relative, sep } from 'path';
import { SchemaError } from '.';

import { standardize, PROCESS_WORKING_DIR } from '@osd/cross-platform';

/**
* Make all paths in stacktrace relative.
*/
Expand All @@ -48,7 +46,9 @@ export const cleanStack = (stack: string) =>
}

const path = parts[1];
const relativePath = standardize(relative(PROCESS_WORKING_DIR, path));
// Cannot use `standardize` from `@osd/utils
let relativePath = relative(process.cwd(), path);
if (process.platform === 'win32') relativePath = relativePath.replace(/\\/g, '/');

return line.replace(path, relativePath);
})
Expand Down
3 changes: 0 additions & 3 deletions packages/osd-cross-platform/README.md

This file was deleted.

15 changes: 0 additions & 15 deletions packages/osd-cross-platform/package.json

This file was deleted.

7 changes: 0 additions & 7 deletions packages/osd-cross-platform/src/index.ts

This file was deleted.

30 changes: 0 additions & 30 deletions packages/osd-cross-platform/src/path.ts

This file was deleted.

22 changes: 0 additions & 22 deletions packages/osd-cross-platform/src/process.ts

This file was deleted.

11 changes: 0 additions & 11 deletions packages/osd-cross-platform/tsconfig.json

This file was deleted.

1 change: 0 additions & 1 deletion packages/osd-optimizer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
"@babel/cli": "^7.16.0",
"@babel/core": "^7.16.5",
"@osd/babel-preset": "1.0.0",
"@osd/cross-platform": "1.0.0",
"@osd/dev-utils": "1.0.0",
"@osd/std": "1.0.0",
"@osd/ui-shared-deps": "1.0.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/osd-optimizer/src/optimizer/get_changes.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ import path from 'path';
jest.mock('execa');

import { getChanges } from './get_changes';
import { standardize } from '@osd/cross-platform';
import { standardize } from '@osd/dev-utils';

const execa: jest.Mock = jest.requireMock('execa');

Expand Down
1 change: 0 additions & 1 deletion packages/osd-plugin-generator/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
"osd:watch": "node scripts/build --watch"
},
"dependencies": {
"@osd/cross-platform": "1.0.0",
"@osd/dev-utils": "1.0.0",
"ejs": "^3.1.7",
"execa": "^4.0.2",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@ import Path from 'path';

import del from 'del';
import execa from 'execa';
import { standardize } from '@osd/cross-platform';
import { REPO_ROOT, createAbsolutePathSerializer } from '@osd/dev-utils';
import { REPO_ROOT, standardize, createAbsolutePathSerializer } from '@osd/dev-utils';
import globby from 'globby';

// Has to be a posix reference because it is used to generate glob patterns
Expand Down
1 change: 0 additions & 1 deletion packages/osd-plugin-helpers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
"osd:watch": "tsc --watch"
},
"dependencies": {
"@osd/cross-platform": "1.0.0",
"@osd/dev-utils": "1.0.0",
"@osd/optimizer": "1.0.0",
"del": "^5.1.0",
Expand Down
17 changes: 8 additions & 9 deletions packages/osd-plugin-helpers/src/cli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@

import Path from 'path';

import { PROCESS_WORKING_DIR } from '@osd/cross-platform';
import { RunWithCommands, createFlagError, createFailError } from '@osd/dev-utils';

import { findOpenSearchDashboardsJson } from './find_opensearch_dashboards_json';
Expand Down Expand Up @@ -80,10 +79,10 @@ export function runCli() {
throw createFlagError('expected a single --skip-archive flag');
}

const pluginDir = await findOpenSearchDashboardsJson(PROCESS_WORKING_DIR);
const pluginDir = await findOpenSearchDashboardsJson(process.cwd());
if (!pluginDir) {
throw createFailError(
`Unable to find OpenSearch Dashboards Platform plugin in [${PROCESS_WORKING_DIR}] or any of its parent directories. Has it been migrated properly? Does it have a opensearch_dashboards.json file?`
`Unable to find OpenSearch Dashboards Platform plugin in [${process.cwd()}] or any of its parent directories. Has it been migrated properly? Does it have a opensearch_dashboards.json file?`
);
}

Expand Down Expand Up @@ -149,30 +148,30 @@ export function runCli() {
allowUnexpected: true,
},
async run({ log, flags }) {
const pluginDir = await findOpenSearchDashboardsJson(PROCESS_WORKING_DIR);
const pluginDir = await findOpenSearchDashboardsJson(process.cwd());
if (!pluginDir) {
throw createFailError(
`Unable to find OpenSearch Dashboards Platform plugin in [${PROCESS_WORKING_DIR}] or any of its parent directories. Has it been migrated properly? Does it have a opensearch_dashboards.json file?`
`Unable to find OpenSearch Dashboards Platform plugin in [${process.cwd()}] or any of its parent directories. Has it been migrated properly? Does it have a opensearch_dashboards.json file?`
);
}

let dashboardsPackage;
try {
dashboardsPackage = await import(Path.join(PROCESS_WORKING_DIR, '../../package.json'));
dashboardsPackage = await import(Path.join(process.cwd(), '../../package.json'));
} catch (ex) {
throw createFailError(`Unable to parse the OpenSearch Dashboards' package.json file`);
}

let pluginPackage;
try {
pluginPackage = await import(Path.join(PROCESS_WORKING_DIR, 'package.json'));
pluginPackage = await import(Path.join(process.cwd(), 'package.json'));
} catch (ex) {
throw createFailError(`Unable to parse the plugin's package.json file`);
}

let manifestFile;
try {
manifestFile = await import(Path.join(PROCESS_WORKING_DIR, 'opensearch_dashboards.json'));
manifestFile = await import(Path.join(process.cwd(), 'opensearch_dashboards.json'));
} catch (ex) {
throw createFailError(`Unable to parse the plugin's opensearch_dashboards.json file`);
}
Expand Down Expand Up @@ -241,7 +240,7 @@ export function runCli() {

const context: VersionContext = {
log,
sourceDir: PROCESS_WORKING_DIR,
sourceDir: process.cwd(),
pluginVersion: updatedPluginVersion,
compatibilityVersion: updatedCompatibilityVersion,
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,12 @@ import Path from 'path';
import Fs from 'fs';

import execa from 'execa';
import { standardize } from '@osd/cross-platform';
import { REPO_ROOT, createStripAnsiSerializer, createReplaceSerializer } from '@osd/dev-utils';
import {
REPO_ROOT,
standardize,
createStripAnsiSerializer,
createReplaceSerializer,
} from '@osd/dev-utils';
import extract from 'extract-zip';
import del from 'del';
import globby from 'globby';
Expand Down
1 change: 0 additions & 1 deletion packages/osd-pm/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@
"write-pkg": "^4.0.0"
},
"dependencies": {
"@osd/cross-platform": "1.0.0",
"@osd/utils": "1.0.0",
"tslib": "^2.0.0"
}
Expand Down
2 changes: 1 addition & 1 deletion packages/osd-pm/src/utils/projects_tree.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
import chalk from 'chalk';
import path from 'path';

import { standardize } from '@osd/cross-platform';
import { standardize } from '@osd/utils';
import { Project } from './project';

const projectKey = Symbol('__project');
Expand Down
1 change: 0 additions & 1 deletion packages/osd-utils/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
},
"dependencies": {
"@osd/config-schema": "1.0.0",
"@osd/cross-platform": "1.0.0",
"load-json-file": "^6.2.0"
},
"devDependencies": {
Expand Down
26 changes: 25 additions & 1 deletion packages/osd-utils/src/path/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
* under the License.
*/

import { join } from 'path';
import { join, normalize } from 'path';
import { accessSync, constants } from 'fs';
import { TypeOf, schema } from '@osd/config-schema';
import { REPO_ROOT } from '../repo_root';
Expand Down Expand Up @@ -94,3 +94,27 @@ export const config = {
data: schema.string({ defaultValue: () => getDataPath() }),
}),
};

/**
* Get a standardized reference to a path
* @param {string} path - the path to standardize
* @param {boolean} [usePosix=true] - produce a posix reference
* @param {boolean} [escapedBackslashes=true] - on Windows, double-backslash the reference
* @internal
*/
export const standardize = (
path: string,
usePosix: boolean = true,
escapedBackslashes: boolean = true
) => {
/* Force os-dependant separators
* path.posix.normalize doesn't convert backslashes to slashes on Windows so we manually force it afterwards
*/
const normal = normalize(path);

// Filter out in-browser executions as well as non-windows ones
if (process?.platform !== 'win32') return normal;

if (usePosix) return normal.replace(/\\/g, '/');
return escapedBackslashes ? normal.replace(/\\/g, '\\\\') : normal;
};
3 changes: 1 addition & 2 deletions src/dev/build/lib/config.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,7 @@

import { resolve } from 'path';

import { standardize } from '@osd/cross-platform';
import { REPO_ROOT } from '@osd/utils';
import { REPO_ROOT, standardize } from '@osd/utils';
import { createAbsolutePathSerializer } from '@osd/dev-utils';

import pkg from '../../../../package.json';
Expand Down