{"id":16636345,"url":"https://github.com/s-ol/jsshuffle","last_synced_at":"2025-06-10T15:07:58.376Z","repository":{"id":19852435,"uuid":"23114696","full_name":"s-ol/jsshuffle","owner":"s-ol","description":"A library to just-in-time randomly obfuscate JS. ","archived":false,"fork":false,"pushed_at":"2014-08-25T07:51:57.000Z","size":228,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-12T01:15:49.770Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/s-ol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-19T15:09:55.000Z","updated_at":"2017-08-03T01:58:26.000Z","dependencies_parsed_at":"2022-08-25T23:22:02.363Z","dependency_job_id":null,"html_url":"https://github.com/s-ol/jsshuffle","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-ol%2Fjsshuffle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-ol%2Fjsshuffle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-ol%2Fjsshuffle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-ol%2Fjsshuffle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/s-ol","download_url":"https://codeload.github.com/s-ol/jsshuffle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s-ol%2Fjsshuffle/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259098556,"owners_count":22804789,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T06:06:34.435Z","updated_at":"2025-06-10T15:07:58.346Z","avatar_url":"https://github.com/s-ol.png","language":"Ruby","readme":"jsshuffle ![Gem Version](https://badge.fury.io/rb/jsshuffle.svg)\n================================================================\n\nA library to just-in-time randomly obfuscate JS. \n\n\nInstallation\n------------\n\n    $ gem install jsshuffle\n\nand \n\n    require 'jsshuffle'\n\nshould be enough to get you up and running.\n\nFor rails, just add _jsshuffle_ to your Gemfile:\n\n    gem 'jsshuffle', group: :production\n\n\nUsage\n-----\n\n_jsshuffle_ can be used standalone and as a Ruby library.\n\nThe standalone executable takes a filename as a parameter or reads the input from `STDIN` and outputs on `STDOUT`:\n\n    $ jsshuffle \u003c\u003cEOF\n    \u003e var test = 13;\n    \u003e test = (test + 13) * 7;\n    \u003e alert( test );\n    \u003e EOF\n    var dqkwxnvj = 13;\n    dqkwxnvj = (dqkwxnvj + 13) * 7;\n    alert(dqkwxnvj);\n\nTo use _jsshuffle_ in your own Ruby project, instantiate `JsShuffle::Shuffler`:\n\n    require 'jsshuffle'\n\n    shuffler = JsShuffle::Shuffler.new use: :variable_renaming\n\n    puts shuffler.shuffle js: %Q(\n        var variable = \"variable\";\n        function newFunc( parameter ) {\n            return parameter + \" is a cool parameter.\";\n        }\n\n        console.log( newFunc( variable ) );\n    )\n\nExtending JsShuffle\n-------------------\n\nYou can sublcass `JsShuffle::Methods::Method` and pass the new class as a `use:` argument to `Shuffler#new` or alternatively pass a Block or Proc.  \nFor more information view the RDoc.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs-ol%2Fjsshuffle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fs-ol%2Fjsshuffle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs-ol%2Fjsshuffle/lists"}