1.2.2 • Public • Published


Library for common JavaScript transforms and CSS used by both the Android and iOS Wikipedia apps


Presently we are consolidating duplicate Android and iOS Wikipedia app implementations of certain JavaScript transformations, such as image widening. Applib is where we are placing these consolidated JavaScript transform implementations.

What Applib is for

  • JavaScript transforms common to both the Android and iOS Wikipedia apps.

What Applib is not for

  • Android or iOS specific JS or CSS.
  • CSS unrelated to a particular JavaScript transform. In the future we may re-evaluate this for CSS common between the Android and iOS apps, but for right now the only CSS in Applib should be CSS directly needed by a particular JavaScript transform.

What Applib delivers

  • applib.js bundle of all transform JS
  • applib.css bundle of all CSS required by the bundled transform JS


File locations and naming

Example file names and locations for an image widening transform:

  • src/WidenImage.js - the transform. required
  • src/WidenImage.css - CSS used by the transform. optional
  • test/WidenImage.js - tests of the transform. required
  • test/fixtures/WidenImage.html - fixtures used by transform tests. optional

Changing styles

  • Prefer to modify classlist rather than style attributes. For example, WidenImage.js mentioned above could add/remove a class name from WidenImage.css to an element's classlist to help achieve image widening.

Function naming

Coming soon.

Style naming

Coming soon.

Development setup and workflow

Coming soon.



Copyright 2017 Wikimedia Foundation

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Package Sidebar


npm i applib

Weekly Downloads






Last publish


  • niedzielski