The text, first agreed by the upper house Senate, passed its final legislative hurdle later in the evening when it was adopted by the lower house National Assembly dominated by President Emmanuel Macron’s ruling party.
The law also allows the government to take measures to support companies and backs up its decision to delay a second round of municipal elections, to June at the latest.
The text, based on legislation agreed after 2015 terror attacks in France, declares a “state of health emergency” along the lines of a state of emergency declared during a threat to national security.
The emergency lasts two months from the day of its adoption, and is renewable.
France has from Tuesday been in a nationwide lockdown, with only essential trips outside the house allowed, to battle the coronavirus that has already killed 674 and infected thousands more in the country.
Only a handful of lawmakers were physically present to pass the legislation, with most voting by proxy, in line with the social distancing rules currently in force to fight the coronavirus.
Adoption of the text by the Senate, which is controlled by the opposition, was impeded by wrangling between the two chambers, with right-wing parties fearing infringements on civil liberties.
“We are not in agreement on all the points,” said Bruno Retailleau, leader of the opposition Republicans in the Senate. “But we are voting for it as we don’t want to hold up the government’s action.”
The bill passed in the Senate by a show of hands.
It was then passed in a near-deserted National Assembly with lawmakers present only to represent factions and declare proxy voting in a procedure agreed by speaker Richard Ferrand.
Meanwhile, France’s civil security director general Alain Thirion said that police had booked people on 91,824 occasions for violating the lockdown regime, a transgression punishable by a fine of at least 135 euros ($145).