Wondering what’s next for npm?Check out our public roadmap! »

    codesearch

    0.1.2 • Public • Published

    Code Search

    NSP Status

    Searches and retrieves matching code snippets from GitHub

    Installation

    npm install codesearch --save

    Get a Token

    Sign up on GitHub and generate a personal access token from the Developer Settings page

    Functions

    • .token('TOKEN') - pass your personal access token as an argument
    • .search('TERM', 'LANGUAGE', callback) - returns a JSON with the results of the search via a callback
      • TERM: the term/word/function to search (ex: math.pow, addUser, setCookie etc.)
      • LANGUAGE: the programming language to search in (ex: javascript, php, ruby etc.)

    Usage

    const codeSearch = require('codesearch');
     
    codeSearch.token('TOKEN');
     
    codeSearch.search('math.pow', 'javascript', function (result) {
        // Use the result
    });
     

    JSON Structure

    The following is the structure of the resulting JSON file

    { 
      searchTerm: 'The search term used',
      searchLanguage: 'The search language used',
      generatedBy: 'The module name',
      generatedOn: 'The date in ISO format',
      searchResults: [ 
         { 
           similarityScore: 'The similarity of the result to the search term',
           codeAuthor: 'The author of the result',
           codeSnippet: 'The stringified version of the raw code snippet'
         }
      ] 
    }

    Example Result

    The value of the codeSnippet key can be parsed into normal text (without escape characters and other characters like \n and \t) by using JSON.parse()

    { 
      searchTerm: 'setcookie',
      searchLanguage: 'php',
      generatedBy: 'codesearch',
      generatedOn: '2018-02-22T02:12:38.813Z',
      searchResults: [ 
         { 
           similarityScore: 5.360942,
           codeAuthor: 'ManWangIT',
           codeSnippet: 'setCookie();' 
         },
         { 
           similarityScore: 5.315576,
           codeAuthor: 'eric1234',
           codeSnippet: '<?php\n  setcookie(\'cookie1\');\n  setcookie(\'cookie2\');\n?>\n' 
         },
         { 
           similarityScore: 5.0985513,
           codeAuthor: 'hugoribeiroab',
           codeSnippet: '<?php\r\n\t\t\t\tsetcookie("id");\r\n\t\t\t\tsetcookie("nome");\r\n\t\t\t\tsetcookie("sobrenome");\r\n\t\t\t\tsetcookie("ag");\r\n\t\t\t\tsetcookie("conta");\r\n\t\t\t\tsetcookie("ativo");\r\n\t\t\t\tsetcookie("agenciamoeda");\r\n\t\t\t\tsetcookie("agencianome");\r\n\t\t\t\theader("location: ./");\r\n?>' 
         }
      ] 
    }

    Tests

    Pass in your personal access token to run the tests

    npm test TOKEN

    Install

    npm i codesearch

    DownloadsWeekly Downloads

    0

    Version

    0.1.2

    License

    Apache-2.0

    Unpacked Size

    19.4 kB

    Total Files

    6

    Last publish

    Collaborators

    • avatar