* */ namespace Combodo\iTop\Dependencies\NPM; use Combodo\iTop\Dependencies\AbstractFolderAnalyzer; class iTopNPM extends AbstractFolderAnalyzer { /** @inheritDoc */ public const QUESTIONNABLE_FOLDER_REGEXP = '/^(tests?|examples?|htdocs?|demos?|website|external|libs?|src|.github|.idea)$/i'; /** * @inheritDoc */ protected function GetDependenciesRootFolderRelPath(): string { return "node_modules/"; } /** * @inheritDoc */ public function ListAllowedFoldersRelPaths(): array { return [ 'ace-builds/textarea/src', // Unknown usage 'commander/lib', // Unknown usage 'jquery-contextmenu/src', // Used sources 'magnific-popup/libs', // Unknown usage 'toastify-js/src', // Used sources ]; } /** * @inheritDoc */ public function ListDeniedFoldersRelPaths(): array { return [ '@popperjs/core/dist/cjs', '@popperjs/core/dist/esm', '@popperjs/core/lib', // ACE Editor see https://www.npmjs.com/package/ace-builds for dir contents 'ace-builds/.github', 'ace-builds/demo', 'ace-builds/src', 'ace-builds/src-min-noconflict', 'ace-builds/src-noconflict', 'c3/htdocs', 'c3/src', 'clipboard/.github', 'clipboard/demo', 'clipboard/src', 'clipboard/test', 'd3/src', 'delegate/demo', 'delegate/src', 'delegate/test', 'good-listener/demo', 'good-listener/src', 'good-listener/test', 'jquery/src', 'jquery-contextmenu/src', 'jquery-migrate/.github', 'jquery-migrate/.idea', 'jquery-migrate/src', 'jquery-migrate/test', // `jquery-ui` package is just there for vulnerability scans, so we don't want to version its files (only `jquery-ui-dist` is used within the code base) 'jquery-ui/.github', 'jquery-ui/build', 'jquery-ui/dist', 'jquery-ui/external', 'jquery-ui/themes', 'jquery-ui/ui', 'jquery-ui-dist/external', 'magnific-popup/libs/jquery', 'magnific-popup/src', 'magnific-popup/website', 'moment/src', 'mousetrap/plugins/record/tests', 'mousetrap/tests', 'select/demo', 'select/src', 'select/test', 'selectize-plugin-a11y/examples', 'tiny-emitter/test', 'toastify-js/example', ]; } }