*/.* will only include hidden files in subdirectories. but not in your current directory or subdirectories of subdirectories. try this
zip -r extension.xpi . -x ".*" or that
zip -r extension.xpi . -x .\*.
I guess the backslash should be the key, thats a quote from the manpage:
Explicitly exclude the specified files, as in:
zip -r foo foo -x \*.o
which will include the contents of foo in foo.zip while excluding all the
files that end in .o. The backslash avoids the shell filename substitution,
so that the name matching is performed by zip at all directory levels.