////////////////////////////////////////////////////////////////////////////
//
// Copyright 2021 Realm Inc.
//
// 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
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// 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.
//
////////////////////////////////////////////////////////////////////////////

/* eslint-env node */

const currentYear = new Date().getFullYear();

const header = [
  "//////////////////////////////////////////////////////////////////////////",
  "",
  { pattern: " Copyright \\d{4} Realm Inc.", template: ` Copyright ${currentYear} Realm Inc.` },
  "",
  ' 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",
  "",
  " http://www.apache.org/licenses/LICENSE-2.0",
  "",
  " 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.",
  "",
  "//////////////////////////////////////////////////////////////////////////",
];

module.exports = {
  plugins: ["header"],
  rules: {
    "header/header": ["error", "line", header],
  },
};