Code Monkey home page Code Monkey logo

packagecontrol.io's Introduction

My open source projects are primarily an artifact of various personal projects. Currently the only ones under active development are Package Control, asn1crypto and oscrypto.

I generally will add contributors to repos once they have shown a pattern of useful contributions, be it responding to issues or sending PRs.

packagecontrol.io's People

Contributors

apjanke avatar benmatselby avatar dentarg avatar fichtefoll avatar idleberg avatar ind1go avatar joneshf avatar ljuba-ned avatar nickdickinsonwilde avatar wbond avatar wmarquardt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

packagecontrol.io's Issues

Mention alphabetical order of packages in the repos (and tests) in docs

There is no mention for the package to be in alphabetical order on the https://sublime.wbond.net/docs/developers site, it should be added.

Also, mentioning the included tests should help to remove most failing commits from the pull request queue since users/dev will (hopefully) test their modifications before committing/pushing.

(Sorry that I'm opening so many issues but I consider this as a shared todo list and it will certainly help once someone decides to take on all or most of them.)

Add Docs About Files in Repo

Add some documentation about how every file in a repo is downloaded by every user. Thus package developers shouldn't host a bunch of images in their repo. We should do some testing to see if they can reference an image from one branch in the readme of another.

Website markdown parser

There is an issue with the way the markdown parser on the website handles lists.

This is the original, on GitHub:
https://github.com/p3lim/sublime-toxin#options

On the website, the list is not displayed as a list:
https://packagecontrol.io/packages/Theme%20-%20Toxin

I'm aware that by proper markdown syntax, I should probably add a newline before the actual list, but GitHub handles it gracefully. This might be an issue with the Markdown parser you're using, not the website itself, but should still be considered a bug.

(Originally submitted at the wrong repo here: wbond/package_control#912)

Wrong line references in dependency docs

In the dependency docs, at least the example-repository.json link points to the wrong lines, likely because the master branch has been updated since.

There are two ways to solve this:

  1. Point to the file version of a certain commit (e.g. latest as of writing). When viewing a file on github ina branch, press y for that.
  2. Always update the links in case something changes.

While usually both solutions require an update of the links to work perfectly,
2 has the advantage in that new information will always be displayed, just not always exactly where the highlight is, and 1 has the advantage of always pointing to the right lines.

The same probably applies to other github references on other pages.

Generating excessive whitespace

If you run view-source on the website, you'll see that there is an excessive amount of whitespace being generated on each li element, after the a tag.

Download counter for renamed packages

There's a problem with the download counter for packages that have been renamed. The overall counter restarts at zero once a package is renamed, while the statistics for the individual operating systems work as desired.

Add Versioning Info to Docs

Right now the implicit vs explicit versioning scheme is not evident to anyone who has not worked on the guts of PC.

Add Event Docs

Add docs about package event helpers for package developers

ctrl+shift+p (for search bar) opens a private session on firefox

I practically can't use the binding, even though I'm used to it from ST.

I think it should be possible to just prevent the event from propagating when it was processed to focus the search panel, since you'll rarely need that binding exactly when you are browsing the package listing. There are ofc bindings where this would not be an option, e.g. "ctrl+tab".

Lag in the search box

So, this is the same issue as reported at wbond/package_control#875, but it was really annoying for me for probably a year, which is why I finally decided to create an issue. I remember mentioning this at some point but probably only in a "by the way" clause.

Basically, what seems to be happening is that after a certain delay a "search" gets triggered for live preview and the search box is set with the text the search was issued with as the reply is received, which results in the following:

  1. Any text input entered between the submission of the "current" text value and the receival of the server's reply is just lost since it's replaced with the initial text of the search query.
  2. The caret is always put to the end of the input (and selection is cleared).

Certain timing is necessary to trigger 1. so that the text is entered during that short time frame.

Example show casing both cases:
As explained in the referenced issue, type "abc", then select all text using ctrl+a and type 123.
If I am fast enough I get asd23 or asd3 in the input field.

Add pages or redirect for old package urls

When opening the url to a package that has been renamed or merged into another package, you just get a 404. I suggest either setting up a redirect or displaying a special page that shows what happened (e.g. "was renamed to xy" (with link) ).

Relative (anchor) links in readmes

Example:

https://sublime.wbond.net/packages/InsertDate Usage > Screenshot > "Settings"

This is supposed to be a relative link to the settings section. The renderer, however, does not add the anchors from headers to the source and relativates the link to https://raw.githubusercontent.com/FichteFoll/sublimetext-insertdate/master/#settings, which is just wrong.

Add Docs About Windows 12057

Windows users seems to run into error 12057 a fair amount due to poorly configured proxy servers. We should create a docs page that Package Control can direct users to so they can change their internet settings.

It should have info similar to http://www.genopro.com/ssl/, but I'd rather put it on the Package Control site so we don't have to worry about that page going away.

GitHub Code Highlighting

As you know, GitHub allow you to use the three back-ticks followed by a syntax name such as ````json` which then changes the highlighting to be JSON specific.

This is really handy to see, so would it be possible to add this to the README which gets rendered on the package page?

Display a "source" link when the homepage of a github/bitbucket repo was overridden

Often times I want to browse a package's source code and search for it using the package listing. Then, every time a plugin author has set a different homepage I have to go to the issues link and then to the main repo which is kind of annoying.

(I don't know a single situation where I personally wanted to go to a site's "homepage" instead of the repo to check the source code.)

Display more github repo data

Github has a nice Watchers/Star gazers/Forks/Pull-requests statistic which usually indicates how much community activity you have for a particular package (in addition to the trend of installations)

I believe github api exposes these counds in the repo endpoint (except stargazers and pulls, which are available in the stargazers endpoint and the pulls endpoint . Also, both these APIs don't require authentication

It would be nice to see this data in a each package's page (or perhaps even in the homepage - as widgets for in each stat)

Process for reviewing packages on the package_control_channel repo

I'll use this ticket as a place to draft the process for reviewing packages. It will be updated over time when I feel like it. Eventually this should be added to packagecontrol.io.
This will allow us to introduce potentially more helpers to the process and can also serve as a checklist for experienced reviewers (such as myself) in case I forget something.


It is assumed that you know about the repository.json file format. See example-repository.json.

Reviewing a package addition to the default Package Control channel

  1. Review the pull request.
    1. Check if the tests are passing. If they are not, make the PR author aware of the issue and potentially link to the error line on travis-ci. Beware that there may be scenarios where the tests are incomplete, so always review the changes briefly by yourself.
    2. Check if there are no commits that modifiy an entire file and have 1000+ lines changed. It will completely mess up the history. Request the PR author to fix this by squashing/reverting/opening a new PR.
    3. As of Package Schema 3.0.0, branch-based versioning is not accepted anymore for new packages. They must use tags, even for multi-branched releases for separate ST2 and ST3 versions. There is an example for this in the example-repository.json file.
    4. Confirm that the user who authors the pull request has push access to the repo he wants to add. For an organization, check if the user is part of that organization or check if he pushed commits to the repo.
      If he does not have access, see if the repo's owner has given permission to adding the package to Package Control's default channel or get his acknowledgement in the pull request by mentioning him.
    5. Confirm that the package satisfies our package naming policies.
  2. Review the package.
    1. Read the Readme and assure that you somewhat understand what it does. If there is no readme or you don't understand it (e.g. it's written in a language you don't understand), ask the PR author to add a readme, translate it to English (if the package has an international audience) or ask for an explanation.
    2. Search for similar or duplicate packages on https://packagecontrol.io/. If there are any, see below for the "similar packagejs) exist(s)" section. Be smart in your search terms or remember adding a similar package previously.
    3. Check that the repository has correctly formatted semantic version tags with the appropriate prefix specified in the PR. If "tags": true, both no prefix and v will be recognized currently. (wbond/package_control#887)
    4. Check for specific files in the repository:
      1. *.pyc, *.cache binary files are auto-generated by Sublime Text and stored in the same folder in ST2. Unless the package does not ship the .py source files, request the author to remove those files.

      2. The .no-sublime-package file should only be used if really necessary since it complicates overriding and modifying packages locally. Such a file is needed if

        • The plugin code loads binary Python modules.
        • The package executes binaries included in the package itself using the subprocess module.
        • The package runs scripts included in the package using an external application, such as node.
        • A bug in Sublime Text prevents a certain feature to work if in archived state. (none known currently)

        It is not needed for bundling Python modules. Relative imports work in both ST2 and ST3 (although differently for ST2 in the package's root folder). If a module uses numerous absolute imports to import parts of itself (grrr) and an addition to sys.path is necessary, this should also work if the package is archived. TOTEST.

      3. package-metadata.json should not be present! Ask the author to remove it.

      4. If messages.json is present, check if it is correctly formatted (i.e. valid JSON, uses correct keys, specified files actually exist). (docs)

      5. Python plugins that use ST's API must be in the root folder of the repository, otherwise Sublime Text will not find them.

    5. If a package defines no Python plugins, it is generally compatible with all OSes. ST2&3 compatability may depend but is usually the case. Point out if the pull request's requirements are too restrictive.
    6. Optionally, review the source code of Python plugins.
      1. TODO
        major: close all (file) handles; check if the package considers being an archived package on ST3; check if package satisfies its install requirements compatability-wise (does the code work on ST2/3? Windows? does it perhaps work on more than specified?); try to guess if a plugin is taxing on performance
        minor: don't hardcode forward slashes for file paths; point out general flaws in code or give tips
  3. If package is a dependency:
    1. TODO

Reviewing a package change in the default Package Control channel

Generally the same steps as for when adding a package apply, except that you don't need to review the package since it has already been done when it was added. However, there are a few additional things to consider in certain situations.

  • For a repository rename, check if the old repository url redirects to the new. If it does not, mention that github has a feature that allows renaming a repository that adds 301 redirects and preserves issues and pull requests.
  • For a user rename, check that the old user (or repo) url http://github.com/OldFichteFoll redirects to the new user or repo url. This confirms that it was indeed a user rename and not a different user.
  • For a package rename (change of name attribute in package data), check that the old package name was added to the previous_names list.

Similar package(s) exist(s)

TODO

Cleaning up old pull requests

TODO


cc @wbond, @joneshf

Since I'll be away from 27th thru 8th it sounded like a good idea to do that now.

Seaching with(-out) spaces

If you search for "insertnum" you don't find https://packagecontrol.io/packages/Insert%20Nums.

If you search for "color sublime" you do find https://packagecontrol.io/packages/Colorsublime, but it's on page 5 (which is a different issue; it should be way higher since both word matches are in the name).

Since there is no established standard for package names, even though they should be PascalCase for compatability with Python importing, the website could be a bit smarter in that regard.
I suspect it won't be that easy.

Add "Renaming a Package" to the docs

Should include:

  • change the name field
  • add previous_names array
  • re-order package if necessary (and even cut into new file)
  • Make sure that the package itself does not have hard-coded references to its old package name

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.