diff --git a/packages/xod-project/src/patchPathUtils.js b/packages/xod-project/src/patchPathUtils.js index 22021a11..d984bf5b 100644 --- a/packages/xod-project/src/patchPathUtils.js +++ b/packages/xod-project/src/patchPathUtils.js @@ -72,6 +72,15 @@ export const getLibraryName = R.ifElse( R.always('@') ); +/** + * Converts `xod/core/something` into `@/something`, + * `@/another-one` will be unchanged. + */ +export const convertToLocalPath = R.compose( + getLocalPath, + getBaseName +); + // // Utils for terminal patches // diff --git a/packages/xod-project/src/project.js b/packages/xod-project/src/project.js index c23828e6..37ef2bab 100644 --- a/packages/xod-project/src/project.js +++ b/packages/xod-project/src/project.js @@ -1,6 +1,6 @@ import R from 'ramda'; import { Either, Maybe } from 'ramda-fantasy'; -import { explodeMaybe, notEmpty } from 'xod-func-tools'; +import { explodeMaybe, notEmpty, isAmong } from 'xod-func-tools'; import { BUILT_IN_PATCH_PATHS } from './builtInPatches'; import * as CONST from './constants'; @@ -197,7 +197,14 @@ export const listPatches = def( */ export const listPatchesWithoutBuiltIns = def( 'listPatches :: Project -> [Patch]', - R.compose(R.values, R.prop('patches')) + R.compose( + R.reject(R.compose( + isAmong(BUILT_IN_PATCH_PATHS), + Patch.getPatchPath + )), + R.values, + R.prop('patches') + ) ); /**